Address Book switches categories when it's hard button is pressed, but not when the app is launched via that same hard button. The code for this is in AddrList.c in the function ListHandleEvent(). When it gets a keyDownEvent, it first checks if it's a hard key. If it is, it then checks whether the key turned on the device. Only if this is not the case does it switch categories.
It's not clear what happens if the device is already on when the hard button is used to launch the application, but it looks like you don't get the keyDownEvent in this case. I don't think it's possible to distinguish this scenario from an app launch via the Launcher. I think your experience fits with this understanding: If the device was on when the hard button was pressed, your app doesn't get the keyDownEvent, so you don't know which key was used to launch your app. However, if the device was off at the time, the keyDownEvent that caused the device to turn on and launch your app actually reaches your app, and you learn which key it was. -- Peter Epstein -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
