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/

Reply via email to