×
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)
(Introduction)
ebra (Talk | contribs)
(Maemo Platform)
Line 7: Line 7:
  
 
== Maemo Platform ==
 
== Maemo Platform ==
 +
[[Image:MaemoHWKeys.png]]
 
<code>
 
<code>
 
typedef struct _AppData AppData;
 
typedef struct _AppData AppData;

Revision as of 12:34, 15 November 2007


Comparison

S60 Platform

Maemo Platform

MaemoHWKeys.png

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;
}
78 page views in the last 30 days.