Keyboard device constants, defined in Dinput.h, represent offsets within a keyboard device's data packet, a 256-byte array. The data at a given offset is associated with a keyboard key. Typically, these values will be used in the dwOfs member of the DIDEVICEOBJECTDATA, DIOBJECTDATAFORMAT or DIDEVICEOBJECTINSTANCE structures, or as indices when accessing data within the array using array notation.
The standard keyboard device constants are the following (in ascending order):
Constant | Note |
DIK_ESCAPE | |
DIK_1 | On main keyboard |
DIK_2 | On main keyboard |
DIK_3 | On main keyboard |
DIK_4 | On main keyboard |
DIK_5 | On main keyboard |
DIK_6 | On main keyboard |
DIK_7 | On main keyboard |
DIK_8 | On main keyboard |
DIK_9 | On main keyboard |
DIK_0 | On main keyboard |
DIK_MINUS | On main keyboard |
DIK_EQUALS | On main keyboard |
DIK_BACK | The BACKSPACE key |
DIK_TAB | |
DIK_Q | |
DIK_W | |
DIK_E | |
DIK_R | |
DIK_T | |
DIK_Y | |
DIK_U | |
DIK_I | |
DIK_O | |
DIK_P | |
DIK_LBRACKET | The [ key |
DIK_RBRACKET | The ] key |
DIK_RETURN | ENTER key on main keyboard |
DIK_LCONTROL | Left CTRL key |
DIK_A | |
DIK_S | |
DIK_D | |
DIK_F | |
DIK_G | |
DIK_H | |
DIK_J | |
DIK_K | |
DIK_L | |
DIK_SEMICOLON | |
DIK_APOSTROPHE | |
DIK_GRAVE | Grave accent (`) key |
DIK_LSHIFT | Left SHIFT key |
DIK_BACKSLASH | |
DIK_Z | |
DIK_X | |
DIK_C | |
DIK_V | |
DIK_B | |
DIK_N | |
DIK_M | |
DIK_COMMA | |
DIK_PERIOD | On main keyboard |
DIK_SLASH | Forward slash on main keyboard |
DIK_RSHIFT | Right SHIFT key |
DIK_MULTIPLY | The * key on numeric keypad |
DIK_LMENU | Left ALT key |
DIK_SPACE | SPACEBAR |
DIK_CAPITAL | CAPS LOCK key |
DIK_F1 | |
DIK_F2 | |
DIK_F3 | |
DIK_F4 | |
DIK_F5 | |
DIK_F6 | |
DIK_F7 | |
DIK_F8 | |
DIK_F9 | |
DIK_F10 | |
DIK_NUMLOCK | |
DIK_SCROLL | SCROLL LOCK |
DIK_NUMPAD7 | |
DIK_NUMPAD8 | |
DIK_NUMPAD9 | |
DIK_SUBTRACT | MINUS SIGN on numeric keypad |
DIK_NUMPAD4 | |
DIK_NUMPAD5 | |
DIK_NUMPAD6 | |
DIK_ADD | PLUS SIGN on numeric keypad |
DIK_NUMPAD1 | |
DIK_NUMPAD2 | |
DIK_NUMPAD3 | |
DIK_NUMPAD0 | |
DIK_DECIMAL | PERIOD (decimal point) on numeric keypad |
DIK_F11 | |
DIK_F12 | |
DIK_F13 | |
DIK_F14 | |
DIK_F15 | |
DIK_KANA | On Japanese keyboard |
DIK_CONVERT | On Japanese keyboard |
DIK_NOCONVERT | On Japanese keyboard |
DIK_YEN | On Japanese keyboard |
DIK_NUMPADEQUALS | On numeric keypad (NEC PC98) |
DIK_CIRCUMFLEX | On Japanese keyboard |
DIK_AT | On Japanese keyboard |
DIK_COLON | On Japanese keyboard |
DIK_UNDERLINE | On Japanese keyboard |
DIK_KANJI | On Japanese keyboard |
DIK_STOP | On Japanese keyboard |
DIK_AX | On Japanese keyboard |
DIK_UNLABELED | On Japanese keyboard |
DIK_NUMPADENTER | |
DIK_RCONTROL | Right CTRL key |
DIK_NUMPADCOMMA | COMMA on NEC PC98 numeric keypad |
DIK_DIVIDE | Forward slash on numeric keypad |
DIK_SYSRQ | |
DIK_RMENU | Right ALT key |
DIK_HOME | |
DIK_UP | UP ARROW |
DIK_PRIOR | PAGE UP |
DIK_LEFT | LEFT ARROW |
DIK_RIGHT | RIGHT ARROW |
DIK_END | |
DIK_DOWN | DOWN ARROW |
DIK_NEXT | PAGE DOWN |
DIK_INSERT | |
DIK_DELETE | |
DIK_LWIN | Left Windows key |
DIK_RWIN | Right Windows key |
DIK_APPS | Application key |
DIK_PAUSE |
The following alternate names are available:
Alternate name | Regular name | Note |
DIK_BACKSPACE | DIK_BACK | BACKSPACE |
DIK_NUMPADSTAR | DIK_MULTIPLY | * key on numeric keypad |
DIK_LALT | DIK_LMENU | Left ALT |
DIK_CAPSLOCK | DIK_CAPITAL | CAPSLOCK |
DIK_NUMPADMINUS | DIK__SUBTRACT | Minus key on numeric keypad |
DIK_NUMPADPLUS | DIK_ADD | Plus key on numeric keypad |
DIK_NUMPADPERIOD | DIK_DECIMAL | Period key on numeric keypad |
DIK_NUMPADSLASH | DIK__DIVIDE | Forward slash on numeric keypad |
DIK_RALT | DIK_RMENU | Right ALT |
DIK_UPARROW | DIK_UP | On arrow keypad |
DIK_PGUP | DIK_PRIOR | On arrow keypad |
DIK_LEFTARROW | DIK_LEFT | On arrow keypad |
DIK_RIGHTARROW | DIK_RIGHT | On arrow keypad |
DIK_DOWNARROW | DIK_DOWN | On arrow keypad |
DIK_PGDN | DIK_NEXT | On arrow keypad |
For information on Japanese keyboards, see DirectInput and Japanese Keyboards.