keyboard-keys-from-name.h 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923
  1. /* ANSI-C code produced by gperf version 3.0.4 */
  2. /* Command-line: gperf -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C */
  3. /* Computed positions: -k'1-4,$' */
  4. #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
  5. && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
  6. && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
  7. && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
  8. && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
  9. && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
  10. && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
  11. && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
  12. && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
  13. && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
  14. && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
  15. && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
  16. && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
  17. && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
  18. && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
  19. && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
  20. && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
  21. && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
  22. && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
  23. && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
  24. && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
  25. && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
  26. && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
  27. /* The character set is not based on ISO-646. */
  28. #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
  29. #endif
  30. struct key { const char* name; unsigned short id; };
  31. #define TOTAL_KEYWORDS 392
  32. #define MIN_WORD_LENGTH 1
  33. #define MAX_WORD_LENGTH 16
  34. #define MIN_HASH_VALUE 1
  35. #define MAX_HASH_VALUE 1503
  36. /* maximum key range = 1503, duplicates = 0 */
  37. #ifdef __GNUC__
  38. __inline
  39. #else
  40. #ifdef __cplusplus
  41. inline
  42. #endif
  43. #endif
  44. static unsigned int
  45. hash_key_name (register const char *str, register unsigned int len)
  46. {
  47. static const unsigned short asso_values[] =
  48. {
  49. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  50. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  51. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  52. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  53. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 130, 165,
  54. 295, 285, 310, 370, 335, 220, 215, 75, 1504, 1504,
  55. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  56. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  57. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  58. 1504, 1504, 1504, 1504, 1504, 75, 1504, 10, 330, 25,
  59. 80, 5, 395, 260, 345, 185, 50, 300, 110, 30,
  60. 145, 35, 15, 45, 65, 20, 0, 210, 455, 375,
  61. 55, 95, 85, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  62. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  63. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  64. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  65. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  66. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  67. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  68. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  69. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  70. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  71. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  72. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  73. 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
  74. 1504, 1504, 1504, 1504, 1504, 1504
  75. };
  76. register int hval = len;
  77. switch (hval)
  78. {
  79. default:
  80. hval += asso_values[(unsigned char)str[3]];
  81. /*FALLTHROUGH*/
  82. case 3:
  83. hval += asso_values[(unsigned char)str[2]];
  84. /*FALLTHROUGH*/
  85. case 2:
  86. hval += asso_values[(unsigned char)str[1]];
  87. /*FALLTHROUGH*/
  88. case 1:
  89. hval += asso_values[(unsigned char)str[0]];
  90. break;
  91. }
  92. return hval + asso_values[(unsigned char)str[len - 1]];
  93. }
  94. #ifdef __GNUC__
  95. __inline
  96. #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
  97. __attribute__ ((__gnu_inline__))
  98. #endif
  99. #endif
  100. const struct key *
  101. keyboard_lookup_key (register const char *str, register unsigned int len)
  102. {
  103. static const struct key wordlist[] =
  104. {
  105. {(char*)0},
  106. {"t", KEY_T},
  107. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  108. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  109. {(char*)0},
  110. {"e", KEY_E},
  111. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  112. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  113. {(char*)0},
  114. {"a", KEY_A},
  115. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  116. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  117. {(char*)0},
  118. {"p", KEY_P},
  119. {(char*)0},
  120. {"sat", KEY_SAT},
  121. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  122. {(char*)0},
  123. {"tape", KEY_TAPE},
  124. {(char*)0},
  125. {"s", KEY_S},
  126. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  127. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  128. {(char*)0},
  129. {"c", KEY_C},
  130. {(char*)0}, {(char*)0}, {(char*)0},
  131. {"paste", KEY_PASTE},
  132. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  133. {(char*)0},
  134. {"m", KEY_M},
  135. {(char*)0}, {(char*)0},
  136. {"text", KEY_TEXT},
  137. {(char*)0}, {(char*)0},
  138. {"pc", KEY_PC},
  139. {(char*)0}, {(char*)0}, {(char*)0},
  140. {"o", KEY_O},
  141. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  142. {(char*)0}, {(char*)0},
  143. {"esc", KEY_ESC},
  144. {(char*)0},
  145. {"space", KEY_SPACE},
  146. {"camera_left", KEY_CAMERA_LEFT},
  147. {"camera_right", KEY_CAMERA_RIGHT},
  148. {(char*)0},
  149. {"camera_zoomout", KEY_CAMERA_ZOOMOUT},
  150. {(char*)0},
  151. {"camera", KEY_CAMERA},
  152. {(char*)0}, {(char*)0},
  153. {"stop", KEY_STOP},
  154. {(char*)0},
  155. {"q", KEY_Q},
  156. {(char*)0}, {(char*)0},
  157. {"camera_up", KEY_CAMERA_UP},
  158. {"apostrophe", KEY_APOSTROPHE},
  159. {(char*)0},
  160. {"restart", KEY_RESTART},
  161. {(char*)0}, {(char*)0}, {(char*)0},
  162. {"j", KEY_J},
  163. {"camera_focus", KEY_CAMERA_FOCUS},
  164. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  165. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  166. {"x", KEY_X},
  167. {(char*)0},
  168. {"database", KEY_DATABASE},
  169. {(char*)0}, {(char*)0},
  170. {"spreadsheet", KEY_SPREADSHEET},
  171. {"compose", KEY_COMPOSE},
  172. {"dot", KEY_DOT},
  173. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  174. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  175. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  176. {"r", KEY_R},
  177. {(char*)0}, {(char*)0}, {(char*)0},
  178. {"comma", KEY_COMMA},
  179. {(char*)0},
  180. {"ro", KEY_RO},
  181. {"alterase", KEY_ALTERASE},
  182. {"memo", KEY_MEMO},
  183. {"sport", KEY_SPORT},
  184. {(char*)0}, {(char*)0}, {(char*)0},
  185. {"last", KEY_LAST},
  186. {(char*)0},
  187. {"select", KEY_SELECT},
  188. {(char*)0}, {(char*)0},
  189. {"messenger", KEY_MESSENGER},
  190. {(char*)0},
  191. {"9", KEY_9},
  192. {(char*)0}, {(char*)0}, {(char*)0},
  193. {"props", KEY_PROPS},
  194. {"stopcd", KEY_STOPCD},
  195. {(char*)0}, {(char*)0},
  196. {"mode", KEY_MODE},
  197. {"sleep", KEY_SLEEP},
  198. {"d", KEY_D},
  199. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  200. {(char*)0}, {(char*)0},
  201. {"scrollup", KEY_SCROLLUP},
  202. {(char*)0},
  203. {"macro", KEY_MACRO},
  204. {"z", KEY_Z},
  205. {"ejectcd", KEY_EJECTCD},
  206. {(char*)0}, {(char*)0},
  207. {"scale", KEY_SCALE},
  208. {(char*)0},
  209. {"ejectclosecd", KEY_EJECTCLOSECD},
  210. {"computer", KEY_COMPUTER},
  211. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  212. {"reserved", KEY_RESERVED},
  213. {(char*)0}, {(char*)0}, {(char*)0},
  214. {"cd", KEY_CD},
  215. {(char*)0}, {(char*)0},
  216. {"msdos", KEY_MSDOS},
  217. {"y", KEY_Y},
  218. {"zoomout", KEY_ZOOMOUT},
  219. {(char*)0},
  220. {"zoomreset", KEY_ZOOMRESET},
  221. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  222. {"calc", KEY_CALC},
  223. {"close", KEY_CLOSE},
  224. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  225. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  226. {"next", KEY_NEXT},
  227. {(char*)0},
  228. {"delete", KEY_DELETE},
  229. {(char*)0}, {(char*)0}, {(char*)0},
  230. {"deletefile", KEY_DELETEFILE},
  231. {"record", KEY_RECORD},
  232. {(char*)0}, {(char*)0},
  233. {"zoom", KEY_ZOOM},
  234. {"clear", KEY_CLEAR},
  235. {"l", KEY_L},
  236. {(char*)0},
  237. {"calendar", KEY_CALENDAR},
  238. {"redo", KEY_REDO},
  239. {"enter", KEY_ENTER},
  240. {"camera_down", KEY_CAMERA_DOWN},
  241. {(char*)0},
  242. {"camera_zoomin", KEY_CAMERA_ZOOMIN},
  243. {"time", KEY_TIME},
  244. {(char*)0}, {(char*)0}, {(char*)0},
  245. {"red", KEY_RED},
  246. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  247. {"cut", KEY_CUT},
  248. {(char*)0}, {(char*)0}, {(char*)0},
  249. {"up", KEY_UP},
  250. {(char*)0},
  251. {"playpause", KEY_PLAYPAUSE},
  252. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  253. {"exit", KEY_EXIT},
  254. {"sysrq", KEY_SYSRQ},
  255. {(char*)0}, {(char*)0}, {(char*)0},
  256. {"mute", KEY_MUTE},
  257. {"setup", KEY_SETUP},
  258. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  259. {(char*)0},
  260. {"0", KEY_0},
  261. {"presentation", KEY_PRESENTATION},
  262. {"sendfile", KEY_SENDFILE},
  263. {(char*)0},
  264. {"pause", KEY_PAUSE},
  265. {"screen", KEY_SCREEN},
  266. {(char*)0}, {(char*)0},
  267. {"copy", KEY_COPY},
  268. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  269. {"edit", KEY_EDIT},
  270. {(char*)0}, {(char*)0},
  271. {"closecd", KEY_CLOSECD},
  272. {"iso", KEY_ISO},
  273. {(char*)0}, {(char*)0}, {(char*)0},
  274. {"micmute", KEY_MICMUTE},
  275. {"del_line", KEY_DEL_LINE},
  276. {(char*)0}, {(char*)0}, {(char*)0},
  277. {"cyclewindows", KEY_CYCLEWINDOWS},
  278. {(char*)0}, {(char*)0},
  279. {"touchpad_toggle", KEY_TOUCHPAD_TOGGLE},
  280. {"n", KEY_N},
  281. {(char*)0}, {(char*)0}, {(char*)0},
  282. {"reply", KEY_REPLY},
  283. {(char*)0},
  284. {"del_eos", KEY_DEL_EOS},
  285. {(char*)0}, {(char*)0},
  286. {"scrolldown", KEY_SCROLLDOWN},
  287. {"player", KEY_PLAYER},
  288. {(char*)0}, {(char*)0},
  289. {"teen", KEY_TEEN},
  290. {"title", KEY_TITLE},
  291. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  292. {(char*)0},
  293. {"pageup", KEY_PAGEUP},
  294. {"media_repeat", KEY_MEDIA_REPEAT},
  295. {"end", KEY_END},
  296. {(char*)0},
  297. {"media", KEY_MEDIA},
  298. {"playcd", KEY_PLAYCD},
  299. {(char*)0},
  300. {"displaytoggle", KEY_DISPLAYTOGGLE},
  301. {"list", KEY_LIST},
  302. {(char*)0},
  303. {"cancel", KEY_CANCEL},
  304. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  305. {(char*)0}, {(char*)0}, {(char*)0},
  306. {"play", KEY_PLAY},
  307. {"games", KEY_GAMES},
  308. {"1", KEY_1},
  309. {(char*)0},
  310. {"aux", KEY_AUX},
  311. {"send", KEY_SEND},
  312. {(char*)0},
  313. {"zoomin", KEY_ZOOMIN},
  314. {(char*)0},
  315. {"katakana", KEY_KATAKANA},
  316. {(char*)0}, {(char*)0},
  317. {"editor", KEY_EDITOR},
  318. {"pausecd", KEY_PAUSECD},
  319. {(char*)0}, {(char*)0},
  320. {"email", KEY_EMAIL},
  321. {"katakanahiragana", KEY_KATAKANAHIRAGANA},
  322. {(char*)0}, {(char*)0},
  323. {"open", KEY_OPEN},
  324. {(char*)0}, {(char*)0},
  325. {"suspend", KEY_SUSPEND},
  326. {(char*)0},
  327. {"euro", KEY_EURO},
  328. {(char*)0}, {(char*)0},
  329. {"connect", KEY_CONNECT},
  330. {(char*)0}, {(char*)0}, {(char*)0},
  331. {"insert", KEY_INSERT},
  332. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  333. {(char*)0}, {(char*)0}, {(char*)0},
  334. {"goto", KEY_GOTO},
  335. {(char*)0},
  336. {"i", KEY_I},
  337. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  338. {(char*)0},
  339. {"hp", KEY_HP},
  340. {"capslock", KEY_CAPSLOCK},
  341. {"documents", KEY_DOCUMENTS},
  342. {"radio", KEY_RADIO},
  343. {(char*)0}, {(char*)0}, {(char*)0},
  344. {"chat", KEY_CHAT},
  345. {"equal", KEY_EQUAL},
  346. {"option", KEY_OPTION},
  347. {"del_eol", KEY_DEL_EOL},
  348. {(char*)0},
  349. {"bassboost", KEY_BASSBOOST},
  350. {(char*)0}, {(char*)0},
  351. {"kpcomma", KEY_KPCOMMA},
  352. {"yen", KEY_YEN},
  353. {"semicolon", KEY_SEMICOLON},
  354. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  355. {"kpjpcomma", KEY_KPJPCOMMA},
  356. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  357. {(char*)0}, {(char*)0},
  358. {"dollar", KEY_DOLLAR},
  359. {(char*)0},
  360. {"mhp", KEY_MHP},
  361. {(char*)0}, {(char*)0}, {(char*)0},
  362. {"program", KEY_PROGRAM},
  363. {(char*)0}, {(char*)0},
  364. {"print", KEY_PRINT},
  365. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  366. {(char*)0},
  367. {"u", KEY_U},
  368. {(char*)0}, {(char*)0},
  369. {"home", KEY_HOME},
  370. {"screenlock", KEY_SCREENLOCK},
  371. {"touchpad_on", KEY_TOUCHPAD_ON},
  372. {"context_menu", KEY_CONTEXT_MENU},
  373. {"homepage", KEY_HOMEPAGE},
  374. {"graphicseditor", KEY_GRAPHICSEDITOR},
  375. {"tuner", KEY_TUNER},
  376. {"8", KEY_8},
  377. {(char*)0},
  378. {"question", KEY_QUESTION},
  379. {"shop", KEY_SHOP},
  380. {"kpdot", KEY_KPDOT},
  381. {(char*)0}, {(char*)0},
  382. {"ins_line", KEY_INS_LINE},
  383. {"directory", KEY_DIRECTORY},
  384. {(char*)0},
  385. {"7", KEY_7},
  386. {"battery", KEY_BATTERY},
  387. {"pagedown", KEY_PAGEDOWN},
  388. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  389. {(char*)0},
  390. {"mail", KEY_MAIL},
  391. {(char*)0},
  392. {"search", KEY_SEARCH},
  393. {(char*)0}, {(char*)0}, {(char*)0},
  394. {"scrolllock", KEY_SCROLLLOCK},
  395. {(char*)0},
  396. {"archive", KEY_ARCHIVE},
  397. {(char*)0}, {(char*)0},
  398. {"spellcheck", KEY_SPELLCHECK},
  399. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  400. {(char*)0},
  401. {"kpplus", KEY_KPPLUS},
  402. {"numeric_star", KEY_NUMERIC_STAR},
  403. {"kp9", KEY_KP9},
  404. {(char*)0}, {(char*)0},
  405. {"kpplusminus", KEY_KPPLUSMINUS},
  406. {(char*)0},
  407. {"nextsong", KEY_NEXTSONG},
  408. {"numeric_9", KEY_NUMERIC_9},
  409. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  410. {(char*)0}, {(char*)0}, {(char*)0},
  411. {"kpequal", KEY_KPEQUAL},
  412. {"numeric_pound", KEY_NUMERIC_POUND},
  413. {(char*)0},
  414. {"green", KEY_GREEN},
  415. {(char*)0}, {(char*)0}, {(char*)0},
  416. {"direction", KEY_DIRECTION},
  417. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  418. {"help", KEY_HELP},
  419. {"sound", KEY_SOUND},
  420. {(char*)0}, {(char*)0}, {(char*)0},
  421. {"save", KEY_SAVE},
  422. {"power", KEY_POWER},
  423. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  424. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  425. {"undo", KEY_UNDO},
  426. {"slash", KEY_SLASH},
  427. {"images", KEY_IMAGES},
  428. {(char*)0}, {(char*)0},
  429. {"left", KEY_LEFT},
  430. {(char*)0},
  431. {"fastforward", KEY_FASTFORWARD},
  432. {"leftalt", KEY_LEFTALT},
  433. {(char*)0},
  434. {"leftshift", KEY_LEFTSHIFT},
  435. {(char*)0},
  436. {"g", KEY_G},
  437. {(char*)0}, {(char*)0},
  438. {"leftbrace", KEY_LEFTBRACE},
  439. {"audio", KEY_AUDIO},
  440. {(char*)0}, {(char*)0},
  441. {"leftmeta", KEY_LEFTMETA},
  442. {"numeric_0", KEY_NUMERIC_0},
  443. {(char*)0}, {(char*)0}, {(char*)0},
  444. {"linefeed", KEY_LINEFEED},
  445. {"move", KEY_MOVE},
  446. {"angle", KEY_ANGLE},
  447. {(char*)0},
  448. {"kpenter", KEY_KPENTER},
  449. {"language", KEY_LANGUAGE},
  450. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  451. {"epg", KEY_EPG},
  452. {"dashboard", KEY_DASHBOARD},
  453. {"prog1", KEY_PROG1},
  454. {"addressbook", KEY_ADDRESSBOOK},
  455. {"f9", KEY_F9},
  456. {(char*)0},
  457. {"channelup", KEY_CHANNELUP},
  458. {"phone", KEY_PHONE},
  459. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  460. {(char*)0}, {(char*)0},
  461. {"kpminus", KEY_KPMINUS},
  462. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  463. {(char*)0}, {(char*)0},
  464. {"numeric_1", KEY_NUMERIC_1},
  465. {"hanja", KEY_HANJA},
  466. {(char*)0}, {(char*)0},
  467. {"previous", KEY_PREVIOUS},
  468. {"news", KEY_NEWS},
  469. {(char*)0},
  470. {"3", KEY_3},
  471. {(char*)0},
  472. {"subtitle", KEY_SUBTITLE},
  473. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  474. {"kp0", KEY_KP0},
  475. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  476. {(char*)0}, {(char*)0}, {(char*)0},
  477. {"kpleftparen", KEY_KPLEFTPAREN},
  478. {(char*)0}, {(char*)0},
  479. {"xfer", KEY_XFER},
  480. {(char*)0},
  481. {"2", KEY_2},
  482. {"frameforward", KEY_FRAMEFORWARD},
  483. {(char*)0}, {(char*)0},
  484. {"minus", KEY_MINUS},
  485. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  486. {"switchvideomode", KEY_SWITCHVIDEOMODE},
  487. {"k", KEY_K},
  488. {(char*)0},
  489. {"pvr", KEY_PVR},
  490. {"menu", KEY_MENU},
  491. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  492. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  493. {"vcr", KEY_VCR},
  494. {"numeric_8", KEY_NUMERIC_8},
  495. {"again", KEY_AGAIN},
  496. {(char*)0}, {(char*)0},
  497. {"mp3", KEY_MP3},
  498. {"numeric_7", KEY_NUMERIC_7},
  499. {(char*)0},
  500. {"4", KEY_4},
  501. {(char*)0},
  502. {"hiragana", KEY_HIRAGANA},
  503. {"sat2", KEY_SAT2},
  504. {(char*)0}, {(char*)0}, {(char*)0},
  505. {"leftctrl", KEY_LEFTCTRL},
  506. {"fn_e", KEY_FN_E},
  507. {(char*)0}, {(char*)0}, {(char*)0},
  508. {"wordprocessor", KEY_WORDPROCESSOR},
  509. {(char*)0}, {(char*)0}, {(char*)0},
  510. {"ok", KEY_OK},
  511. {(char*)0}, {(char*)0},
  512. {"wps_button", KEY_WPS_BUTTON},
  513. {(char*)0},
  514. {"channel", KEY_CHANNEL},
  515. {(char*)0}, {(char*)0},
  516. {"front", KEY_FRONT},
  517. {(char*)0}, {(char*)0},
  518. {"kp1", KEY_KP1},
  519. {(char*)0}, {(char*)0},
  520. {"fn_esc", KEY_FN_ESC},
  521. {(char*)0}, {(char*)0}, {(char*)0},
  522. {"kpasterisk", KEY_KPASTERISK},
  523. {(char*)0}, {(char*)0}, {(char*)0},
  524. {"fn_s", KEY_FN_S},
  525. {"wimax", KEY_WIMAX},
  526. {"b", KEY_B},
  527. {(char*)0},
  528. {"brl_dot9", KEY_BRL_DOT9},
  529. {"blue", KEY_BLUE},
  530. {"prog3", KEY_PROG3},
  531. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  532. {"first", KEY_FIRST},
  533. {"6", KEY_6},
  534. {"ab", KEY_AB},
  535. {"tab", KEY_TAB},
  536. {"twen", KEY_TWEN},
  537. {"prog2", KEY_PROG2},
  538. {(char*)0},
  539. {"touchpad_off", KEY_TOUCHPAD_OFF},
  540. {(char*)0},
  541. {"backspace", KEY_BACKSPACE},
  542. {(char*)0},
  543. {"channeldown", KEY_CHANNELDOWN},
  544. {(char*)0}, {(char*)0},
  545. {"numeric_3", KEY_NUMERIC_3},
  546. {(char*)0}, {(char*)0},
  547. {"fn", KEY_FN},
  548. {(char*)0}, {(char*)0},
  549. {"prog4", KEY_PROG4},
  550. {"h", KEY_H},
  551. {"10channelsup", KEY_10CHANNELSUP},
  552. {(char*)0},
  553. {"numeric_2", KEY_NUMERIC_2},
  554. {(char*)0}, {(char*)0}, {(char*)0},
  555. {"dvd", KEY_DVD},
  556. {(char*)0}, {(char*)0},
  557. {"yellow", KEY_YELLOW},
  558. {(char*)0}, {(char*)0},
  559. {"file", KEY_FILE},
  560. {(char*)0},
  561. {"display_off", KEY_DISPLAY_OFF},
  562. {(char*)0}, {(char*)0},
  563. {"numeric_4", KEY_NUMERIC_4},
  564. {(char*)0},
  565. {"wakeup", KEY_WAKEUP},
  566. {(char*)0},
  567. {"f19", KEY_F19},
  568. {(char*)0},
  569. {"break", KEY_BREAK},
  570. {"rewind", KEY_REWIND},
  571. {(char*)0}, {(char*)0},
  572. {"brl_dot10", KEY_BRL_DOT10},
  573. {(char*)0}, {(char*)0},
  574. {"kprightparen", KEY_KPRIGHTPAREN},
  575. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  576. {"f1", KEY_F1},
  577. {(char*)0},
  578. {"bookmarks", KEY_BOOKMARKS},
  579. {(char*)0},
  580. {"power2", KEY_POWER2},
  581. {(char*)0}, {(char*)0},
  582. {"numeric_6", KEY_NUMERIC_6},
  583. {"video_next", KEY_VIDEO_NEXT},
  584. {"digits", KEY_DIGITS},
  585. {(char*)0}, {(char*)0}, {(char*)0},
  586. {"videophone", KEY_VIDEOPHONE},
  587. {"5", KEY_5},
  588. {(char*)0},
  589. {"muhenkan", KEY_MUHENKAN},
  590. {(char*)0}, {(char*)0}, {(char*)0},
  591. {"finance", KEY_FINANCE},
  592. {"kp8", KEY_KP8},
  593. {(char*)0}, {(char*)0},
  594. {"w", KEY_W},
  595. {(char*)0},
  596. {"brl_dot1", KEY_BRL_DOT1},
  597. {(char*)0}, {(char*)0},
  598. {"vendor", KEY_VENDOR},
  599. {(char*)0},
  600. {"kp7", KEY_KP7},
  601. {"zenkakuhankaku", KEY_ZENKAKUHANKAKU},
  602. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  603. {(char*)0},
  604. {"video", KEY_VIDEO},
  605. {(char*)0}, {(char*)0}, {(char*)0},
  606. {"numeric_5", KEY_NUMERIC_5},
  607. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  608. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  609. {(char*)0},
  610. {"fn_d", KEY_FN_D},
  611. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  612. {"down", KEY_DOWN},
  613. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  614. {"wlan", KEY_WLAN},
  615. {(char*)0},
  616. {"f", KEY_F},
  617. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  618. {(char*)0},
  619. {"kpslash", KEY_KPSLASH},
  620. {(char*)0},
  621. {"info", KEY_INFO},
  622. {"grave", KEY_GRAVE},
  623. {(char*)0},
  624. {"numlock", KEY_NUMLOCK},
  625. {"brl_dot8", KEY_BRL_DOT8},
  626. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  627. {"brl_dot7", KEY_BRL_DOT7},
  628. {"frameback", KEY_FRAMEBACK},
  629. {(char*)0}, {(char*)0},
  630. {"previoussong", KEY_PREVIOUSSONG},
  631. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  632. {(char*)0},
  633. {"keyboard", KEY_KEYBOARD},
  634. {"voicemail", KEY_VOICEMAIL},
  635. {"102nd", KEY_102ND},
  636. {(char*)0}, {(char*)0},
  637. {"f10", KEY_F10},
  638. {"10channelsdown", KEY_10CHANNELSDOWN},
  639. {(char*)0}, {(char*)0},
  640. {"f8", KEY_F8},
  641. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  642. {(char*)0},
  643. {"volumeup", KEY_VOLUMEUP},
  644. {(char*)0}, {(char*)0}, {(char*)0},
  645. {"f7", KEY_F7},
  646. {(char*)0}, {(char*)0}, {(char*)0},
  647. {"logoff", KEY_LOGOFF},
  648. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  649. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  650. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  651. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  652. {(char*)0}, {(char*)0},
  653. {"right", KEY_RIGHT},
  654. {"brightness_cycle", KEY_BRIGHTNESS_CYCLE},
  655. {(char*)0},
  656. {"rightalt", KEY_RIGHTALT},
  657. {(char*)0},
  658. {"rightshift", KEY_RIGHTSHIFT},
  659. {"config", KEY_CONFIG},
  660. {"brightnessup", KEY_BRIGHTNESSUP},
  661. {(char*)0}, {(char*)0},
  662. {"rightbrace", KEY_RIGHTBRACE},
  663. {(char*)0}, {(char*)0},
  664. {"brl_dot3", KEY_BRL_DOT3},
  665. {"rightmeta", KEY_RIGHTMETA},
  666. {(char*)0}, {(char*)0},
  667. {"hangeul", KEY_HANGEUL},
  668. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  669. {"refresh", KEY_REFRESH},
  670. {"brl_dot2", KEY_BRL_DOT2},
  671. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  672. {"kp3", KEY_KP3},
  673. {"find", KEY_FIND},
  674. {"brightness_zero", KEY_BRIGHTNESS_ZERO},
  675. {(char*)0}, {(char*)0},
  676. {"f11", KEY_F11},
  677. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  678. {"brl_dot4", KEY_BRL_DOT4},
  679. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  680. {"new", KEY_NEW},
  681. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  682. {"kp2", KEY_KP2},
  683. {(char*)0}, {(char*)0},
  684. {"v", KEY_V},
  685. {"tv", KEY_TV},
  686. {(char*)0},
  687. {"kbdillumtoggle", KEY_KBDILLUMTOGGLE},
  688. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  689. {"slow", KEY_SLOW},
  690. {"kbdillumup", KEY_KBDILLUMUP},
  691. {(char*)0}, {(char*)0},
  692. {"brl_dot6", KEY_BRL_DOT6},
  693. {"favorites", KEY_FAVORITES},
  694. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  695. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  696. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  697. {(char*)0},
  698. {"kp4", KEY_KP4},
  699. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  700. {(char*)0}, {(char*)0}, {(char*)0},
  701. {"henkan", KEY_HENKAN},
  702. {(char*)0}, {(char*)0},
  703. {"fn_1", KEY_FN_1},
  704. {(char*)0}, {(char*)0},
  705. {"unknown", KEY_UNKNOWN},
  706. {"f20", KEY_F20},
  707. {(char*)0}, {(char*)0}, {(char*)0},
  708. {"forward", KEY_FORWARD},
  709. {"brl_dot5", KEY_BRL_DOT5},
  710. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  711. {(char*)0}, {(char*)0},
  712. {"volumedown", KEY_VOLUMEDOWN},
  713. {(char*)0},
  714. {"f3", KEY_F3},
  715. {(char*)0},
  716. {"back", KEY_BACK},
  717. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  718. {"rightctrl", KEY_RIGHTCTRL},
  719. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  720. {(char*)0}, {(char*)0}, {(char*)0},
  721. {"shuffle", KEY_SHUFFLE},
  722. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  723. {"f2", KEY_F2},
  724. {"kp6", KEY_KP6},
  725. {(char*)0}, {(char*)0},
  726. {"forwardmail", KEY_FORWARDMAIL},
  727. {(char*)0},
  728. {"f18", KEY_F18},
  729. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  730. {(char*)0},
  731. {"brightnessdown", KEY_BRIGHTNESSDOWN},
  732. {(char*)0}, {(char*)0}, {(char*)0},
  733. {"f17", KEY_F17},
  734. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  735. {(char*)0},
  736. {"bluetooth", KEY_BLUETOOTH},
  737. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  738. {(char*)0}, {(char*)0}, {(char*)0},
  739. {"f4", KEY_F4},
  740. {(char*)0},
  741. {"backslash", KEY_BACKSLASH},
  742. {(char*)0}, {(char*)0}, {(char*)0},
  743. {"f21", KEY_F21},
  744. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  745. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  746. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  747. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  748. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  749. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  750. {"tv2", KEY_TV2},
  751. {(char*)0}, {(char*)0}, {(char*)0},
  752. {"kbdillumdown", KEY_KBDILLUMDOWN},
  753. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  754. {(char*)0},
  755. {"kp5", KEY_KP5},
  756. {(char*)0}, {(char*)0},
  757. {"rfkill", KEY_RFKILL},
  758. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  759. {(char*)0},
  760. {"f6", KEY_F6},
  761. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  762. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  763. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  764. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  765. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  766. {(char*)0}, {(char*)0},
  767. {"fn_f9", KEY_FN_F9},
  768. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  769. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  770. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  771. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  772. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  773. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  774. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  775. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  776. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  777. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  778. {(char*)0}, {(char*)0},
  779. {"f13", KEY_F13},
  780. {(char*)0}, {(char*)0}, {(char*)0},
  781. {"f5", KEY_F5},
  782. {(char*)0},
  783. {"vcr2", KEY_VCR2},
  784. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  785. {(char*)0}, {(char*)0},
  786. {"fn_f10", KEY_FN_F10},
  787. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  788. {(char*)0}, {(char*)0},
  789. {"f12", KEY_F12},
  790. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  791. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  792. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  793. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  794. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  795. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  796. {(char*)0}, {(char*)0},
  797. {"fn_f1", KEY_FN_F1},
  798. {"fn_f11", KEY_FN_F11},
  799. {(char*)0},
  800. {"f14", KEY_F14},
  801. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  802. {(char*)0}, {(char*)0},
  803. {"video_prev", KEY_VIDEO_PREV},
  804. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  805. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  806. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  807. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  808. {(char*)0}, {(char*)0},
  809. {"fn_2", KEY_FN_2},
  810. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  811. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  812. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  813. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  814. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  815. {"fn_f8", KEY_FN_F8},
  816. {(char*)0}, {(char*)0},
  817. {"f16", KEY_F16},
  818. {(char*)0},
  819. {"fn_f7", KEY_FN_F7},
  820. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  821. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  822. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  823. {"uwb", KEY_UWB},
  824. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  825. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  826. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  827. {(char*)0}, {(char*)0},
  828. {"f23", KEY_F23},
  829. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  830. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  831. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  832. {(char*)0}, {(char*)0}, {(char*)0},
  833. {"fn_b", KEY_FN_B},
  834. {(char*)0}, {(char*)0}, {(char*)0},
  835. {"f22", KEY_F22},
  836. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  837. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  838. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  839. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  840. {"fn_f3", KEY_FN_F3},
  841. {(char*)0}, {(char*)0},
  842. {"f15", KEY_F15},
  843. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  844. {(char*)0}, {(char*)0},
  845. {"fn_f2", KEY_FN_F2},
  846. {"fn_f12", KEY_FN_F12},
  847. {(char*)0},
  848. {"f24", KEY_F24},
  849. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  850. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  851. {(char*)0}, {(char*)0}, {(char*)0},
  852. {"fn_f4", KEY_FN_F4},
  853. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  854. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  855. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  856. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  857. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  858. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  859. {"fn_f6", KEY_FN_F6},
  860. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  861. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  862. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  863. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  864. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  865. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  866. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  867. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  868. {(char*)0}, {(char*)0},
  869. {"fn_f5", KEY_FN_F5},
  870. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  871. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  872. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  873. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  874. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  875. {(char*)0}, {(char*)0}, {(char*)0},
  876. {"fn_f", KEY_FN_F},
  877. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  878. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  879. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  880. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  881. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  882. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  883. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  884. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  885. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  886. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  887. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  888. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  889. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  890. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  891. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  892. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  893. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  894. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  895. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  896. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  897. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  898. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  899. {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
  900. {(char*)0},
  901. {"www", KEY_WWW}
  902. };
  903. if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
  904. {
  905. register int key = hash_key_name (str, len);
  906. if (key <= MAX_HASH_VALUE && key >= 0)
  907. {
  908. register const char *s = wordlist[key].name;
  909. if (s && *str == *s && !strcmp (str + 1, s + 1))
  910. return &wordlist[key];
  911. }
  912. }
  913. return 0;
  914. }