Created
December 24, 2025 02:23
-
-
Save fp64/4a53dfbb323323274885c97ffea280d6 to your computer and use it in GitHub Desktop.
Quick-and-dirty conversion between VK_* and SDLK_* keycodes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 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]; | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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