keydefs.c 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. /**** keydefs.c ****************************/
  2. /* M. Moller 2013-01-16 */
  3. /* Universal RPi GPIO keyboard daemon */
  4. /*******************************************/
  5. /*
  6. Copyright (C) 2013 Michael Moller.
  7. This file is part of the Universal Raspberry Pi GPIO keyboard daemon.
  8. This is free software; you can redistribute it and/or
  9. modify it under the terms of the GNU Lesser General Public
  10. License as published by the Free Software Foundation; either
  11. version 2.1 of the License, or (at your option) any later version.
  12. The software is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. Lesser General Public License for more details.
  16. You should have received a copy of the GNU Lesser General Public
  17. License along with the GNU C Library; if not, write to the Free
  18. Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  19. 02111-1307 USA.
  20. */
  21. #include <stdio.h>
  22. #include "gpio_mapping.h"
  23. const key_names_s key_names[] = {
  24. /*
  25. a subset of
  26. sed 's/^#define \([^ \t]\+\)[ \t]*\([^\ \t]\+\)/ { \"\1\",\t\2 },/' /usr/include/linux/input.h
  27. */
  28. { "KEY_RESERVED", 0 },
  29. { "KEY_ESC", 1 },
  30. { "KEY_1", 2 },
  31. { "KEY_2", 3 },
  32. { "KEY_3", 4 },
  33. { "KEY_4", 5 },
  34. { "KEY_5", 6 },
  35. { "KEY_6", 7 },
  36. { "KEY_7", 8 },
  37. { "KEY_8", 9 },
  38. { "KEY_9", 10 },
  39. { "KEY_0", 11 },
  40. { "KEY_MINUS", 12 },
  41. { "KEY_EQUAL", 13 },
  42. { "KEY_BACKSPACE", 14 },
  43. { "KEY_TAB", 15 },
  44. { "KEY_Q", 16 },
  45. { "KEY_W", 17 },
  46. { "KEY_E", 18 },
  47. { "KEY_R", 19 },
  48. { "KEY_T", 20 },
  49. { "KEY_Y", 21 },
  50. { "KEY_U", 22 },
  51. { "KEY_I", 23 },
  52. { "KEY_O", 24 },
  53. { "KEY_P", 25 },
  54. { "KEY_LEFTBRACE", 26 },
  55. { "KEY_RIGHTBRACE", 27 },
  56. { "KEY_ENTER", 28 },
  57. { "KEY_LEFTCTRL", 29 },
  58. { "KEY_A", 30 },
  59. { "KEY_S", 31 },
  60. { "KEY_D", 32 },
  61. { "KEY_F", 33 },
  62. { "KEY_G", 34 },
  63. { "KEY_H", 35 },
  64. { "KEY_J", 36 },
  65. { "KEY_K", 37 },
  66. { "KEY_L", 38 },
  67. { "KEY_SEMICOLON", 39 },
  68. { "KEY_APOSTROPHE", 40 },
  69. { "KEY_GRAVE", 41 },
  70. { "KEY_LEFTSHIFT", 42 },
  71. { "KEY_BACKSLASH", 43 },
  72. { "KEY_Z", 44 },
  73. { "KEY_X", 45 },
  74. { "KEY_C", 46 },
  75. { "KEY_V", 47 },
  76. { "KEY_B", 48 },
  77. { "KEY_N", 49 },
  78. { "KEY_M", 50 },
  79. { "KEY_COMMA", 51 },
  80. { "KEY_DOT", 52 },
  81. { "KEY_SLASH", 53 },
  82. { "KEY_RIGHTSHIFT", 54 },
  83. { "KEY_KPASTERISK", 55 },
  84. { "KEY_LEFTALT", 56 },
  85. { "KEY_SPACE", 57 },
  86. { "KEY_CAPSLOCK", 58 },
  87. { "KEY_F1", 59 },
  88. { "KEY_F2", 60 },
  89. { "KEY_F3", 61 },
  90. { "KEY_F4", 62 },
  91. { "KEY_F5", 63 },
  92. { "KEY_F6", 64 },
  93. { "KEY_F7", 65 },
  94. { "KEY_F8", 66 },
  95. { "KEY_F9", 67 },
  96. { "KEY_F10", 68 },
  97. { "KEY_NUMLOCK", 69 },
  98. { "KEY_SCROLLLOCK", 70 },
  99. { "KEY_KP7", 71 },
  100. { "KEY_KP8", 72 },
  101. { "KEY_KP9", 73 },
  102. { "KEY_KPMINUS", 74 },
  103. { "KEY_KP4", 75 },
  104. { "KEY_KP5", 76 },
  105. { "KEY_KP6", 77 },
  106. { "KEY_KPPLUS", 78 },
  107. { "KEY_KP1", 79 },
  108. { "KEY_KP2", 80 },
  109. { "KEY_KP3", 81 },
  110. { "KEY_KP0", 82 },
  111. { "KEY_KPDOT", 83 },
  112. { "KEY_ZENKAKUHANKAKU", 85 },
  113. { "KEY_102ND", 86 },
  114. { "KEY_F11", 87 },
  115. { "KEY_F12", 88 },
  116. { "KEY_RO", 89 },
  117. { "KEY_KATAKANA", 90 },
  118. { "KEY_HIRAGANA", 91 },
  119. { "KEY_HENKAN", 92 },
  120. { "KEY_KATAKANAHIRAGANA", 93 },
  121. { "KEY_MUHENKAN", 94 },
  122. { "KEY_KPJPCOMMA", 95 },
  123. { "KEY_KPENTER", 96 },
  124. { "KEY_RIGHTCTRL", 97 },
  125. { "KEY_KPSLASH", 98 },
  126. { "KEY_SYSRQ", 99 },
  127. { "KEY_RIGHTALT", 100 },
  128. { "KEY_LINEFEED", 101 },
  129. { "KEY_HOME", 102 },
  130. { "KEY_UP", 103 },
  131. { "KEY_PAGEUP", 104 },
  132. { "KEY_LEFT", 105 },
  133. { "KEY_RIGHT", 106 },
  134. { "KEY_END", 107 },
  135. { "KEY_DOWN", 108 },
  136. { "KEY_PAGEDOWN", 109 },
  137. { "KEY_INSERT", 110 },
  138. { "KEY_DELETE", 111 },
  139. { "KEY_MACRO", 112 },
  140. { "KEY_MUTE", 113 },
  141. { "KEY_VOLUMEDOWN", 114 },
  142. { "KEY_VOLUMEUP", 115 },
  143. { "KEY_POWER", 116 }, /* SC System Power Down */
  144. { "KEY_KPEQUAL", 117 },
  145. { "KEY_KPPLUSMINUS", 118 },
  146. { "KEY_PAUSE", 119 },
  147. { "KEY_SCALE", 120 }, /* AL Compiz Scale (Expose) */
  148. { "KEY_KPCOMMA", 121 },
  149. { "KEY_HANGEUL", 122 },
  150. { "KEY_HANGUEL", 122 /*KEY_HANGEUL*/ },
  151. { "KEY_HANJA", 123 },
  152. { "KEY_YEN", 124 },
  153. { "KEY_LEFTMETA", 125 },
  154. { "KEY_RIGHTMETA", 126 },
  155. { "KEY_COMPOSE", 127 },
  156. { "KEY_STOP", 128 }, /* AC Stop */
  157. { "KEY_AGAIN", 129 },
  158. { "KEY_PROPS", 130 }, /* AC Properties */
  159. { "KEY_UNDO", 131 }, /* AC Undo */
  160. { "KEY_FRONT", 132 },
  161. { "KEY_COPY", 133 }, /* AC Copy */
  162. { "KEY_OPEN", 134 }, /* AC Open */
  163. { "KEY_PASTE", 135 }, /* AC Paste */
  164. { "KEY_FIND", 136 }, /* AC Search */
  165. { "KEY_CUT", 137 }, /* AC Cut */
  166. { "KEY_HELP", 138 }, /* AL Integrated Help Center */
  167. { "KEY_MENU", 139 }, /* Menu (show menu) */
  168. { "KEY_CALC", 140 }, /* AL Calculator */
  169. { "KEY_SETUP", 141 },
  170. { "KEY_SLEEP", 142 }, /* SC System Sleep */
  171. { "KEY_WAKEUP", 143 }, /* System Wake Up */
  172. { "KEY_FILE", 144 }, /* AL Local Machine Browser */
  173. { "KEY_SENDFILE", 145 },
  174. { "KEY_DELETEFILE", 146 },
  175. { "KEY_XFER", 147 },
  176. { "KEY_PROG1", 148 },
  177. { "KEY_PROG2", 149 },
  178. { "KEY_WWW", 150 }, /* AL Internet Browser */
  179. { "KEY_MSDOS", 151 },
  180. { "KEY_COFFEE", 152 }, /* AL Terminal Lock/Screensaver */
  181. { "KEY_SCREENLOCK", 152 /*KEY_COFFEE*/ },
  182. { "KEY_DIRECTION", 153 },
  183. { "KEY_CYCLEWINDOWS", 154 },
  184. { "KEY_MAIL", 155 },
  185. { "KEY_BOOKMARKS", 156 }, /* AC Bookmarks */
  186. { "KEY_COMPUTER", 157 },
  187. { "KEY_BACK", 158 }, /* AC Back */
  188. { "KEY_FORWARD", 159 }, /* AC Forward */
  189. { "KEY_CLOSECD", 160 },
  190. { "KEY_EJECTCD", 161 },
  191. { "KEY_EJECTCLOSECD", 162 },
  192. { "KEY_NEXTSONG", 163 },
  193. { "KEY_PLAYPAUSE", 164 },
  194. { "KEY_PREVIOUSSONG", 165 },
  195. { "KEY_STOPCD", 166 },
  196. { "KEY_RECORD", 167 },
  197. { "KEY_REWIND", 168 },
  198. { "KEY_PHONE", 169 }, /* Media Select Telephone */
  199. { "KEY_ISO", 170 },
  200. { "KEY_CONFIG", 171 }, /* AL Consumer Control Configuration */
  201. { "KEY_HOMEPAGE", 172 }, /* AC Home */
  202. { "KEY_REFRESH", 173 }, /* AC Refresh */
  203. { "KEY_EXIT", 174 }, /* AC Exit */
  204. { "KEY_MOVE", 175 },
  205. { "KEY_EDIT", 176 },
  206. { "KEY_SCROLLUP", 177 },
  207. { "KEY_SCROLLDOWN", 178 },
  208. { "KEY_KPLEFTPAREN", 179 },
  209. { "KEY_KPRIGHTPAREN", 180 },
  210. { "KEY_NEW", 181 }, /* AC New */
  211. { "KEY_REDO", 182 }, /* AC Redo/Repeat */
  212. { "KEY_F13", 183 },
  213. { "KEY_F14", 184 },
  214. { "KEY_F15", 185 },
  215. { "KEY_F16", 186 },
  216. { "KEY_F17", 187 },
  217. { "KEY_F18", 188 },
  218. { "KEY_F19", 189 },
  219. { "KEY_F20", 190 },
  220. { "KEY_F21", 191 },
  221. { "KEY_F22", 192 },
  222. { "KEY_F23", 193 },
  223. { "KEY_F24", 194 },
  224. { "KEY_PLAYCD", 200 },
  225. { "KEY_PAUSECD", 201 },
  226. { "KEY_PROG3", 202 },
  227. { "KEY_PROG4", 203 },
  228. { "KEY_DASHBOARD", 204 }, /* AL Dashboard */
  229. { "KEY_SUSPEND", 205 },
  230. { "KEY_CLOSE", 206 }, /* AC Close */
  231. { "KEY_PLAY", 207 },
  232. { "KEY_FASTFORWARD", 208 },
  233. { "KEY_BASSBOOST", 209 },
  234. { "KEY_PRINT", 210 }, /* AC Print */
  235. { "KEY_HP", 211 },
  236. { "KEY_CAMERA", 212 },
  237. { "KEY_SOUND", 213 },
  238. { "KEY_QUESTION", 214 },
  239. { "KEY_EMAIL", 215 },
  240. { "KEY_CHAT", 216 },
  241. { "KEY_SEARCH", 217 },
  242. { "KEY_CONNECT", 218 },
  243. { "KEY_FINANCE", 219 }, /* AL Checkbook/Finance */
  244. { "KEY_SPORT", 220 },
  245. { "KEY_SHOP", 221 },
  246. { "KEY_ALTERASE", 222 },
  247. { "KEY_CANCEL", 223 }, /* AC Cancel */
  248. { "KEY_BRIGHTNESSDOWN", 224 },
  249. { "KEY_BRIGHTNESSUP", 225 },
  250. { "KEY_MEDIA", 226 },
  251. { "KEY_SWITCHVIDEOMODE", 227 }, /* Cycle between available video
  252. outputs (Monitor/LCD/TV-out/etc) */
  253. { "KEY_KBDILLUMTOGGLE", 228 },
  254. { "KEY_KBDILLUMDOWN", 229 },
  255. { "KEY_KBDILLUMUP", 230 },
  256. { "KEY_SEND", 231 }, /* AC Send */
  257. { "KEY_REPLY", 232 }, /* AC Reply */
  258. { "KEY_FORWARDMAIL", 233 }, /* AC Forward Msg */
  259. { "KEY_SAVE", 234 }, /* AC Save */
  260. { "KEY_DOCUMENTS", 235 },
  261. { "KEY_BATTERY", 236 },
  262. { "KEY_BLUETOOTH", 237 },
  263. { "KEY_WLAN", 238 },
  264. { "KEY_UWB", 239 },
  265. { "KEY_UNKNOWN", 240 },
  266. { "KEY_VIDEO_NEXT", 241 }, /* drive next video source */
  267. { "KEY_VIDEO_PREV", 242 }, /* drive previous video source */
  268. { "KEY_BRIGHTNESS_CYCLE", 243 }, /* brightness up, after max is min */
  269. { "KEY_BRIGHTNESS_ZERO", 244 }, /* brightness off, use ambient */
  270. { "KEY_DISPLAY_OFF", 245 }, /* display device to off state */
  271. { "KEY_WIMAX", 246 },
  272. { "KEY_RFKILL", 247 }, /* Key that controls all radios */
  273. { "KEY_MICMUTE", 248 }, /* Mute / unmute the microphone */
  274. /* Code 255 is reserved for special needs of AT keyboard driver */
  275. { "BTN_MISC", 0x100 },
  276. { "BTN_0", 0x100 },
  277. { "BTN_1", 0x101 },
  278. { "BTN_2", 0x102 },
  279. { "BTN_3", 0x103 },
  280. { "BTN_4", 0x104 },
  281. { "BTN_5", 0x105 },
  282. { "BTN_6", 0x106 },
  283. { "BTN_7", 0x107 },
  284. { "BTN_8", 0x108 },
  285. { "BTN_9", 0x109 },
  286. { "BTN_MOUSE", 0x110 },
  287. { "BTN_LEFT", 0x110 },
  288. { "BTN_RIGHT", 0x111 },
  289. { "BTN_MIDDLE", 0x112 },
  290. { "BTN_SIDE", 0x113 },
  291. { "BTN_EXTRA", 0x114 },
  292. { "BTN_FORWARD", 0x115 },
  293. { "BTN_BACK", 0x116 },
  294. { "BTN_TASK", 0x117 },
  295. { "BTN_JOYSTICK", 0x120 },
  296. { "BTN_TRIGGER", 0x120 },
  297. { "BTN_THUMB", 0x121 },
  298. { "BTN_THUMB2", 0x122 },
  299. { "BTN_TOP", 0x123 },
  300. { "BTN_TOP2", 0x124 },
  301. { "BTN_PINKIE", 0x125 },
  302. { "BTN_BASE", 0x126 },
  303. { "BTN_BASE2", 0x127 },
  304. { "BTN_BASE3", 0x128 },
  305. { "BTN_BASE4", 0x129 },
  306. { "BTN_BASE5", 0x12a },
  307. { "BTN_BASE6", 0x12b },
  308. { "BTN_DEAD", 0x12f },
  309. { "BTN_GAMEPAD", 0x130 },
  310. { "BTN_A", 0x130 },
  311. { "BTN_B", 0x131 },
  312. { "BTN_C", 0x132 },
  313. { "BTN_X", 0x133 },
  314. { "BTN_Y", 0x134 },
  315. { "BTN_Z", 0x135 },
  316. { "BTN_TL", 0x136 },
  317. { "BTN_TR", 0x137 },
  318. { "BTN_TL2", 0x138 },
  319. { "BTN_TR2", 0x139 },
  320. { "BTN_SELECT", 0x13a },
  321. { "BTN_START", 0x13b },
  322. { "BTN_MODE", 0x13c },
  323. { "BTN_THUMBL", 0x13d },
  324. { "BTN_THUMBR", 0x13e },
  325. #if 0
  326. { "BTN_DIGI", 0x140 },
  327. { "BTN_TOOL_PEN", 0x140 },
  328. { "BTN_TOOL_RUBBER", 0x141 },
  329. { "BTN_TOOL_BRUSH", 0x142 },
  330. { "BTN_TOOL_PENCIL", 0x143 },
  331. { "BTN_TOOL_AIRBRUSH", 0x144 },
  332. { "BTN_TOOL_FINGER", 0x145 },
  333. { "BTN_TOOL_MOUSE", 0x146 },
  334. { "BTN_TOOL_LENS", 0x147 },
  335. { "BTN_TOOL_QUINTTAP", 0x148 }, /* Five fingers on trackpad */
  336. { "BTN_TOUCH", 0x14a },
  337. { "BTN_STYLUS", 0x14b },
  338. { "BTN_STYLUS2", 0x14c },
  339. { "BTN_TOOL_DOUBLETAP", 0x14d },
  340. { "BTN_TOOL_TRIPLETAP", 0x14e },
  341. { "BTN_TOOL_QUADTAP", 0x14f }, /* Four fingers on trackpad */
  342. { "BTN_WHEEL", 0x150 },
  343. { "BTN_GEAR_DOWN", 0x150 },
  344. { "BTN_GEAR_UP", 0x151 },
  345. { "KEY_OK", 0x160 },
  346. { "KEY_SELECT", 0x161 },
  347. { "KEY_GOTO", 0x162 },
  348. { "KEY_CLEAR", 0x163 },
  349. { "KEY_POWER2", 0x164 },
  350. { "KEY_OPTION", 0x165 },
  351. { "KEY_INFO", 0x166 }, /* AL OEM Features/Tips/Tutorial */
  352. { "KEY_TIME", 0x167 },
  353. { "KEY_VENDOR", 0x168 },
  354. { "KEY_ARCHIVE", 0x169 },
  355. { "KEY_PROGRAM", 0x16a }, /* Media Select Program Guide */
  356. { "KEY_CHANNEL", 0x16b },
  357. { "KEY_FAVORITES", 0x16c },
  358. { "KEY_EPG", 0x16d },
  359. { "KEY_PVR", 0x16e }, /* Media Select Home */
  360. { "KEY_MHP", 0x16f },
  361. { "KEY_LANGUAGE", 0x170 },
  362. { "KEY_TITLE", 0x171 },
  363. { "KEY_SUBTITLE", 0x172 },
  364. { "KEY_ANGLE", 0x173 },
  365. { "KEY_ZOOM", 0x174 },
  366. { "KEY_MODE", 0x175 },
  367. { "KEY_KEYBOARD", 0x176 },
  368. { "KEY_SCREEN", 0x177 },
  369. { "KEY_PC", 0x178 }, /* Media Select Computer */
  370. { "KEY_TV", 0x179 }, /* Media Select TV */
  371. { "KEY_TV2", 0x17a }, /* Media Select Cable */
  372. { "KEY_VCR", 0x17b }, /* Media Select VCR */
  373. { "KEY_VCR2", 0x17c }, /* VCR Plus */
  374. { "KEY_SAT", 0x17d }, /* Media Select Satellite */
  375. { "KEY_SAT2", 0x17e },
  376. { "KEY_CD", 0x17f }, /* Media Select CD */
  377. { "KEY_TAPE", 0x180 }, /* Media Select Tape */
  378. { "KEY_RADIO", 0x181 },
  379. { "KEY_TUNER", 0x182 }, /* Media Select Tuner */
  380. { "KEY_PLAYER", 0x183 },
  381. { "KEY_TEXT", 0x184 },
  382. { "KEY_DVD", 0x185 }, /* Media Select DVD */
  383. { "KEY_AUX", 0x186 },
  384. { "KEY_MP3", 0x187 },
  385. { "KEY_AUDIO", 0x188 }, /* AL Audio Browser */
  386. { "KEY_VIDEO", 0x189 }, /* AL Movie Browser */
  387. { "KEY_DIRECTORY", 0x18a },
  388. { "KEY_LIST", 0x18b },
  389. { "KEY_MEMO", 0x18c }, /* Media Select Messages */
  390. { "KEY_CALENDAR", 0x18d },
  391. { "KEY_RED", 0x18e },
  392. { "KEY_GREEN", 0x18f },
  393. { "KEY_YELLOW", 0x190 },
  394. { "KEY_BLUE", 0x191 },
  395. { "KEY_CHANNELUP", 0x192 }, /* Channel Increment */
  396. { "KEY_CHANNELDOWN", 0x193 }, /* Channel Decrement */
  397. { "KEY_FIRST", 0x194 },
  398. { "KEY_LAST", 0x195 }, /* Recall Last */
  399. { "KEY_AB", 0x196 },
  400. { "KEY_NEXT", 0x197 },
  401. { "KEY_RESTART", 0x198 },
  402. { "KEY_SLOW", 0x199 },
  403. { "KEY_SHUFFLE", 0x19a },
  404. { "KEY_BREAK", 0x19b },
  405. { "KEY_PREVIOUS", 0x19c },
  406. { "KEY_DIGITS", 0x19d },
  407. { "KEY_TEEN", 0x19e },
  408. { "KEY_TWEN", 0x19f },
  409. { "KEY_VIDEOPHONE", 0x1a0 }, /* Media Select Video Phone */
  410. { "KEY_GAMES", 0x1a1 }, /* Media Select Games */
  411. { "KEY_ZOOMIN", 0x1a2 }, /* AC Zoom In */
  412. { "KEY_ZOOMOUT", 0x1a3 }, /* AC Zoom Out */
  413. { "KEY_ZOOMRESET", 0x1a4 }, /* AC Zoom */
  414. { "KEY_WORDPROCESSOR", 0x1a5 }, /* AL Word Processor */
  415. { "KEY_EDITOR", 0x1a6 }, /* AL Text Editor */
  416. { "KEY_SPREADSHEET", 0x1a7 }, /* AL Spreadsheet */
  417. { "KEY_GRAPHICSEDITOR", 0x1a8 }, /* AL Graphics Editor */
  418. { "KEY_PRESENTATION", 0x1a9 }, /* AL Presentation App */
  419. { "KEY_DATABASE", 0x1aa }, /* AL Database App */
  420. { "KEY_NEWS", 0x1ab }, /* AL Newsreader */
  421. { "KEY_VOICEMAIL", 0x1ac }, /* AL Voicemail */
  422. { "KEY_ADDRESSBOOK", 0x1ad }, /* AL Contacts/Address Book */
  423. { "KEY_MESSENGER", 0x1ae }, /* AL Instant Messaging */
  424. { "KEY_DISPLAYTOGGLE", 0x1af }, /* Turn display (LCD) on and off */
  425. { "KEY_SPELLCHECK", 0x1b0 }, /* AL Spell Check */
  426. { "KEY_LOGOFF", 0x1b1 }, /* AL Logoff */
  427. { "KEY_DOLLAR", 0x1b2 },
  428. { "KEY_EURO", 0x1b3 },
  429. { "KEY_FRAMEBACK", 0x1b4 }, /* Consumer - transport controls */
  430. { "KEY_FRAMEFORWARD", 0x1b5 },
  431. { "KEY_CONTEXT_MENU", 0x1b6 }, /* GenDesc - system context menu */
  432. { "KEY_MEDIA_REPEAT", 0x1b7 }, /* Consumer - transport control */
  433. { "KEY_10CHANNELSUP", 0x1b8 }, /* 10 channels up (10+) */
  434. { "KEY_10CHANNELSDOWN", 0x1b9 }, /* 10 channels down (10-) */
  435. { "KEY_IMAGES", 0x1ba }, /* AL Image Browser */
  436. { "KEY_DEL_EOL", 0x1c0 },
  437. { "KEY_DEL_EOS", 0x1c1 },
  438. { "KEY_INS_LINE", 0x1c2 },
  439. { "KEY_DEL_LINE", 0x1c3 },
  440. { "KEY_FN", 0x1d0 },
  441. { "KEY_FN_ESC", 0x1d1 },
  442. { "KEY_FN_F1", 0x1d2 },
  443. { "KEY_FN_F2", 0x1d3 },
  444. { "KEY_FN_F3", 0x1d4 },
  445. { "KEY_FN_F4", 0x1d5 },
  446. { "KEY_FN_F5", 0x1d6 },
  447. { "KEY_FN_F6", 0x1d7 },
  448. { "KEY_FN_F7", 0x1d8 },
  449. { "KEY_FN_F8", 0x1d9 },
  450. { "KEY_FN_F9", 0x1da },
  451. { "KEY_FN_F10", 0x1db },
  452. { "KEY_FN_F11", 0x1dc },
  453. { "KEY_FN_F12", 0x1dd },
  454. { "KEY_FN_1", 0x1de },
  455. { "KEY_FN_2", 0x1df },
  456. { "KEY_FN_D", 0x1e0 },
  457. { "KEY_FN_E", 0x1e1 },
  458. { "KEY_FN_F", 0x1e2 },
  459. { "KEY_FN_S", 0x1e3 },
  460. { "KEY_FN_B", 0x1e4 },
  461. { "KEY_BRL_DOT1", 0x1f1 },
  462. { "KEY_BRL_DOT2", 0x1f2 },
  463. { "KEY_BRL_DOT3", 0x1f3 },
  464. { "KEY_BRL_DOT4", 0x1f4 },
  465. { "KEY_BRL_DOT5", 0x1f5 },
  466. { "KEY_BRL_DOT6", 0x1f6 },
  467. { "KEY_BRL_DOT7", 0x1f7 },
  468. { "KEY_BRL_DOT8", 0x1f8 },
  469. { "KEY_BRL_DOT9", 0x1f9 },
  470. { "KEY_BRL_DOT10", 0x1fa },
  471. { "KEY_NUMERIC_0", 0x200 }, /* used by phones, remote controls, */
  472. { "KEY_NUMERIC_1", 0x201 }, /* and other keypads */
  473. { "KEY_NUMERIC_2", 0x202 },
  474. { "KEY_NUMERIC_3", 0x203 },
  475. { "KEY_NUMERIC_4", 0x204 },
  476. { "KEY_NUMERIC_5", 0x205 },
  477. { "KEY_NUMERIC_6", 0x206 },
  478. { "KEY_NUMERIC_7", 0x207 },
  479. { "KEY_NUMERIC_8", 0x208 },
  480. { "KEY_NUMERIC_9", 0x209 },
  481. { "KEY_NUMERIC_STAR", 0x20a },
  482. { "KEY_NUMERIC_POUND", 0x20b },
  483. { "KEY_CAMERA_FOCUS", 0x210 },
  484. { "KEY_WPS_BUTTON", 0x211 }, /* WiFi Protected Setup key */
  485. { "KEY_TOUCHPAD_TOGGLE", 0x212 }, /* Request switch touchpad on or off */
  486. { "KEY_TOUCHPAD_ON", 0x213 },
  487. { "KEY_TOUCHPAD_OFF", 0x214 },
  488. { "KEY_CAMERA_ZOOMIN", 0x215 },
  489. { "KEY_CAMERA_ZOOMOUT", 0x216 },
  490. { "KEY_CAMERA_UP", 0x217 },
  491. { "KEY_CAMERA_DOWN", 0x218 },
  492. { "KEY_CAMERA_LEFT", 0x219 },
  493. { "KEY_CAMERA_RIGHT", 0x21a },
  494. { "BTN_TRIGGER_HAPPY", 0x2c0 },
  495. { "BTN_TRIGGER_HAPPY1", 0x2c0 },
  496. { "BTN_TRIGGER_HAPPY2", 0x2c1 },
  497. { "BTN_TRIGGER_HAPPY3", 0x2c2 },
  498. { "BTN_TRIGGER_HAPPY4", 0x2c3 },
  499. { "BTN_TRIGGER_HAPPY5", 0x2c4 },
  500. { "BTN_TRIGGER_HAPPY6", 0x2c5 },
  501. { "BTN_TRIGGER_HAPPY7", 0x2c6 },
  502. { "BTN_TRIGGER_HAPPY8", 0x2c7 },
  503. { "BTN_TRIGGER_HAPPY9", 0x2c8 },
  504. { "BTN_TRIGGER_HAPPY10", 0x2c9 },
  505. { "BTN_TRIGGER_HAPPY11", 0x2ca },
  506. { "BTN_TRIGGER_HAPPY12", 0x2cb },
  507. { "BTN_TRIGGER_HAPPY13", 0x2cc },
  508. { "BTN_TRIGGER_HAPPY14", 0x2cd },
  509. { "BTN_TRIGGER_HAPPY15", 0x2ce },
  510. { "BTN_TRIGGER_HAPPY16", 0x2cf },
  511. { "BTN_TRIGGER_HAPPY17", 0x2d0 },
  512. { "BTN_TRIGGER_HAPPY18", 0x2d1 },
  513. { "BTN_TRIGGER_HAPPY19", 0x2d2 },
  514. { "BTN_TRIGGER_HAPPY20", 0x2d3 },
  515. { "BTN_TRIGGER_HAPPY21", 0x2d4 },
  516. { "BTN_TRIGGER_HAPPY22", 0x2d5 },
  517. { "BTN_TRIGGER_HAPPY23", 0x2d6 },
  518. { "BTN_TRIGGER_HAPPY24", 0x2d7 },
  519. { "BTN_TRIGGER_HAPPY25", 0x2d8 },
  520. { "BTN_TRIGGER_HAPPY26", 0x2d9 },
  521. { "BTN_TRIGGER_HAPPY27", 0x2da },
  522. { "BTN_TRIGGER_HAPPY28", 0x2db },
  523. { "BTN_TRIGGER_HAPPY29", 0x2dc },
  524. { "BTN_TRIGGER_HAPPY30", 0x2dd },
  525. { "BTN_TRIGGER_HAPPY31", 0x2de },
  526. { "BTN_TRIGGER_HAPPY32", 0x2df },
  527. { "BTN_TRIGGER_HAPPY33", 0x2e0 },
  528. { "BTN_TRIGGER_HAPPY34", 0x2e1 },
  529. { "BTN_TRIGGER_HAPPY35", 0x2e2 },
  530. { "BTN_TRIGGER_HAPPY36", 0x2e3 },
  531. { "BTN_TRIGGER_HAPPY37", 0x2e4 },
  532. { "BTN_TRIGGER_HAPPY38", 0x2e5 },
  533. { "BTN_TRIGGER_HAPPY39", 0x2e6 },
  534. { "BTN_TRIGGER_HAPPY40", 0x2e7 },
  535. #endif
  536. { "LAST", -1 },
  537. };