|
| 1 | +#+build windows |
| 2 | +package sys_windows |
| 3 | + |
| 4 | +// Win32 scan codes for QWERTY layout |
| 5 | +// https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes |
| 6 | + |
| 7 | +KB_SYS_POWERDOWN :: 0xE05E |
| 8 | +KB_SYS_SLEEP :: 0xE05F |
| 9 | +KB_SYS_WAKEUP :: 0xE063 |
| 10 | +KB_ERR_ROLLOVER :: 0x00FF |
| 11 | + |
| 12 | +KB_A :: 0x001E |
| 13 | +KB_B :: 0x0030 |
| 14 | +KB_C :: 0x002E |
| 15 | +KB_D :: 0x0020 |
| 16 | +KB_E :: 0x0012 |
| 17 | +KB_F :: 0x0021 |
| 18 | +KB_G :: 0x0022 |
| 19 | +KB_H :: 0x0023 |
| 20 | +KB_I :: 0x0017 |
| 21 | +KB_J :: 0x0024 |
| 22 | +KB_K :: 0x0025 |
| 23 | +KB_L :: 0x0026 |
| 24 | +KB_M :: 0x0032 |
| 25 | +KB_N :: 0x0031 |
| 26 | +KB_O :: 0x0018 |
| 27 | +KB_P :: 0x0019 |
| 28 | +KB_Q :: 0x0010 |
| 29 | +KB_R :: 0x0013 |
| 30 | +KB_S :: 0x001F |
| 31 | +KB_T :: 0x0014 |
| 32 | +KB_U :: 0x0016 |
| 33 | +KB_V :: 0x002F |
| 34 | +KB_W :: 0x0011 |
| 35 | +KB_X :: 0x002D |
| 36 | +KB_Y :: 0x0015 |
| 37 | +KB_Z :: 0x002C |
| 38 | + |
| 39 | +KB_1_BANG :: 0x0002 |
| 40 | +KB_2_AT :: 0x0003 |
| 41 | +KB_3_HASH :: 0x0004 |
| 42 | +KB_4_DOLLAR :: 0x0005 |
| 43 | +KB_5_PERCENT :: 0x0006 |
| 44 | +KB_6_CARET :: 0x0007 |
| 45 | +KB_7_AMPERSAND :: 0x0008 |
| 46 | +KB_8_STAR :: 0x0009 |
| 47 | +KB_9_LEFTBRACKET :: 0x000A |
| 48 | +KB_0_RIGHTBRACKET :: 0x000B |
| 49 | + |
| 50 | +KB_RETURN_ENTER :: 0x001C |
| 51 | +KB_ESCAPE :: 0x0001 |
| 52 | +KB_DELETE :: 0x000E |
| 53 | +KB_TAB :: 0x000F |
| 54 | +KB_SPACEBAR :: 0x0039 |
| 55 | +KB_DASH_UNDERSCORE :: 0x000C |
| 56 | +KB_EQUALS_PLUS :: 0x000D |
| 57 | +KB_LEFTBRACE :: 0x001A |
| 58 | +KB_RIGHTBRACE :: 0x001B |
| 59 | +KB_PIPE_SLASH :: 0x002B |
| 60 | +KB_NONUS :: 0x002B |
| 61 | +KB_SEMICOLON_COLON :: 0x0027 |
| 62 | +KB_APOSTR_DOUBLEQUOT :: 0x0028 |
| 63 | +KB_GRAVEACC_TILDE :: 0x0029 |
| 64 | +KB_COMMA :: 0x0033 |
| 65 | +KB_PERIOD :: 0x0034 |
| 66 | +KB_QUESTIONMARK :: 0x0035 |
| 67 | +KB_CAPSLOCK :: 0x003A |
| 68 | + |
| 69 | +KB_F1 :: 0x003B |
| 70 | +KB_F2 :: 0x003C |
| 71 | +KB_F3 :: 0x003D |
| 72 | +KB_F4 :: 0x003E |
| 73 | +KB_F5 :: 0x003F |
| 74 | +KB_F6 :: 0x0040 |
| 75 | +KB_F7 :: 0x0041 |
| 76 | +KB_F8 :: 0x0042 |
| 77 | +KB_F9 :: 0x0043 |
| 78 | +KB_F10 :: 0x0044 |
| 79 | +KB_F11 :: 0x0057 |
| 80 | +KB_F12 :: 0x0058 |
| 81 | + |
| 82 | +KB_PRINTSCREEN :: 0xE037 |
| 83 | +KB_SCROLLLOCK :: 0x0046 |
| 84 | +KB_PAUSE :: 0xE11D45 |
| 85 | +KB_INSERT :: 0xE052 |
| 86 | +KB_HOME :: 0xE047 |
| 87 | +KB_PAGEUP :: 0xE049 |
| 88 | +KB_DELETEFORWARD :: 0xE053 |
| 89 | +KB_END :: 0xE04F |
| 90 | +KB_PAGEDOWN :: 0xE051 |
| 91 | +KB_RIGHTARROW :: 0xE04D |
| 92 | +KB_LEFTARROW :: 0xE04B |
| 93 | +KB_DOWNARROW :: 0xE050 |
| 94 | +KB_UPARROW :: 0xE048 |
| 95 | + |
| 96 | +KP_NUMLOCK_CLEAR :: 0x0045 |
| 97 | +KP_FORWARDSLASH :: 0xE035 |
| 98 | +KP_STAR :: 0x0037 |
| 99 | +KP_DASH :: 0x004A |
| 100 | +KP_PLUS :: 0x004E |
| 101 | +KP_ENTER :: 0xE01C |
| 102 | +KP_1_END :: 0x004F |
| 103 | +KP_2_DOWNARROW :: 0x0050 |
| 104 | +KP_3_PAGEDN :: 0x0051 |
| 105 | +KP_4_LEFTARROW :: 0x004B |
| 106 | +KP_5 :: 0x004C |
| 107 | +KP_6_RIGHTARROW :: 0x004D |
| 108 | +KP_7_HOME :: 0x0047 |
| 109 | +KP_8_UPARROW :: 0x0048 |
| 110 | +KP_9_PAGEUP :: 0x0049 |
| 111 | +KP_0_INSERT :: 0x0052 |
| 112 | +KP_PERIOD :: 0x0053 |
| 113 | + |
| 114 | +KB_NONUS_SLASHBAR :: 0x0056 |
| 115 | +KB_APPLICATION :: 0xE05D |
| 116 | +KB_POWER :: 0xE05E |
| 117 | +KB_EQUALS :: 0x0059 |
| 118 | +KB_F13 :: 0x0064 |
| 119 | +KB_F14 :: 0x0065 |
| 120 | +KB_F15 :: 0x0066 |
| 121 | +KB_F16 :: 0x0067 |
| 122 | +KB_F17 :: 0x0068 |
| 123 | +KB_F18 :: 0x0069 |
| 124 | +KB_F19 :: 0x006A |
| 125 | +KB_F20 :: 0x006B |
| 126 | +KB_F21 :: 0x006C |
| 127 | +KB_F22 :: 0x006D |
| 128 | +KB_F23 :: 0x006E |
| 129 | +KB_F24 :: 0x0076 |
| 130 | + |
| 131 | +KP_COMMA :: 0x007E |
| 132 | + |
| 133 | +KB_INTERNATIONAL1 :: 0x0073 |
| 134 | +KB_INTERNATIONAL2 :: 0x0070 |
| 135 | +KB_INTERNATIONAL3 :: 0x007D |
| 136 | +KB_INTERNATIONAL4 :: 0x0079 |
| 137 | +KB_INTERNATIONAL5 :: 0x007B |
| 138 | +KB_INTERNATIONAL6 :: 0x005C |
| 139 | + |
| 140 | +KB_LANG1 :: 0x0072 |
| 141 | +KB_LANG2 :: 0x0071 |
| 142 | +KB_LANG3 :: 0x0078 |
| 143 | +KB_LANG4 :: 0x0077 |
| 144 | +KB_LANG5 :: 0x0076 |
| 145 | + |
| 146 | +KB_LEFTCONTROL :: 0x001D |
| 147 | +KB_LEFTSHIFT :: 0x002A |
| 148 | +KB_LEFTALT :: 0x0038 |
| 149 | +KB_LEFTGUI :: 0xE05B |
| 150 | +KB_RIGHTCONTROL :: 0xE01D |
| 151 | +KB_RIGHTSHIFT :: 0x0036 |
| 152 | +KB_RIGHTALT :: 0xE038 |
| 153 | +KB_RIGHTGUI :: 0xE05C |
| 154 | + |
| 155 | +FN_SCANNEXTTRACK :: 0xE019 |
| 156 | +FN_SCANPREVTRACK :: 0xE010 |
| 157 | +FN_STOP :: 0xE024 |
| 158 | +FN_PLAY_PAUSE :: 0xE022 |
| 159 | +FN_MUTE :: 0xE020 |
| 160 | +FN_VOLUMEINC :: 0xE030 |
| 161 | +FN_VOLUMEDEC :: 0xE02E |
| 162 | +FN_AL_CONSUMERCTRLCONFIG :: 0xE06D |
| 163 | +FN_AL_EMAILREADER :: 0xE06C |
| 164 | +FN_AL_CALCULATOR :: 0xE021 |
| 165 | +FN_AL_LOCALMACHINEBROWSER :: 0xE06B |
| 166 | +FN_AC_SEARCH :: 0xE065 |
| 167 | +FN_AC_HOME :: 0xE032 |
| 168 | +FN_AC_BACK :: 0xE06A |
| 169 | +FN_AC_FORWARD :: 0xE069 |
| 170 | +FN_AC_STOP :: 0xE068 |
| 171 | +FN_AC_REFRESH :: 0xE067 |
| 172 | +FN_AC_BOOKMARKS :: 0xE066 |
0 commit comments