keyboard_codes.mojom 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. module ui.mojom;
  5. // Cross platform keyboard codes.
  6. //
  7. // Because the web has standardized on Win32 keyboard codes, so does mojo.
  8. // TODO: shouldn't need extensible, see http://crbug.com/582279
  9. [Extensible]
  10. enum KeyboardCode {
  11. BACK = 0x08,
  12. TAB = 0x09,
  13. CLEAR = 0x0C,
  14. RETURN = 0x0D,
  15. SHIFT = 0x10,
  16. CONTROL = 0x11,
  17. MENU = 0x12, // a.k.a. ALT
  18. PAUSE = 0x13,
  19. CAPITAL = 0x14,
  20. KANA = 0x15,
  21. HANGUL = 0x15,
  22. JUNJA = 0x17,
  23. FINAL = 0x18,
  24. HANJA = 0x19,
  25. KANJI = 0x19,
  26. ESCAPE = 0x1B,
  27. CONVERT = 0x1C,
  28. NONCONVERT = 0x1D,
  29. ACCEPT = 0x1E,
  30. MODECHANGE = 0x1F,
  31. SPACE = 0x20,
  32. PRIOR = 0x21,
  33. NEXT = 0x22,
  34. END = 0x23,
  35. HOME = 0x24,
  36. LEFT = 0x25,
  37. UP = 0x26,
  38. RIGHT = 0x27,
  39. DOWN = 0x28,
  40. SELECT = 0x29,
  41. PRINT = 0x2A,
  42. EXECUTE = 0x2B,
  43. SNAPSHOT = 0x2C,
  44. INSERT = 0x2D,
  45. KEY_DELETE = 0x2E,
  46. HELP = 0x2F,
  47. NUM_0 = 0x30,
  48. NUM_1 = 0x31,
  49. NUM_2 = 0x32,
  50. NUM_3 = 0x33,
  51. NUM_4 = 0x34,
  52. NUM_5 = 0x35,
  53. NUM_6 = 0x36,
  54. NUM_7 = 0x37,
  55. NUM_8 = 0x38,
  56. NUM_9 = 0x39,
  57. A = 0x41,
  58. B = 0x42,
  59. C = 0x43,
  60. D = 0x44,
  61. E = 0x45,
  62. F = 0x46,
  63. G = 0x47,
  64. H = 0x48,
  65. I = 0x49,
  66. J = 0x4A,
  67. K = 0x4B,
  68. L = 0x4C,
  69. M = 0x4D,
  70. N = 0x4E,
  71. O = 0x4F,
  72. P = 0x50,
  73. Q = 0x51,
  74. R = 0x52,
  75. S = 0x53,
  76. T = 0x54,
  77. U = 0x55,
  78. V = 0x56,
  79. W = 0x57,
  80. X = 0x58,
  81. Y = 0x59,
  82. Z = 0x5A,
  83. LWIN = 0x5B,
  84. COMMAND = 0x5B, // Provide the Mac name for convenience.
  85. RWIN = 0x5C,
  86. APPS = 0x5D,
  87. SLEEP = 0x5F,
  88. NUMPAD0 = 0x60,
  89. NUMPAD1 = 0x61,
  90. NUMPAD2 = 0x62,
  91. NUMPAD3 = 0x63,
  92. NUMPAD4 = 0x64,
  93. NUMPAD5 = 0x65,
  94. NUMPAD6 = 0x66,
  95. NUMPAD7 = 0x67,
  96. NUMPAD8 = 0x68,
  97. NUMPAD9 = 0x69,
  98. MULTIPLY = 0x6A,
  99. ADD = 0x6B,
  100. SEPARATOR = 0x6C,
  101. SUBTRACT = 0x6D,
  102. DECIMAL = 0x6E,
  103. DIVIDE = 0x6F,
  104. F1 = 0x70,
  105. F2 = 0x71,
  106. F3 = 0x72,
  107. F4 = 0x73,
  108. F5 = 0x74,
  109. F6 = 0x75,
  110. F7 = 0x76,
  111. F8 = 0x77,
  112. F9 = 0x78,
  113. F10 = 0x79,
  114. F11 = 0x7A,
  115. F12 = 0x7B,
  116. F13 = 0x7C,
  117. F14 = 0x7D,
  118. F15 = 0x7E,
  119. F16 = 0x7F,
  120. F17 = 0x80,
  121. F18 = 0x81,
  122. F19 = 0x82,
  123. F20 = 0x83,
  124. F21 = 0x84,
  125. F22 = 0x85,
  126. F23 = 0x86,
  127. F24 = 0x87,
  128. NUMLOCK = 0x90,
  129. SCROLL = 0x91,
  130. LSHIFT = 0xA0,
  131. RSHIFT = 0xA1,
  132. LCONTROL = 0xA2,
  133. RCONTROL = 0xA3,
  134. LMENU = 0xA4,
  135. RMENU = 0xA5,
  136. BROWSER_BACK = 0xA6,
  137. BROWSER_FORWARD = 0xA7,
  138. BROWSER_REFRESH = 0xA8,
  139. BROWSER_STOP = 0xA9,
  140. BROWSER_SEARCH = 0xAA,
  141. BROWSER_FAVORITES = 0xAB,
  142. BROWSER_HOME = 0xAC,
  143. VOLUME_MUTE = 0xAD,
  144. VOLUME_DOWN = 0xAE,
  145. VOLUME_UP = 0xAF,
  146. MEDIA_NEXT_TRACK = 0xB0,
  147. MEDIA_PREV_TRACK = 0xB1,
  148. MEDIA_STOP = 0xB2,
  149. MEDIA_PLAY_PAUSE = 0xB3,
  150. MEDIA_LAUNCH_MAIL = 0xB4,
  151. MEDIA_LAUNCH_MEDIA_SELECT = 0xB5,
  152. MEDIA_LAUNCH_APP1 = 0xB6,
  153. MEDIA_LAUNCH_APP2 = 0xB7,
  154. OEM_1 = 0xBA,
  155. OEM_PLUS = 0xBB,
  156. OEM_COMMA = 0xBC,
  157. OEM_MINUS = 0xBD,
  158. OEM_PERIOD = 0xBE,
  159. OEM_2 = 0xBF,
  160. OEM_3 = 0xC0,
  161. OEM_4 = 0xDB,
  162. OEM_5 = 0xDC,
  163. OEM_6 = 0xDD,
  164. OEM_7 = 0xDE,
  165. OEM_8 = 0xDF,
  166. OEM_102 = 0xE2,
  167. PROCESSKEY = 0xE5,
  168. PACKET = 0xE7,
  169. DBE_SBCSCHAR = 0xF3,
  170. DBE_DBCSCHAR = 0xF4,
  171. ATTN = 0xF6,
  172. CRSEL = 0xF7,
  173. EXSEL = 0xF8,
  174. EREOF = 0xF9,
  175. PLAY = 0xFA,
  176. ZOOM = 0xFB,
  177. NONAME = 0xFC,
  178. PA1 = 0xFD,
  179. OEM_CLEAR = 0xFE,
  180. UNKNOWN = 0,
  181. // POSIX specific VKEYs. Note that as of Windows SDK 7.1, 0x97-9F, 0xD8-DA,
  182. // and 0xE8 are unassigned.
  183. WLAN = 0x97,
  184. POWER = 0x98,
  185. ASSISTANT = 0x99,
  186. BRIGHTNESS_DOWN = 0xD8,
  187. BRIGHTNESS_UP = 0xD9,
  188. KBD_BRIGHTNESS_DOWN = 0xDA,
  189. KBD_BRIGHTNESS_UP = 0xE8,
  190. // Windows does not have a specific key code for AltGr. We use the unused
  191. // VK_OEM_AX to represent AltGr, matching the behaviour of Firefox on Linux.
  192. ALTGR = 0xE1,
  193. // Windows does not have a specific key code for Compose. We use the unused
  194. // 0xE6 (VK_ICO_CLEAR) code to represent Compose.
  195. COMPOSE = 0xE6,
  196. };