Smart Auto-Deploy

4/8/2010

Windows Mobile Professional and Windows Mobile Classic automatically deploy an on-screen keyboard, the Software-based Input Panel (SIP), anytime the user selects an editable UI control.

To optimize the available screen, this feature is temporarily disabled when the hardware keyboard is used so that the user will not see the SIP auto–deployed.

To support the smart auto–deploy, the keyboard driver needs to notify the shell anytime a hardware key is pressed. The following code sample demonstrates how to set up this notification.

v_hevtKeyPressed = CreateEvent(NULL, 
                               /*bManualReset */FALSE,
                               /*bInitialState */FALSE,
                               TEXT("_KeyPress"));
SetEvent(v_hevtKeyPressed);

The event should only be set for keys on the alphanumeric keyboard. It should not be set for App keys, d-pads, rockers, etc. This is because the user may still be using the stylus even though he pressed one of these keys. The event should only be set on the "down", not the "up".

Note that smart auto–deploy is not relevant for Windows Mobile Standard.

See Also

Other Resources

Keyboard
Software-based Input Panel