Microsoft DirectX 8.1 (C++)

Keyboard Device Constants

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 are 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 listed in the following table.

Constant Note
DIK_0 On main keyboard
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_A
DIK_ABNT_C1 On numeric pad of Brazilian keyboards
DIK_ABNT_C2 On numeric pad of Brazilian keyboards
DIK_ADD PLUS SIGN (+) on numeric keypad
DIK_APOSTROPHE
DIK_APPS Application key
DIK_AT On Japanese keyboard
DIK_AX On Japanese keyboard
DIK_B
DIK_BACK BACKSPACE
DIK_BACKSLASH
DIK_C
DIK_CALCULATOR
DIK_CAPITAL CAPS LOCK
DIK_COLON On Japanese keyboard
DIK_COMMA
DIK_CONVERT On Japanese keyboard
DIK_D
DIK_DECIMAL PERIOD (decimal point) on numeric keypad
DIK_DELETE
DIK_DIVIDE Forward slash (/) on numeric keypad
DIK_DOWN DOWN ARROW
DIK_E
DIK_END
DIK_EQUALS On main keyboard
DIK_ESCAPE
DIK_F
DIK_F1
DIK_F2
DIK_F3
DIK_F4
DIK_F5
DIK_F6
DIK_F7
DIK_F8
DIK_F9
DIK_F10
DIK_F11
DIK_F12
DIK_F13 On NEC PC-98 Japanese keyboard
DIK_F14 On NEC PC-98 Japanese keyboard
DIK_F15 On NEC PC-98 Japanese keyboard
DIK_G
DIK_GRAVE Grave accent (`)
DIK_H
DIK_HOME  
DIK_I
DIK_INSERT
DIK_J
DIK_K
DIK_KANA On Japanese keyboard
DIK_KANJI On Japanese keyboard
DIK_L
DIK_LBRACKET Left square bracket [
DIK_LCONTROL Left CTRL
DIK_LEFT LEFT ARROW
DIK_LMENU Left ALT
DIK_LSHIFT Left SHIFT
DIK_LWIN Left Microsoft® Windows® logo key
DIK_M
DIK_MAIL
DIK_MEDIASELECT Media Select key, which displays a selection of supported media players on the system
DIK_MEDIASTOP
DIK_MINUS On main keyboard
DIK_MULTIPLY Asterisk (*) on numeric keypad
DIK_MUTE
DIK_MYCOMPUTER
DIK_N
DIK_NEXT PAGE DOWN
DIK_NEXTTRACK Next track
DIK_NOCONVERT On Japanese keyboard
DIK_NUMLOCK
DIK_NUMPAD0
DIK_NUMPAD1
DIK_NUMPAD2
DIK_NUMPAD3
DIK_NUMPAD4
DIK_NUMPAD5
DIK_NUMPAD6
DIK_NUMPAD7
DIK_NUMPAD8
DIK_NUMPAD9
DIK_NUMPADCOMMA On numeric keypad of NEC PC-98 Japanese keyboard
DIK_NUMPADENTER
DIK_NUMPADEQUALS On numeric keypad of NEC PC-98 Japanese keyboard
DIK_O
DIK_OEM_102 On British and German keyboards
DIK_P
DIK_PAUSE  
DIK_PERIOD On main keyboard
DIK_PLAYPAUSE
DIK_POWER
DIK_PREVTRACK Previous track; circumflex on Japanese keyboard
DIK_PRIOR PAGE UP
DIK_Q
DIK_R
DIK_RBRACKET Right square bracket ]
DIK_RCONTROL Right CTRL
DIK_RETURN ENTER on main keyboard
DIK_RIGHT RIGHT ARROW
DIK_RMENU Right ALT
DIK_RSHIFT Right SHIFT
DIK_RWIN Right Windows logo key
DIK_S
DIK_SCROLL SCROLL LOCK
DIK_SEMICOLON
DIK_SLASH Forward slash (/) on main keyboard
DIK_SLEEP
DIK_SPACE SPACEBAR
DIK_STOP On NEC PC-98 Japanese keyboard
DIK_SUBTRACT MINUS SIGN (-) on numeric keypad
DIK_SYSRQ
DIK_T
DIK_TAB
DIK_U
DIK_UNDERLINE On NEC PC-98 Japanese keyboard
DIK_UNLABELED On Japanese keyboard
DIK_UP UP ARROW
DIK_V
DIK_VOLUMEDOWN
DIK_VOLUMEUP
DIK_W
DIK_WAKE
DIK_WEBBACK
DIK_WEBFAVORITES Displays the Microsoft Internet Explorer Favorites list, the Windows Favorites folder, or the Netscape Bookmarks list.
DIK_WEBFORWARD
DIK_WEBHOME
DIK_WEBREFRESH
DIK_WEBSEARCH
DIK_WEBSTOP
DIK_X
DIK_Y
DIK_YEN On Japanese keyboard
DIK_Z

The following alternate names are available.

Alternate name Regular name Note
DIK_BACKSPACE DIK_BACK BACKSPACE
DIK_CAPSLOCK DIK_CAPITAL CAPS LOCK
DIK_CIRCUMFLEX DIK_PREVTRACK On Japanese keyboard
DIK_DOWNARROW DIK_DOWN On arrow keypad
DIK_LALT DIK_LMENU Left ALT
DIK_LEFTARROW DIK_LEFT On arrow keypad
DIK_NUMPADMINUS DIK__SUBTRACT MINUS SIGN (-) on numeric keypad
DIK_NUMPADPERIOD DIK_DECIMAL PERIOD (decimal point) on numeric keypad
DIK_NUMPADPLUS DIK_ADD PLUS SIGN (+) on numeric keypad
DIK_NUMPADSLASH DIK__DIVIDE Forward slash (/) on numeric keypad
DIK_NUMPADSTAR DIK_MULTIPLY Asterisk (*) on numeric keypad
DIK_PGDN DIK_NEXT On arrow keypad
DIK_PGUP DIK_PRIOR On arrow keypad
DIK_RALT DIK_RMENU Right ALT
DIK_RIGHTARROW DIK_RIGHT On arrow keypad
DIK_UPARROW DIK_UP On arrow keypad

For information on Japanese keyboards, see DirectInput and Japanese Keyboards.