From YYpBD's MediaWiki
Navigation controls communicate with the Windows CE operating system by sending messages. An OEM provides the driver that links each control with WM_KEYUP and WM_KEYDOWN messages individually or in a series. Each message has a virtual key message in its wParam parameter. The driver starts when the user presses a navigation control. The driver then sends the window messages to the device shell, which in turn shell passes the messages to the current application.
Direction keys each send a pair of WM_KEYDOWN and WM_KEYUP messages when held down. The driver continues sending these pairs for each auto-repeat, until the user releases the key. The Action key sends a pair of WM_KEYDOWN messages with VK_23 first followed by VK_RETURN when pressed, and a pair of WM_KEYUP message with VK_RETURN first followed by VK_23 when released.
The messages for each operation on a control are sent in the order listed in table.
Operation on control Messages wParam
Press Action key WM_KEYDOWN
WM_KEYDOWN
VK_F23
VK_RETURN
Release Action key WM_KEYUP
WM_KEYUP
VK_RETURN
VK_F23
Press Up control WM_KEYDOWN VK_UP
Hold down Up control WM_KEYDOWN
WM_KEYUP
VK_PRIOR
VK_PRIOR
Release Up control WM_KEYUP VK_UP
Press Down control WM_KEYDOWN VK_DOWN
Hold down Down control WM_KEYDOWN
WM_KEYUP
VK_NEXT
VK_NEXT
Release Down control WM_KEYUP VK_DOWN
Press App 1 WM_KEYDOWN
WM_KEYDOWN
VK_LWIN
0xC1
Release App 1 WM_KEYUP
WM_KEYUP
VK_LWIN
0xC1
Press App 2 WM_KEYDOWN
WM_KEYDOWN
VK_LWIN
0xC2
Release App 2 WM_KEYUP
WM_KEYUP
VK_LWIN
0xC2
Press App 3 WM_KEYDOWN
WM_KEYDOWN
VK_LWIN
0xC3
Release App 3 WM_KEYUP
WM_KEYUP
VK_LWIN
0xC3
Press App 4 WM_KEYDOWN
WM_KEYDOWN
VK_LWIN
0xC4
Release App 4 WM_KEYUP
WM_KEYUP
VK_LWIN
0xC4