scan_codes.odin 4.0 KB

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