VK.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. // ReSharper disable InconsistentNaming
  2. // ReSharper disable UnusedMember.Global
  3. // ReSharper disable IdentifierTypo
  4. namespace Terminal.Gui.Drivers;
  5. /// <summary>Generated from winuser.h. See https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes</summary>
  6. public enum VK : ushort
  7. {
  8. /// <summary>Left mouse button.</summary>
  9. LBUTTON = 0x01,
  10. /// <summary>Right mouse button.</summary>
  11. RBUTTON = 0x02,
  12. /// <summary>Control-break processing.</summary>
  13. CANCEL = 0x03,
  14. /// <summary>Middle mouse button (three-button mouse).</summary>
  15. MBUTTON = 0x04,
  16. /// <summary>X1 mouse button.</summary>
  17. XBUTTON1 = 0x05,
  18. /// <summary>X2 mouse button.</summary>
  19. XBUTTON2 = 0x06,
  20. /// <summary>BACKSPACE key.</summary>
  21. BACK = 0x08,
  22. /// <summary>TAB key.</summary>
  23. TAB = 0x09,
  24. /// <summary>CLEAR key.</summary>
  25. CLEAR = 0x0C,
  26. /// <summary>ENTER key.</summary>
  27. RETURN = 0x0D,
  28. /// <summary>SHIFT key.</summary>
  29. SHIFT = 0x10,
  30. /// <summary>CTRL key.</summary>
  31. CONTROL = 0x11,
  32. /// <summary>ALT key.</summary>
  33. MENU = 0x12,
  34. /// <summary>PAUSE key.</summary>
  35. PAUSE = 0x13,
  36. /// <summary>CAPS LOCK key.</summary>
  37. CAPITAL = 0x14,
  38. /// <summary>IME Kana mode.</summary>
  39. KANA = 0x15,
  40. /// <summary>IME Hangul mode.</summary>
  41. HANGUL = 0x15,
  42. /// <summary>IME Junja mode.</summary>
  43. JUNJA = 0x17,
  44. /// <summary>IME final mode.</summary>
  45. FINAL = 0x18,
  46. /// <summary>IME Hanja mode.</summary>
  47. HANJA = 0x19,
  48. /// <summary>IME Kanji mode.</summary>
  49. KANJI = 0x19,
  50. /// <summary>ESC key.</summary>
  51. ESCAPE = 0x1B,
  52. /// <summary>IME convert.</summary>
  53. CONVERT = 0x1C,
  54. /// <summary>IME nonconvert.</summary>
  55. NONCONVERT = 0x1D,
  56. /// <summary>IME accept.</summary>
  57. ACCEPT = 0x1E,
  58. /// <summary>IME mode change request.</summary>
  59. MODECHANGE = 0x1F,
  60. /// <summary>SPACEBAR.</summary>
  61. SPACE = 0x20,
  62. /// <summary>PAGE UP key.</summary>
  63. PRIOR = 0x21,
  64. /// <summary>PAGE DOWN key.</summary>
  65. NEXT = 0x22,
  66. /// <summary>END key.</summary>
  67. END = 0x23,
  68. /// <summary>HOME key.</summary>
  69. HOME = 0x24,
  70. /// <summary>LEFT ARROW key.</summary>
  71. LEFT = 0x25,
  72. /// <summary>UP ARROW key.</summary>
  73. UP = 0x26,
  74. /// <summary>RIGHT ARROW key.</summary>
  75. RIGHT = 0x27,
  76. /// <summary>DOWN ARROW key.</summary>
  77. DOWN = 0x28,
  78. /// <summary>SELECT key.</summary>
  79. SELECT = 0x29,
  80. /// <summary>PRINT key.</summary>
  81. PRINT = 0x2A,
  82. /// <summary>EXECUTE key</summary>
  83. EXECUTE = 0x2B,
  84. /// <summary>PRINT SCREEN key</summary>
  85. SNAPSHOT = 0x2C,
  86. /// <summary>INS key</summary>
  87. INSERT = 0x2D,
  88. /// <summary>DEL key</summary>
  89. DELETE = 0x2E,
  90. /// <summary>HELP key</summary>
  91. HELP = 0x2F,
  92. /// <summary>Left Windows key (Natural keyboard)</summary>
  93. LWIN = 0x5B,
  94. /// <summary>Right Windows key (Natural keyboard)</summary>
  95. RWIN = 0x5C,
  96. /// <summary>Applications key (Natural keyboard)</summary>
  97. APPS = 0x5D,
  98. /// <summary>Computer Sleep key</summary>
  99. SLEEP = 0x5F,
  100. /// <summary>Numeric keypad 0 key</summary>
  101. NUMPAD0 = 0x60,
  102. /// <summary>Numeric keypad 1 key</summary>
  103. NUMPAD1 = 0x61,
  104. /// <summary>Numeric keypad 2 key</summary>
  105. NUMPAD2 = 0x62,
  106. /// <summary>Numeric keypad 3 key</summary>
  107. NUMPAD3 = 0x63,
  108. /// <summary>Numeric keypad 4 key</summary>
  109. NUMPAD4 = 0x64,
  110. /// <summary>Numeric keypad 5 key</summary>
  111. NUMPAD5 = 0x65,
  112. /// <summary>Numeric keypad 6 key</summary>
  113. NUMPAD6 = 0x66,
  114. /// <summary>Numeric keypad 7 key</summary>
  115. NUMPAD7 = 0x67,
  116. /// <summary>Numeric keypad 8 key</summary>
  117. NUMPAD8 = 0x68,
  118. /// <summary>Numeric keypad 9 key</summary>
  119. NUMPAD9 = 0x69,
  120. /// <summary>Multiply key</summary>
  121. MULTIPLY = 0x6A,
  122. /// <summary>Add key</summary>
  123. ADD = 0x6B,
  124. /// <summary>Separator key</summary>
  125. SEPARATOR = 0x6C,
  126. /// <summary>Subtract key</summary>
  127. SUBTRACT = 0x6D,
  128. /// <summary>Decimal key</summary>
  129. DECIMAL = 0x6E,
  130. /// <summary>Divide key</summary>
  131. DIVIDE = 0x6F,
  132. /// <summary>F1 key</summary>
  133. F1 = 0x70,
  134. /// <summary>F2 key</summary>
  135. F2 = 0x71,
  136. /// <summary>F3 key</summary>
  137. F3 = 0x72,
  138. /// <summary>F4 key</summary>
  139. F4 = 0x73,
  140. /// <summary>F5 key</summary>
  141. F5 = 0x74,
  142. /// <summary>F6 key</summary>
  143. F6 = 0x75,
  144. /// <summary>F7 key</summary>
  145. F7 = 0x76,
  146. /// <summary>F8 key</summary>
  147. F8 = 0x77,
  148. /// <summary>F9 key</summary>
  149. F9 = 0x78,
  150. /// <summary>F10 key</summary>
  151. F10 = 0x79,
  152. /// <summary>F11 key</summary>
  153. F11 = 0x7A,
  154. /// <summary>F12 key</summary>
  155. F12 = 0x7B,
  156. /// <summary>F13 key</summary>
  157. F13 = 0x7C,
  158. /// <summary>F14 key</summary>
  159. F14 = 0x7D,
  160. /// <summary>F15 key</summary>
  161. F15 = 0x7E,
  162. /// <summary>F16 key</summary>
  163. F16 = 0x7F,
  164. /// <summary>F17 key</summary>
  165. F17 = 0x80,
  166. /// <summary>F18 key</summary>
  167. F18 = 0x81,
  168. /// <summary>F19 key</summary>
  169. F19 = 0x82,
  170. /// <summary>F20 key</summary>
  171. F20 = 0x83,
  172. /// <summary>F21 key</summary>
  173. F21 = 0x84,
  174. /// <summary>F22 key</summary>
  175. F22 = 0x85,
  176. /// <summary>F23 key</summary>
  177. F23 = 0x86,
  178. /// <summary>F24 key</summary>
  179. F24 = 0x87,
  180. /// <summary>NUM LOCK key</summary>
  181. NUMLOCK = 0x90,
  182. /// <summary>SCROLL LOCK key</summary>
  183. SCROLL = 0x91,
  184. /// <summary>NEC PC-9800 kbd definition: '=' key on numpad</summary>
  185. OEM_NEC_EQUAL = 0x92,
  186. /// <summary>Fujitsu/OASYS kbd definition: 'Dictionary' key</summary>
  187. OEM_FJ_JISHO = 0x92,
  188. /// <summary>Fujitsu/OASYS kbd definition: 'Unregister word' key</summary>
  189. OEM_FJ_MASSHOU = 0x93,
  190. /// <summary>Fujitsu/OASYS kbd definition: 'Register word' key</summary>
  191. OEM_FJ_TOUROKU = 0x94,
  192. /// <summary>Fujitsu/OASYS kbd definition: 'Left OYAYUBI' key</summary>
  193. OEM_FJ_LOYA = 0x95,
  194. /// <summary>Fujitsu/OASYS kbd definition: 'Right OYAYUBI' key</summary>
  195. OEM_FJ_ROYA = 0x96,
  196. /// <summary>Left SHIFT key</summary>
  197. LSHIFT = 0xA0,
  198. /// <summary>Right SHIFT key</summary>
  199. RSHIFT = 0xA1,
  200. /// <summary>Left CONTROL key</summary>
  201. LCONTROL = 0xA2,
  202. /// <summary>Right CONTROL key</summary>
  203. RCONTROL = 0xA3,
  204. /// <summary>Left MENU key (Left Alt key)</summary>
  205. LMENU = 0xA4,
  206. /// <summary>Right MENU key (Right Alt key)</summary>
  207. RMENU = 0xA5,
  208. /// <summary>Browser Back key</summary>
  209. BROWSER_BACK = 0xA6,
  210. /// <summary>Browser Forward key</summary>
  211. BROWSER_FORWARD = 0xA7,
  212. /// <summary>Browser Refresh key</summary>
  213. BROWSER_REFRESH = 0xA8,
  214. /// <summary>Browser Stop key</summary>
  215. BROWSER_STOP = 0xA9,
  216. /// <summary>Browser Search key</summary>
  217. BROWSER_SEARCH = 0xAA,
  218. /// <summary>Browser Favorites key</summary>
  219. BROWSER_FAVORITES = 0xAB,
  220. /// <summary>Browser Home key</summary>
  221. BROWSER_HOME = 0xAC,
  222. /// <summary>Volume Mute key</summary>
  223. VOLUME_MUTE = 0xAD,
  224. /// <summary>Volume Down key</summary>
  225. VOLUME_DOWN = 0xAE,
  226. /// <summary>Volume Up key</summary>
  227. VOLUME_UP = 0xAF,
  228. /// <summary>Next Track key</summary>
  229. MEDIA_NEXT_TRACK = 0xB0,
  230. /// <summary>Previous Track key</summary>
  231. MEDIA_PREV_TRACK = 0xB1,
  232. /// <summary>Stop Media key</summary>
  233. MEDIA_STOP = 0xB2,
  234. /// <summary>Play/Pause Media key</summary>
  235. MEDIA_PLAY_PAUSE = 0xB3,
  236. /// <summary>Start Mail key</summary>
  237. LAUNCH_MAIL = 0xB4,
  238. /// <summary>Select Media key</summary>
  239. LAUNCH_MEDIA_SELECT = 0xB5,
  240. /// <summary>Start Application 1 key</summary>
  241. LAUNCH_APP1 = 0xB6,
  242. /// <summary>Start Application 2 key</summary>
  243. LAUNCH_APP2 = 0xB7,
  244. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key</summary>
  245. OEM_1 = 0xBA,
  246. /// <summary>For any country/region, the '+' key</summary>
  247. OEM_PLUS = 0xBB,
  248. /// <summary>For any country/region, the ',' key</summary>
  249. OEM_COMMA = 0xBC,
  250. /// <summary>For any country/region, the '-' key</summary>
  251. OEM_MINUS = 0xBD,
  252. /// <summary>For any country/region, the '.' key</summary>
  253. OEM_PERIOD = 0xBE,
  254. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key</summary>
  255. OEM_2 = 0xBF,
  256. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key</summary>
  257. OEM_3 = 0xC0,
  258. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key</summary>
  259. OEM_4 = 0xDB,
  260. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key</summary>
  261. OEM_5 = 0xDC,
  262. /// <summary>Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key</summary>
  263. OEM_6 = 0xDD,
  264. /// <summary>
  265. /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the
  266. /// 'single-quote/double-quote' key
  267. /// </summary>
  268. OEM_7 = 0xDE,
  269. /// <summary>Used for miscellaneous characters; it can vary by keyboard.</summary>
  270. OEM_8 = 0xDF,
  271. /// <summary>'AX' key on Japanese AX kbd</summary>
  272. OEM_AX = 0xE1,
  273. /// <summary>Either the angle bracket key or the backslash key on the RT 102-key keyboard</summary>
  274. OEM_102 = 0xE2,
  275. /// <summary>Help key on ICO</summary>
  276. ICO_HELP = 0xE3,
  277. /// <summary>00 key on ICO</summary>
  278. ICO_00 = 0xE4,
  279. /// <summary>Process key</summary>
  280. PROCESSKEY = 0xE5,
  281. /// <summary>Clear key on ICO</summary>
  282. ICO_CLEAR = 0xE6,
  283. /// <summary>Packet key to be used to pass Unicode characters as if they were keystrokes</summary>
  284. PACKET = 0xE7,
  285. /// <summary>Reset key</summary>
  286. OEM_RESET = 0xE9,
  287. /// <summary>Jump key</summary>
  288. OEM_JUMP = 0xEA,
  289. /// <summary>PA1 key</summary>
  290. OEM_PA1 = 0xEB,
  291. /// <summary>PA2 key</summary>
  292. OEM_PA2 = 0xEC,
  293. /// <summary>PA3 key</summary>
  294. OEM_PA3 = 0xED,
  295. /// <summary>WsCtrl key</summary>
  296. OEM_WSCTRL = 0xEE,
  297. /// <summary>CuSel key</summary>
  298. OEM_CUSEL = 0xEF,
  299. /// <summary>Attn key</summary>
  300. OEM_ATTN = 0xF0,
  301. /// <summary>Finish key</summary>
  302. OEM_FINISH = 0xF1,
  303. /// <summary>Copy key</summary>
  304. OEM_COPY = 0xF2,
  305. /// <summary>Auto key</summary>
  306. OEM_AUTO = 0xF3,
  307. /// <summary>Enlw key</summary>
  308. OEM_ENLW = 0xF4,
  309. /// <summary>BackTab key</summary>
  310. OEM_BACKTAB = 0xF5,
  311. /// <summary>Attn key</summary>
  312. ATTN = 0xF6,
  313. /// <summary>CrSel key</summary>
  314. CRSEL = 0xF7,
  315. /// <summary>ExSel key</summary>
  316. EXSEL = 0xF8,
  317. /// <summary>Erase EOF key</summary>
  318. EREOF = 0xF9,
  319. /// <summary>Play key</summary>
  320. PLAY = 0xFA,
  321. /// <summary>Zoom key</summary>
  322. ZOOM = 0xFB,
  323. /// <summary>Reserved</summary>
  324. NONAME = 0xFC,
  325. /// <summary>PA1 key</summary>
  326. PA1 = 0xFD,
  327. /// <summary>Clear key</summary>
  328. OEM_CLEAR = 0xFE
  329. }