D-pad Virtual Key Code Support
For applications to take full advantage of your d–pad, your driver must generate the proper virtual key codes.
For example, your driver should send a VK_DPAD (VK_F21) after sending the VK_UP, VK_DOWN, VK_LEFT, or VK_RIGHT from the d–pad. VK_DPAD is sent so that applications can differentiate between arrows generated from the hardware keyboard, the rocker, and the d-pad via the GetKeyEventSource function.
If you have a rocker, a VK_ROCKER (VK_F20) should be sent after the VK_UP or VK_DOWN.