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