At 12:00am -0700 00-10-26, Palm Developer Forum digest wrote:
>and in your ButtonsHandleEvent():
>
> switch( eventP->eType ) {
> case keyDownEvent:
> switch( eventP->data.keyDown.chr ) {
> case pageUpChr:
> // do stuff
> break;
> case pageDownChr:
> // do stuff
> break;
> case hard1Chr:
> // do stuff
> break;
> case hard2Chr:
> // do stuff
> break;
Don't forget to verify that the character is virtual (has the command
bit set in the event record modifier field) before checking the
character codes. It doesn't matter currently, but it will in the
future, when the range for real character codes will overlay the
range currently used by virtual characters.
Unfortunately older versions of Palm OS had a bug where some of the
virtual keydown events generated by Graffiti didn't have the command
bit set, so if you wanted to be safe, you'd use the
TxtGlueCharIsVirtual routine in PalmOSGlue. So this routine would
become:
Boolean ButtonsHandleEvent(const EventType* iEventP)
{
if ((iEventP->eType != keyDownEvent)
|| (!TxtGlueCharIsVirtual(iEventP->data.keyDown.modifiers,
iEventP->data.keyDown.chr)))
{
return(false);
}
// Check for various virtual character codes.
switch (iEventP->data.keyDown.chr)
{
case vchrPageUp:
break;
case vchrPageDown:
break;
case vchrHard1:
break;
<etc>
default:
return(false);
break;
}
return(true);
}
-- Ken
Ken Krugler
TransPac Software, Inc.
<http://www.transpac.com>
+1 530-470-9200
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/