Usando as Teclas das Plataformas S60 e Maemo
Aquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.
Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)
Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)
Dados do artigo
Artigo
Tradução:
Originado de Using hardware keys with S60 and Maemo Platform
Por leandrodds
Última alteração feita por hamishwillee
em 08 May 2013
Comparação
Os dispositivos de ambas as plataformas S60 e Maemo têm um número de teclas que os desenvolvedores podem usar. O número de teclas disponíveis varia entre diferentes dispositivos. Ambas as plataformas têm dispositivos com teclado QWERTY total. Por exemplo, o E90 Communicator e o Nokia N810 Internet Tablet.
Comparando as Plataformas S60 e Maemo
Plataforma S60
\epoc32\include\e32keys.h
enum TStdScanCode
{
...
EStdKeyLeftArrow=0x0e, /**< Scan code for Left arrow key.*/
EStdKeyRightArrow=0x0f, /**< Scan code for Right arrow key.*/
EStdKeyUpArrow=0x10, /**< Scan code for Up arrow key.*/
EStdKeyDownArrow=0x11, /**< Scan code for Down arrow key.*/
...
};
// ----------------------------------------------------
// CAknExEditorAppUi::HandleKeyEventL
// Handles key events.
//
// ----------------------------------------------------
//
TKeyResponse CUTFViewerAppUi::HandleKeyEventL(
const TKeyEvent& aKeyEvent,TEventCode aType )
{
if ( aType == EEventKey)
{
switch ( aKeyEvent.iScanCode )
{
case EStdKeyUpArrow:
...
}
return EKeyWasNotConsumed;
}
Plataforma Maemo
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 HILDON_HARDKEY_UP:
callback_up( NULL, data );
return TRUE;
case HILDON_HARDKEY_DOWN:
callback_down( NULL, data );
return TRUE;
case HILDON_HARDKEY_LEFT:
callback_left( NULL, data );
return TRUE;
case HILDON_HARDKEY_RIGHT:
callback_right( NULL, data );
return TRUE;
case HILDON_HARDKEY_SELECT:
callback_reset( NULL, data );
return TRUE;
case HILDON_HARDKEY_FULLSCREEN:
callback_fullscreen( NULL, data );
return TRUE;
case HILDON_HARDKEY_INCREASE:
return FALSE;
case HILDON_HARDKEY_DECREASE :
return FALSE;
case HILDON_HARDKEY_ESC :
return FALSE;
}
return FALSE;
}






(no comments yet)