nvec-keytable.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. /*
  2. * drivers/input/keyboard/tegra-nvec.c
  3. *
  4. * Keyboard class input driver for keyboards connected to an NvEc compliant
  5. * embedded controller
  6. *
  7. * Copyright (c) 2009, NVIDIA Corporation.
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License as published by
  11. * the Free Software Foundation; either version 2 of the License, or
  12. * (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful, but WITHOUT
  15. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  16. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  17. * more details.
  18. *
  19. * You should have received a copy of the GNU General Public License along
  20. * with this program; if not, write to the Free Software Foundation, Inc.,
  21. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  22. */
  23. static unsigned short code_tab_102us[] = {
  24. /* 0x00 */
  25. KEY_GRAVE,
  26. KEY_ESC,
  27. KEY_1,
  28. KEY_2,
  29. KEY_3,
  30. KEY_4,
  31. KEY_5,
  32. KEY_6,
  33. KEY_7,
  34. KEY_8,
  35. KEY_9,
  36. KEY_0,
  37. KEY_MINUS,
  38. KEY_EQUAL,
  39. KEY_BACKSPACE,
  40. KEY_TAB,
  41. /* 0x10 */
  42. KEY_Q,
  43. KEY_W,
  44. KEY_E,
  45. KEY_R,
  46. KEY_T,
  47. KEY_Y,
  48. KEY_U,
  49. KEY_I,
  50. KEY_O,
  51. KEY_P,
  52. KEY_LEFTBRACE,
  53. KEY_RIGHTBRACE,
  54. KEY_ENTER,
  55. KEY_LEFTCTRL,
  56. KEY_A,
  57. KEY_S,
  58. /* 0x20 */
  59. KEY_D,
  60. KEY_F,
  61. KEY_G,
  62. KEY_H,
  63. KEY_J,
  64. KEY_K,
  65. KEY_L,
  66. KEY_SEMICOLON,
  67. KEY_APOSTROPHE,
  68. KEY_GRAVE,
  69. KEY_LEFTSHIFT,
  70. KEY_BACKSLASH,
  71. KEY_Z,
  72. KEY_X,
  73. KEY_C,
  74. KEY_V,
  75. /* 0x30 */
  76. KEY_B,
  77. KEY_N,
  78. KEY_M,
  79. KEY_COMMA,
  80. KEY_DOT,
  81. KEY_SLASH,
  82. KEY_RIGHTSHIFT,
  83. KEY_KPASTERISK,
  84. KEY_LEFTALT,
  85. KEY_SPACE,
  86. KEY_CAPSLOCK,
  87. KEY_F1,
  88. KEY_F2,
  89. KEY_F3,
  90. KEY_F4,
  91. KEY_F5,
  92. /* 0x40 */
  93. KEY_F6,
  94. KEY_F7,
  95. KEY_F8,
  96. KEY_F9,
  97. KEY_F10,
  98. KEY_FN,
  99. /* VK_SCROLL */
  100. 0,
  101. KEY_KP7,
  102. KEY_KP8,
  103. KEY_KP9,
  104. KEY_KPMINUS,
  105. KEY_KP4,
  106. KEY_KP5,
  107. KEY_KP6,
  108. KEY_KPPLUS,
  109. KEY_KP1,
  110. /* 0x50 */
  111. KEY_KP2,
  112. KEY_KP3,
  113. KEY_KP0,
  114. KEY_KPDOT,
  115. /* VK_SNAPSHOT */
  116. KEY_MENU,
  117. KEY_POWER,
  118. /* VK_OEM_102 */
  119. KEY_102ND,
  120. KEY_F11,
  121. KEY_F12,
  122. 0,
  123. 0,
  124. 0,
  125. 0,
  126. 0,
  127. 0,
  128. 0,
  129. /* 0x60 */
  130. 0,
  131. 0,
  132. 0,
  133. KEY_SEARCH,
  134. 0,
  135. 0,
  136. 0,
  137. 0,
  138. 0,
  139. 0,
  140. 0,
  141. 0,
  142. 0,
  143. 0,
  144. 0,
  145. 0,
  146. /* 0x70 */
  147. 0,
  148. 0,
  149. 0,
  150. KEY_KP5,
  151. 0,
  152. 0,
  153. 0,
  154. 0,
  155. 0,
  156. 0,
  157. 0,
  158. 0,
  159. 0,
  160. KEY_KP9,
  161. };
  162. static unsigned short extcode_tab_us102[] = {
  163. 0,
  164. 0,
  165. 0,
  166. 0,
  167. 0,
  168. 0,
  169. 0,
  170. 0,
  171. 0,
  172. 0,
  173. 0,
  174. 0,
  175. 0,
  176. 0,
  177. 0,
  178. 0,
  179. /* 0x10 */
  180. 0,
  181. 0,
  182. 0,
  183. 0,
  184. 0,
  185. 0,
  186. 0,
  187. 0,
  188. 0,
  189. /* VK_MEDIA_NEXT_TRACK */
  190. 0,
  191. 0,
  192. 0,
  193. /* VK_RETURN */
  194. 0,
  195. KEY_RIGHTCTRL,
  196. 0,
  197. 0,
  198. /* 0x20 */
  199. KEY_MUTE,
  200. /* VK_LAUNCH_APP1 */
  201. 0,
  202. /* VK_MEDIA_PLAY_PAUSE */
  203. 0,
  204. 0,
  205. /* VK_MEDIA_STOP */
  206. 0,
  207. 0,
  208. 0,
  209. 0,
  210. 0,
  211. 0,
  212. 0,
  213. 0,
  214. 0,
  215. 0,
  216. 0,
  217. 0,
  218. /* 0x30 */
  219. KEY_VOLUMEUP,
  220. 0,
  221. /* VK_BROWSER_HOME */
  222. 0,
  223. 0,
  224. 0,
  225. /* VK_DIVIDE */
  226. KEY_KPSLASH,
  227. 0,
  228. /* VK_SNAPSHOT */
  229. KEY_SYSRQ,
  230. /* VK_RMENU */
  231. KEY_RIGHTALT,
  232. /* VK_OEM_NV_BACKLIGHT_UP */
  233. 0,
  234. /* VK_OEM_NV_BACKLIGHT_DN */
  235. 0,
  236. /* VK_OEM_NV_BACKLIGHT_AUTOTOGGLE */
  237. 0,
  238. /* VK_OEM_NV_POWER_INFO */
  239. 0,
  240. /* VK_OEM_NV_WIFI_TOGGLE */
  241. 0,
  242. /* VK_OEM_NV_DISPLAY_SELECT */
  243. 0,
  244. /* VK_OEM_NV_AIRPLANE_TOGGLE */
  245. 0,
  246. /* 0x40 */
  247. 0,
  248. KEY_LEFT,
  249. 0,
  250. 0,
  251. 0,
  252. 0,
  253. KEY_CANCEL,
  254. KEY_HOME,
  255. KEY_UP,
  256. KEY_PAGEUP,
  257. 0,
  258. KEY_LEFT,
  259. 0,
  260. KEY_RIGHT,
  261. 0,
  262. KEY_END,
  263. /* 0x50 */
  264. KEY_DOWN,
  265. KEY_PAGEDOWN,
  266. KEY_INSERT,
  267. KEY_DELETE,
  268. 0,
  269. 0,
  270. 0,
  271. 0,
  272. 0,
  273. 0,
  274. 0,
  275. KEY_LEFTMETA,
  276. 0,
  277. KEY_ESC,
  278. KEY_KPMINUS,
  279. 0,
  280. 0,
  281. 0,
  282. 0,
  283. 0,
  284. 0,
  285. /* VK_BROWSER_SEARCH */
  286. 0,
  287. /* VK_BROWSER_FAVORITES */
  288. 0,
  289. /* VK_BROWSER_REFRESH */
  290. 0,
  291. /* VK_BROWSER_STOP */
  292. 0,
  293. /* VK_BROWSER_FORWARD */
  294. 0,
  295. /* VK_BROWSER_BACK */
  296. 0,
  297. /* VK_LAUNCH_APP2 */
  298. 0,
  299. /* VK_LAUNCH_MAIL */
  300. 0,
  301. /* VK_LAUNCH_MEDIA_SELECT */
  302. 0,
  303. };
  304. static unsigned short *code_tabs[] = { code_tab_102us, extcode_tab_us102 };