×
Namespaces

Variants
Actions
Revision as of 14:18, 29 October 2007 by ebra (Talk | contribs)

Using hardware keys with S60 and Maemo Platform

From Nokia Developer Wiki
Jump to: navigation, search


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;
}
93 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.

×