Skip to content

Instantly share code, notes, and snippets.

@fp64
Created December 24, 2025 02:23
Show Gist options
  • Select an option

  • Save fp64/4a53dfbb323323274885c97ffea280d6 to your computer and use it in GitHub Desktop.

Select an option

Save fp64/4a53dfbb323323274885c97ffea280d6 to your computer and use it in GitHub Desktop.
Quick-and-dirty conversion between VK_* and SDLK_* keycodes.
// Public Domain under http://unlicense.org, see link for details.
// Quick-and-dirty conversion between VK_* and SDLK_* keycodes.
// Rudimentary, and generally assumes US ANSI keyboard.
static long vk2sdlk(long key)
{
static const long S=1L<<30,lut[256]={
0, 0, 0,S|155, 0, 0, 0, 0, 8, 9, 0, 0,S|156, 13, 0, 0,
0, 0, 0,S| 72,S| 57, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,S| 1,
32,S| 75,S| 78,S| 77,S| 74,S| 80,S| 82,S| 79,S| 81,S|119, 0,S|116,S| 70,S| 73, 127,S|117,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 0, 0, 0, 0, 0,
0, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,S|227,S|231,S|101, 0, 0,
S| 98,S| 89,S| 90,S| 91,S| 92,S| 93,S| 94,S| 95,S| 96,S| 97,S| 85,S| 87, 0,S| 86,S| 99,S| 84,
S| 58,S| 59,S| 60,S| 61,S| 62,S| 63,S| 64,S| 65,S| 66,S| 67,S| 68,S| 69,S|104,S|105,S|106,S|107,
S|108,S|109,S|110,S|111,S|112,S|113,S|114,S|115, 0, 0, 0, 0, 0, 0, 0, 0,
S| 83,S| 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
S|225,S|229,S|224,S|228,S|226,S|230,S| 14,S| 15,S| 17,S| 16,S| 12,S| 18,S| 13,S|127,S|129,S|128,
S| 2,S| 3,S| 4,S| 5,S| 9,S| 7,S| 27,S| 28, 0, 0, 59, 61, 44, 45, 46, 47,
96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, 39, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,S|163,S|164, 0, 0, 0, 0, 0, 0, 0,
};
return key<0||key>=256?0:lut[key];
}
static long sdlk2vk(long key)
{
static const long lut[640]={
255, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0,
32, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, 0,188,189,190,191, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0,186, 0,187, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219,220,221, 0, 0,
192, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 0, 0, 0, 0, 46,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,112,113,114,115,116,117,
118,119,120,121,122,123, 44,145, 19, 45, 36, 33, 0, 35, 34, 39, 37, 40, 38,144,111,106,109,107, 0, 97, 98, 99,100,101,102,103,
104,105, 96,110, 0, 93, 0, 0,124,125,126,127,128,129,130,131,132,133,134,135, 43, 47, 0, 41, 0, 0, 0, 0, 0, 0, 0,173,
175,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0,
0, 0, 0,247,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
162,160,164, 91,163,161,165, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 31,176,177,178,179, 0,181, 0,180, 0, 0,170,172,166,167,169,168,171, 0, 0, 0, 0, 0, 0, 0, 0,182,183, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// Rest is zeroes.
};
key=(key+(key>>23))&1023;
return key>=640?0:lut[key];
};
VK id| VK_* constant | SDLK id | SDLK_* constant | SDL name | VK description
-----|------------------------|------------|-------------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0x00 | --- | 0x00000000 | --- | |
0x01 | VK_LBUTTON | 0x00000000 | --- | | Left mouse button
0x02 | VK_RBUTTON | 0x00000000 | --- | | Right mouse button
0x03 | VK_CANCEL | 0x4000009B | SDLK_CANCEL | Cancel | Control-break processing
0x04 | VK_MBUTTON | 0x00000000 | --- | | Middle mouse button
0x05 | VK_XBUTTON1 | 0x00000000 | --- | | X1 mouse button
0x06 | VK_XBUTTON2 | 0x00000000 | --- | | X2 mouse button
0x07 | --- | 0x00000000 | --- | |
0x08 | VK_BACK | 0x00000008 | SDLK_BACKSPACE | Backspace | Backspace key
0x09 | VK_TAB | 0x00000009 | SDLK_TAB | Tab | Tab key
0x0A | --- | 0x00000000 | --- | |
0x0B | --- | 0x00000000 | --- | |
0x0C | VK_CLEAR | 0x4000009C | SDLK_CLEAR | Clear | Clear key
0x0D | VK_RETURN | 0x0000000D | SDLK_RETURN | Return | Enter key
0x0E | --- | 0x00000000 | --- | |
0x0F | --- | 0x00000000 | --- | |
0x10 | VK_SHIFT | 0x00000000 | --- | | Shift key
0x11 | VK_CONTROL | 0x00000000 | --- | | Ctrl key
0x12 | VK_MENU | 0x00000000 | --- | | Alt key
0x13 | VK_PAUSE | 0x40000048 | SDLK_PAUSE | Pause | Pause key
0x14 | VK_CAPITAL | 0x40000039 | SDLK_CAPSLOCK | CapsLock | Caps lock key
0x15 | VK_HANGUL | 0x00000000 | --- | | IME Hangul mode
0x16 | VK_IME_ON | 0x00000000 | --- | | IME On
0x17 | VK_JUNJA | 0x00000000 | --- | | IME Junja mode
0x18 | VK_FINAL | 0x00000000 | --- | | IME final mode
0x19 | VK_KANJI | 0x00000000 | --- | | IME Kanji mode
0x1A | VK_IME_OFF | 0x00000000 | --- | | IME Off
0x1B | VK_ESCAPE | 0x0000001B | SDLK_ESCAPE | Escape | Esc key
0x1C | VK_CONVERT | 0x00000000 | --- | | IME convert
0x1D | VK_NONCONVERT | 0x00000000 | --- | | IME nonconvert
0x1E | VK_ACCEPT | 0x00000000 | --- | | IME accept
0x1F | VK_MODECHANGE | 0x40000101 | SDLK_MODE | ModeSwitch | IME mode change request
0x20 | VK_SPACE | 0x00000020 | SDLK_SPACE | Space | Spacebar key
0x21 | VK_PRIOR | 0x4000004B | SDLK_PAGEUP | PageUp | Page up key
0x22 | VK_NEXT | 0x4000004E | SDLK_PAGEDOWN | PageDown | Page down key
0x23 | VK_END | 0x4000004D | SDLK_END | End | End key
0x24 | VK_HOME | 0x4000004A | SDLK_HOME | Home | Home key
0x25 | VK_LEFT | 0x40000050 | SDLK_LEFT | Left | Left arrow key
0x26 | VK_UP | 0x40000052 | SDLK_UP | Up | Up arrow key
0x27 | VK_RIGHT | 0x4000004F | SDLK_RIGHT | Right | Right arrow key
0x28 | VK_DOWN | 0x40000051 | SDLK_DOWN | Down | Down arrow key
0x29 | VK_SELECT | 0x40000077 | SDLK_SELECT | Select | Select key
0x2A | VK_PRINT | 0x00000000 | --- | | Print key
0x2B | VK_EXECUTE | 0x40000074 | SDLK_EXECUTE | Execute | Execute key
0x2C | VK_SNAPSHOT | 0x40000046 | SDLK_PRINTSCREEN | PrintScreen | Print screen key
0x2D | VK_INSERT | 0x40000049 | SDLK_INSERT | Insert | Insert key
0x2E | VK_DELETE | 0x0000007F | SDLK_DELETE | Delete | Delete key
0x2F | VK_HELP | 0x40000075 | SDLK_HELP | Help | Help key
0x30 | `0` | 0x00000030 | SDLK_0 | 0 | 0 key
0x31 | `1` | 0x00000031 | SDLK_1 | 1 | 1 key
0x32 | `2` | 0x00000032 | SDLK_2 | 2 | 2 key
0x33 | `3` | 0x00000033 | SDLK_3 | 3 | 3 key
0x34 | `4` | 0x00000034 | SDLK_4 | 4 | 4 key
0x35 | `5` | 0x00000035 | SDLK_5 | 5 | 5 key
0x36 | `6` | 0x00000036 | SDLK_6 | 6 | 6 key
0x37 | `7` | 0x00000037 | SDLK_7 | 7 | 7 key
0x38 | `8` | 0x00000038 | SDLK_8 | 8 | 8 key
0x39 | `9` | 0x00000039 | SDLK_9 | 9 | 9 key
0x3A | --- | 0x00000000 | --- | |
0x3B | --- | 0x00000000 | --- | |
0x3C | --- | 0x00000000 | --- | |
0x3D | --- | 0x00000000 | --- | |
0x3E | --- | 0x00000000 | --- | |
0x3F | --- | 0x00000000 | --- | |
0x40 | --- | 0x00000000 | --- | |
0x41 | `A` | 0x00000061 | SDLK_a | A | A key
0x42 | `B` | 0x00000062 | SDLK_b | B | B key
0x43 | `C` | 0x00000063 | SDLK_c | C | C key
0x44 | `D` | 0x00000064 | SDLK_d | D | D key
0x45 | `E` | 0x00000065 | SDLK_e | E | E key
0x46 | `F` | 0x00000066 | SDLK_f | F | F key
0x47 | `G` | 0x00000067 | SDLK_g | G | G key
0x48 | `H` | 0x00000068 | SDLK_h | H | H key
0x49 | `I` | 0x00000069 | SDLK_i | I | I key
0x4A | `J` | 0x0000006A | SDLK_j | J | J key
0x4B | `K` | 0x0000006B | SDLK_k | K | K key
0x4C | `L` | 0x0000006C | SDLK_l | L | L key
0x4D | `M` | 0x0000006D | SDLK_m | M | M key
0x4E | `N` | 0x0000006E | SDLK_n | N | N key
0x4F | `O` | 0x0000006F | SDLK_o | O | O key
0x50 | `P` | 0x00000070 | SDLK_p | P | P key
0x51 | `Q` | 0x00000071 | SDLK_q | Q | Q key
0x52 | `R` | 0x00000072 | SDLK_r | R | R key
0x53 | `S` | 0x00000073 | SDLK_s | S | S key
0x54 | `T` | 0x00000074 | SDLK_t | T | T key
0x55 | `U` | 0x00000075 | SDLK_u | U | U key
0x56 | `V` | 0x00000076 | SDLK_v | V | V key
0x57 | `W` | 0x00000077 | SDLK_w | W | W key
0x58 | `X` | 0x00000078 | SDLK_x | X | X key
0x59 | `Y` | 0x00000079 | SDLK_y | Y | Y key
0x5A | `Z` | 0x0000007A | SDLK_z | Z | Z key
0x5B | VK_LWIN | 0x400000E3 | SDLK_LGUI | Left GUI | Left Windows logo key
0x5C | VK_RWIN | 0x400000E7 | SDLK_RGUI | Right GUI | Right Windows logo key
0x5D | VK_APPS | 0x40000065 | SDLK_APPLICATION | Application | Application key
0x5E | --- | 0x00000000 | --- | |
0x5F | VK_SLEEP | 0x00000000 | --- | | Computer Sleep key
0x60 | VK_NUMPAD0 | 0x40000062 | SDLK_KP_0 | Keypad 0 | Numeric keypad 0 key
0x61 | VK_NUMPAD1 | 0x40000059 | SDLK_KP_1 | Keypad 1 | Numeric keypad 1 key
0x62 | VK_NUMPAD2 | 0x4000005A | SDLK_KP_2 | Keypad 2 | Numeric keypad 2 key
0x63 | VK_NUMPAD3 | 0x4000005B | SDLK_KP_3 | Keypad 3 | Numeric keypad 3 key
0x64 | VK_NUMPAD4 | 0x4000005C | SDLK_KP_4 | Keypad 4 | Numeric keypad 4 key
0x65 | VK_NUMPAD5 | 0x4000005D | SDLK_KP_5 | Keypad 5 | Numeric keypad 5 key
0x66 | VK_NUMPAD6 | 0x4000005E | SDLK_KP_6 | Keypad 6 | Numeric keypad 6 key
0x67 | VK_NUMPAD7 | 0x4000005F | SDLK_KP_7 | Keypad 7 | Numeric keypad 7 key
0x68 | VK_NUMPAD8 | 0x40000060 | SDLK_KP_8 | Keypad 8 | Numeric keypad 8 key
0x69 | VK_NUMPAD9 | 0x40000061 | SDLK_KP_9 | Keypad 9 | Numeric keypad 9 key
0x6A | VK_MULTIPLY | 0x40000055 | SDLK_KP_MULTIPLY | Keypad * | Multiply key
0x6B | VK_ADD | 0x40000057 | SDLK_KP_PLUS | Keypad + | Add key
0x6C | VK_SEPARATOR | 0x00000000 | --- | | Separator key
0x6D | VK_SUBTRACT | 0x40000056 | SDLK_KP_MINUS | Keypad - | Subtract key
0x6E | VK_DECIMAL | 0x40000063 | SDLK_KP_PERIOD | Keypad . | Decimal key
0x6F | VK_DIVIDE | 0x40000054 | SDLK_KP_DIVIDE | Keypad / | Divide key
0x70 | VK_F1 | 0x4000003A | SDLK_F1 | F1 | F1 key
0x71 | VK_F2 | 0x4000003B | SDLK_F2 | F2 | F2 key
0x72 | VK_F3 | 0x4000003C | SDLK_F3 | F3 | F3 key
0x73 | VK_F4 | 0x4000003D | SDLK_F4 | F4 | F4 key
0x74 | VK_F5 | 0x4000003E | SDLK_F5 | F5 | F5 key
0x75 | VK_F6 | 0x4000003F | SDLK_F6 | F6 | F6 key
0x76 | VK_F7 | 0x40000040 | SDLK_F7 | F7 | F7 key
0x77 | VK_F8 | 0x40000041 | SDLK_F8 | F8 | F8 key
0x78 | VK_F9 | 0x40000042 | SDLK_F9 | F9 | F9 key
0x79 | VK_F10 | 0x40000043 | SDLK_F10 | F10 | F10 key
0x7A | VK_F11 | 0x40000044 | SDLK_F11 | F11 | F11 key
0x7B | VK_F12 | 0x40000045 | SDLK_F12 | F12 | F12 key
0x7C | VK_F13 | 0x40000068 | SDLK_F13 | F13 | F13 key
0x7D | VK_F14 | 0x40000069 | SDLK_F14 | F14 | F14 key
0x7E | VK_F15 | 0x4000006A | SDLK_F15 | F15 | F15 key
0x7F | VK_F16 | 0x4000006B | SDLK_F16 | F16 | F16 key
0x80 | VK_F17 | 0x4000006C | SDLK_F17 | F17 | F17 key
0x81 | VK_F18 | 0x4000006D | SDLK_F18 | F18 | F18 key
0x82 | VK_F19 | 0x4000006E | SDLK_F19 | F19 | F19 key
0x83 | VK_F20 | 0x4000006F | SDLK_F20 | F20 | F20 key
0x84 | VK_F21 | 0x40000070 | SDLK_F21 | F21 | F21 key
0x85 | VK_F22 | 0x40000071 | SDLK_F22 | F22 | F22 key
0x86 | VK_F23 | 0x40000072 | SDLK_F23 | F23 | F23 key
0x87 | VK_F24 | 0x40000073 | SDLK_F24 | F24 | F24 key
0x88 | --- | 0x00000000 | --- | |
0x89 | --- | 0x00000000 | --- | |
0x8A | --- | 0x00000000 | --- | |
0x8B | --- | 0x00000000 | --- | |
0x8C | --- | 0x00000000 | --- | |
0x8D | --- | 0x00000000 | --- | |
0x8E | --- | 0x00000000 | --- | |
0x8F | --- | 0x00000000 | --- | |
0x90 | VK_NUMLOCK | 0x40000053 | SDLK_NUMLOCKCLEAR | Numlock | Num lock key
0x91 | VK_SCROLL | 0x40000047 | SDLK_SCROLLLOCK | ScrollLock | Scroll lock key
0x92 | --- | 0x00000000 | --- | |
0x93 | --- | 0x00000000 | --- | |
0x94 | --- | 0x00000000 | --- | |
0x95 | --- | 0x00000000 | --- | |
0x96 | --- | 0x00000000 | --- | |
0x97 | --- | 0x00000000 | --- | |
0x98 | --- | 0x00000000 | --- | |
0x99 | --- | 0x00000000 | --- | |
0x9A | --- | 0x00000000 | --- | |
0x9B | --- | 0x00000000 | --- | |
0x9C | --- | 0x00000000 | --- | |
0x9D | --- | 0x00000000 | --- | |
0x9E | --- | 0x00000000 | --- | |
0x9F | --- | 0x00000000 | --- | |
0xA0 | VK_LSHIFT | 0x400000E1 | SDLK_LSHIFT | Left Shift | Left Shift key
0xA1 | VK_RSHIFT | 0x400000E5 | SDLK_RSHIFT | Right Shift | Right Shift key
0xA2 | VK_LCONTROL | 0x400000E0 | SDLK_LCTRL | Left Ctrl | Left Ctrl key
0xA3 | VK_RCONTROL | 0x400000E4 | SDLK_RCTRL | Right Ctrl | Right Ctrl key
0xA4 | VK_LMENU | 0x400000E2 | SDLK_LALT | Left Alt | Left Alt key
0xA5 | VK_RMENU | 0x400000E6 | SDLK_RALT | Right Alt | Right Alt key
0xA6 | VK_BROWSER_BACK | 0x4000010E | SDLK_AC_BACK | AC Back | Browser Back key
0xA7 | VK_BROWSER_FORWARD | 0x4000010F | SDLK_AC_FORWARD | AC Forward | Browser Forward key
0xA8 | VK_BROWSER_REFRESH | 0x40000111 | SDLK_AC_REFRESH | AC Refresh | Browser Refresh key
0xA9 | VK_BROWSER_STOP | 0x40000110 | SDLK_AC_STOP | AC Stop | Browser Stop key
0xAA | VK_BROWSER_SEARCH | 0x4000010C | SDLK_AC_SEARCH | AC Search | Browser Search key
0xAB | VK_BROWSER_FAVORITES | 0x40000112 | SDLK_AC_BOOKMARKS | AC Bookmarks | Browser Favorites key
0xAC | VK_BROWSER_HOME | 0x4000010D | SDLK_AC_HOME | AC Home | Browser Start and Home key
0xAD | VK_VOLUME_MUTE | 0x4000007F | SDLK_MUTE | Mute | Volume Mute key
0xAE | VK_VOLUME_DOWN | 0x40000081 | SDLK_VOLUMEDOWN | VolumeDown | Volume Down key
0xAF | VK_VOLUME_UP | 0x40000080 | SDLK_VOLUMEUP | VolumeUp | Volume Up key
0xB0 | VK_MEDIA_NEXT_TRACK | 0x40000102 | SDLK_AUDIONEXT | AudioNext | Next Track key
0xB1 | VK_MEDIA_PREV_TRACK | 0x40000103 | SDLK_AUDIOPREV | AudioPrev | Previous Track key
0xB2 | VK_MEDIA_STOP | 0x40000104 | SDLK_AUDIOSTOP | AudioStop | Stop Media key
0xB3 | VK_MEDIA_PLAY_PAUSE | 0x40000105 | SDLK_AUDIOPLAY | AudioPlay | Play/Pause Media key
0xB4 | VK_LAUNCH_MAIL | 0x40000109 | SDLK_MAIL | Mail | Start Mail key
0xB5 | VK_LAUNCH_MEDIA_SELECT | 0x40000107 | SDLK_MEDIASELECT | MediaSelect | Select Media key
0xB6 | VK_LAUNCH_APP1 | 0x4000011B | SDLK_APP1 | App1 | Start Application 1 key
0xB7 | VK_LAUNCH_APP2 | 0x4000011C | SDLK_APP2 | App2 | Start Application 2 key
0xB8 | --- | 0x00000000 | --- | |
0xB9 | --- | 0x00000000 | --- | |
0xBA | VK_OEM_1 | 0x0000003B | SDLK_SEMICOLON | ; | It can vary by keyboard. For the US ANSI keyboard , the Semiсolon and Colon key
0xBB | VK_OEM_PLUS | 0x0000003D | SDLK_EQUALS | = | For any country/region, the Equals and Plus key
0xBC | VK_OEM_COMMA | 0x0000002C | SDLK_COMMA | , | For any country/region, the Comma and Less Than key
0xBD | VK_OEM_MINUS | 0x0000002D | SDLK_MINUS | - | For any country/region, the Dash and Underscore key
0xBE | VK_OEM_PERIOD | 0x0000002E | SDLK_PERIOD | . | For any country/region, the Period and Greater Than key
0xBF | VK_OEM_2 | 0x0000002F | SDLK_SLASH | / | It can vary by keyboard. For the US ANSI keyboard, the Forward Slash and Question Mark key
0xC0 | VK_OEM_3 | 0x00000060 | SDLK_BACKQUOTE | ` | It can vary by keyboard. For the US ANSI keyboard, the Grave Accent and Tilde key
0xC1 | --- | 0x00000000 | --- | |
0xC2 | --- | 0x00000000 | --- | |
0xC3 | --- | 0x00000000 | --- | |
0xC4 | --- | 0x00000000 | --- | |
0xC5 | --- | 0x00000000 | --- | |
0xC6 | --- | 0x00000000 | --- | |
0xC7 | --- | 0x00000000 | --- | |
0xC8 | --- | 0x00000000 | --- | |
0xC9 | --- | 0x00000000 | --- | |
0xCA | --- | 0x00000000 | --- | |
0xCB | --- | 0x00000000 | --- | |
0xCC | --- | 0x00000000 | --- | |
0xCD | --- | 0x00000000 | --- | |
0xCE | --- | 0x00000000 | --- | |
0xCF | --- | 0x00000000 | --- | |
0xD0 | --- | 0x00000000 | --- | |
0xD1 | --- | 0x00000000 | --- | |
0xD2 | --- | 0x00000000 | --- | |
0xD3 | --- | 0x00000000 | --- | |
0xD4 | --- | 0x00000000 | --- | |
0xD5 | --- | 0x00000000 | --- | |
0xD6 | --- | 0x00000000 | --- | |
0xD7 | --- | 0x00000000 | --- | |
0xD8 | --- | 0x00000000 | --- | |
0xD9 | --- | 0x00000000 | --- | |
0xDA | --- | 0x00000000 | --- | |
0xDB | VK_OEM_4 | 0x0000005B | SDLK_LEFTBRACKET | [ | It can vary by keyboard. For the US ANSI keyboard, the Left Brace key
0xDC | VK_OEM_5 | 0x0000005C | SDLK_BACKSLASH | \ | It can vary by keyboard. For the US ANSI keyboard, the Backslash and Pipe key
0xDD | VK_OEM_6 | 0x0000005D | SDLK_RIGHTBRACKET | ] | It can vary by keyboard. For the US ANSI keyboard, the Right Brace key
0xDE | VK_OEM_7 | 0x00000027 | SDLK_QUOTE | ' | It can vary by keyboard. For the US ANSI keyboard, the Apostrophe and Double Quotation Mark key
0xDF | VK_OEM_8 | 0x00000000 | --- | | It can vary by keyboard. For the Canadian CSA keyboard, the Right Ctrl key
0xE0 | --- | 0x00000000 | --- | |
0xE1 | --- | 0x00000000 | --- | |
0xE2 | VK_OEM_102 | 0x00000000 | --- | | It can vary by keyboard. For the European ISO keyboard, the Backslash and Pipe key
0xE3 | --- | 0x00000000 | --- | |
0xE4 | --- | 0x00000000 | --- | |
0xE5 | VK_PROCESSKEY | 0x00000000 | --- | | IME PROCESS key
0xE6 | --- | 0x00000000 | --- | |
0xE7 | VK_PACKET | 0x00000000 | --- | | Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
0xE8 | --- | 0x00000000 | --- | |
0xE9 | --- | 0x00000000 | --- | |
0xEA | --- | 0x00000000 | --- | |
0xEB | --- | 0x00000000 | --- | |
0xEC | --- | 0x00000000 | --- | |
0xED | --- | 0x00000000 | --- | |
0xEE | --- | 0x00000000 | --- | |
0xEF | --- | 0x00000000 | --- | |
0xF0 | --- | 0x00000000 | --- | |
0xF1 | --- | 0x00000000 | --- | |
0xF2 | --- | 0x00000000 | --- | |
0xF3 | --- | 0x00000000 | --- | |
0xF4 | --- | 0x00000000 | --- | |
0xF5 | --- | 0x00000000 | --- | |
0xF6 | VK_ATTN | 0x00000000 | --- | | Attn key
0xF7 | VK_CRSEL | 0x400000A3 | SDLK_CRSEL | CrSel | CrSel key
0xF8 | VK_EXSEL | 0x400000A4 | SDLK_EXSEL | ExSel | ExSel key
0xF9 | VK_EREOF | 0x00000000 | --- | | Erase EOF key
0xFA | VK_PLAY | 0x00000000 | --- | | Play key
0xFB | VK_ZOOM | 0x00000000 | --- | | Zoom key
0xFC | VK_NONAME | 0x00000000 | --- | | Reserved
0xFD | VK_PA1 | 0x00000000 | --- | | PA1 key
0xFE | VK_OEM_CLEAR | 0x00000000 | --- | | Clear key
0xFF | --- | 0x00000000 | --- | |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment