×
Namespaces

Variants
Actions
(Difference between revisions)

Using hardware keys with S60 and Maemo Platform

From Nokia Developer Wiki
Jump to: navigation, search
ebra (Talk | contribs)
(Maemo Platform)
ebra (Talk | contribs)
(Maemo Platform)
Line 25: Line 25:
 
     MainView* result = g_new0( MainView, 1 );
 
     MainView* result = g_new0( MainView, 1 );
 
     ...
 
     ...
      /* Add hardware button listener to application */
+
    /* Add hardware button listener to application */
 
     g_signal_connect(G_OBJECT(result->data->window),
 
     g_signal_connect(G_OBJECT(result->data->window),
 
         "key_press_event", G_CALLBACK(callback_key_press), result);
 
         "key_press_event", G_CALLBACK(callback_key_press), result);

Revision as of 16:32, 14 November 2007


Introduction

S60 Platform

Maemo Platform

typedef struct _AppData AppData;
 
struct _AppData
{
HildonProgram *program; /* handle to application */
HildonWindow *window; /* handle to app's window */
osso_context_t *osso; /* handle to osso */
};
/* Creates and initialises a main_view */
MainView* interface_main_view_new( AppData *data )
{
/* Zero memory with g_new0 */
MainView* result = g_new0( MainView, 1 );
...
/* Add hardware button listener to application */
g_signal_connect(G_OBJECT(result->data->window),
"key_press_event", G_CALLBACK(callback_key_press), result);
...
}
/* Callback for hardware keys */
gboolean callback_key_press(GtkWidget * widget, GdkEventKey * event, gpointer data)
{
switch (event->keyval) {
case GDK_Up:
callback_up( NULL, data );
return TRUE;
 
case GDK_Down:
callback_down( NULL, data );
return TRUE;
 
case GDK_Left:
callback_left( NULL, data );
return TRUE;
 
case GDK_Right:
callback_right( NULL, data );
return TRUE;
 
case GDK_Return:
callback_reset( NULL, data );
return TRUE;
 
case GDK_F6:
callback_fullscreen( NULL, data );
return TRUE;
 
case GDK_F7: /* "Increase (zoom in)" */
return FALSE;
 
case GDK_F8: /* "Decrease (zoom out)" */
return FALSE;
 
case GDK_Escape: /* "Cancel/Close" */
return FALSE;
 
}
return FALSE;
}
96 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×