Keyboard Device Enumeration

Keyboard device constants, defined in Dinput.h, represent offsets within a keyboard device's data packet, a 256-byte array.

Syntax

typedef enum Keyboard_Device
{
    DIK_0,
    DIK_1,
    DIK_2,
    DIK_3,
    DIK_4,
    DIK_5,
    DIK_6,
    DIK_7,
    DIK_8,
    DIK_9,
    DIK_A,
    DIK_ABNT_C1,
    DIK_ABNT_C2,
    DIK_ADD,
    DIK_APOSTROPHE,
    DIK_APPS,
    DIK_AT,
    DIK_AX,
    DIK_B,
    DIK_BACK,
    DIK_BACKSLASH,
    DIK_C,
    DIK_CALCULATOR,
    DIK_CAPITAL,
    DIK_COLON,
    DIK_COMMA,
    DIK_CONVERT,
    DIK_D,
    DIK_DECIMAL,
    DIK_DELETE,
    DIK_DIVIDE,
    DIK_DOWN,
    DIK_E,
    DIK_END,
    DIK_EQUALS,
    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,
    DIK_F14,
    DIK_F15,
    DIK_G,
    DIK_GRAVE,
    DIK_H,
    DIK_HOME,
    DIK_I,
    DIK_INSERT,
    DIK_J,
    DIK_K,
    DIK_KANA,
    DIK_KANJI,
    DIK_L,
    DIK_LBRACKET,
    DIK_LCONTROL,
    DIK_LEFT,
    DIK_LMENU,
    DIK_LSHIFT,
    DIK_LWIN,
    DIK_M,
    DIK_MAIL,
    DIK_MEDIASELECT,
    DIK_MEDIASTOP,
    DIK_MINUS,
    DIK_MULTIPLY,
    DIK_MUTE,
    DIK_MYCOMPUTER,
    DIK_N,
    DIK_NEXT,
    DIK_NEXTTRACK,
    DIK_NOCONVERT,
    DIK_NUMLOCK,
    DIK_NUMPAD0,
    DIK_NUMPAD1,
    DIK_NUMPAD2,
    DIK_NUMPAD3,
    DIK_NUMPAD4,
    DIK_NUMPAD5,
    DIK_NUMPAD6,
    DIK_NUMPAD7,
    DIK_NUMPAD8,
    DIK_NUMPAD9,
    DIK_NUMPADCOMMA,
    DIK_NUMPADENTER,
    DIK_NUMPADEQUALS,
    DIK_O,
    DIK_OEM_102,
    DIK_P,
    DIK_PAUSE,
    DIK_PERIOD,
    DIK_PLAYPAUSE,
    DIK_POWER,
    DIK_PREVTRACK,
    DIK_PRIOR,
    DIK_Q,
    DIK_R,
    DIK_RBRACKET,
    DIK_RCONTROL,
    DIK_RETURN,
    DIK_RIGHT,
    DIK_RMENU,
    DIK_RSHIFT,
    DIK_RWIN,
    DIK_S,
    DIK_SCROLL,
    DIK_SEMICOLON,
    DIK_SLASH,
    DIK_SLEEP,
    DIK_SPACE,
    DIK_STOP,
    DIK_SUBTRACT,
    DIK_SYSRQ,
    DIK_T,
    DIK_TAB,
    DIK_U,
    DIK_UNDERLINE,
    DIK_UNLABELED,
    DIK_UP,
    DIK_V,
    DIK_VOLUMEDOWN,
    DIK_VOLUMEUP,
    DIK_W,
    DIK_WAKE,
    DIK_WEBBACK,
    DIK_WEBFAVORITES,
    DIK_WEBFORWARD,
    DIK_WEBHOME,
    DIK_WEBREFRESH,
    DIK_WEBSEARCH,
    DIK_WEBSTOP,
    DIK_X,
    DIK_Y,
    DIK_YEN,
    DIK_Z
} Keyboard Device, *LPKeyboard Device;

Constants

  Constant Description
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 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

Remarks

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 about Japanese keyboards, see DirectInput and Japanese Keyboards.

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.