OK, here is what I would like to happen.
First, I would like the ability to tell GapiDraw which of the hardware buttons to override or not override, and the same for the silkscreen buttons.
For example, on a Tungsten E, I want to be able to make my game allow the home button to return to the launcher, and the HotSync button to start a HotSync. I want to be able to have my game use the d-pad, but leave the other four hardware buttons for exiting to calendar, or whatever they should do.
Second, I would like GapiDraw to call a function that I can implement in this situation. Like OnScreenSizeChanged, I want to be able to implement something like UserSuddenlyExited. So in this function, I can save my application state like a well-behaving Palm application should.
This all gets back to the principle of not being rude to the user. The user expects those buttons to work, so they should. The user expects the application to retore its state, so it should. I can't implement this without GapiDraw's help. Therefore, GapiDraw should provide this functionality.
Please let me know if this is possible, or if you have alternative suggestions, or if I'm missing other things a proper Palm application should be doing. Thanks!