Look at PalmNavigator.h at the macro NavKeyPressed

Note though  that it is not upwards compatible. If you are using the
Tungsten E2 it uses different keys.  My routine for handling that follows
(entry point at GetKeyType())

:

my own definitions, everything boils down to these
typedef enum {
KEY_NONE = 0X00,
KEY_UP =0x01,
KEY_DOWN = 0x02,
KEY_LEFT = 0x04,
KEY_RIGHT = 0x08,
KEY_SEL = 0x10,
KEY_UPLEFT = 0x05,
KEY_DOWNRIGHT = 0x0a,
KEY_UPDOWN = 0x03,
KEY_RIGHTLEFT = 0x0c
} KeyTypeEnum;


//Get original Pre Palm OS 5 key
static KeyTypeEnum GetTungEKeyType(EventType *eventP)
{
Boolean  handled  = false;

ControlType *ctlP  = NULL;

// form info

// Get the KeyEvent fields
WChar   chr   = eventP->data.keyDown.chr;
UInt16   keyCode  = eventP->data.keyDown.keyCode;
UInt16   modifiers = eventP->data.keyDown.modifiers;

bool lr = (NavKeyPressed(eventP,Right) || NavKeyPressed(eventP,Left));
bool ud = (NavKeyPressed(eventP,Up) || NavKeyPressed(eventP,Down));
bool Forward = (NavKeyPressed(eventP,Right) || NavKeyPressed(eventP,Down));
bool Backward = (NavKeyPressed(eventP,Left) || NavKeyPressed(eventP,Up));
if (!(NavKeyPressed(eventP,Select) || lr || ud))
 return KEY_NONE;

int KeyType = 0;
 KeyType |= NavKeyPressed(eventP,Right) ? KEY_RIGHT : 0;
 KeyType |= NavKeyPressed(eventP,Left) ? KEY_LEFT : 0;
 KeyType |= NavKeyPressed(eventP,Up) ? KEY_UP : 0;
 KeyType |= NavKeyPressed(eventP,Down) ? KEY_DOWN : 0;
 KeyType |= NavKeyPressed(eventP,Select) ? KEY_SEL : 0;
return (KeyTypeEnum)KeyType;
}


// Call here to get both.
KeyTypeEnum GetKeyType(EventType *eventP)
{
KeyTypeEnum r = GetTungEKeyType(eventP);
if (r!=KEY_NONE) return r;
// Get the KeyEvent fields
WChar   chr   = eventP->data.keyDown.chr;
UInt16   keyCode  = eventP->data.keyDown.keyCode;
UInt16   modifiers = eventP->data.keyDown.modifiers;
if (modifiers==0x0808)
{
 switch(keyCode)
 {
 case 0x132: return KEY_UP;
 case 0x133: return KEY_DOWN;
 case 0x135: return KEY_RIGHT;
 case 0x134: return KEY_LEFT;
 case 0x136: return KEY_SEL;
 }
}

return KEY_NONE;
}


Chris Bruner
Compulife Software Inc.
==============================================
----- Original Message ----- From: "Waqar" <[EMAIL PROTECTED]>
To: "Palm Developer Forum" <palm-dev-forum@news.palmos.com>
Sent: Monday, March 27, 2006 10:38 AM
Subject: 5-way navigation????????


Hi ALL,

Can some one tell me how to use the 5-way navigation button on T5.

Thanks ,
Waqar.
--
For information on using the PalmSource Developer Forums, or to
unsubscribe, please see http://www.palmos.com/dev/support/forums/



--
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to