I am working on a legacy project in VC++/Win32/MFC. Recently it became a requirement that the application work on a tablet pc, and this ushered in a host of new issues. I have been able to work with, and around these issues, but am left with one wherein I could use some expert suggestions.
I have a particular bug that is induced by the "lift" of the stylus off of the active surface. Basically the mouse cursor disappears and then reappears when you "press" it back onto the screen.
It makes sense that this is unaccounted for in the application. you can't "lift" the cursor on a desktop pc. So what I am looking for is a good overview on what happens (in terms of windows messages, etc.) when the lift occurs. Does this translate to just focus changes and mouseover events? My bug seems to also involve cursor changes (may not be lift related though). Certainly the unexpected "lift" is breaking the state of the application's tool processing.
So the tangible questions are:
- What happens when a stylus "lift" occurs? A press?
- What API calls can be used to detect this? Does it just translate into standard messages with flags/values set?
- Whats a good way to test/emulate this when your development pc is a desktop? Am I just flying blind here? (I only have periodic access to a tablet pc)
- What represents correct behavior or best practice for tablet stylus awareness?
Thanks for your consideration, ee