root/build2/src/udev/keyboard-keys-from-name.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. hash_key_name
  2. keyboard_lookup_key

/* ANSI-C code produced by gperf version 3.0.4 */
/* Command-line: gperf -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C  */
/* Computed positions: -k'1-4,11,16,$' */

#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
#endif

struct key { const char* name; unsigned short id; };

#define TOTAL_KEYWORDS 412
#define MIN_WORD_LENGTH 1
#define MAX_WORD_LENGTH 24
#define MIN_HASH_VALUE 1
#define MAX_HASH_VALUE 1707
/* maximum key range = 1707, duplicates = 0 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
hash_key_name (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,  335,  260,
       165,  315,  340,  410,  395,  365,  345,  135, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708,  210, 1708,   80,  205,   70,
        20,   10,  415,  370,  325,  180,  435,  215,  110,  145,
         5,   40,   30,  115,   25,   15,    0,  270,  505,  426,
        50,  500,  220, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
      1708, 1708, 1708, 1708, 1708, 1708
    };
  register int hval = len;

  switch (hval)
    {
      default:
        hval += asso_values[(unsigned char)str[15]];
      /*FALLTHROUGH*/
      case 15:
      case 14:
      case 13:
      case 12:
      case 11:
        hval += asso_values[(unsigned char)str[10]];
      /*FALLTHROUGH*/
      case 10:
      case 9:
      case 8:
      case 7:
      case 6:
      case 5:
      case 4:
        hval += asso_values[(unsigned char)str[3]];
      /*FALLTHROUGH*/
      case 3:
        hval += asso_values[(unsigned char)str[2]];
      /*FALLTHROUGH*/
      case 2:
        hval += asso_values[(unsigned char)str[1]];
      /*FALLTHROUGH*/
      case 1:
        hval += asso_values[(unsigned char)str[0]];
        break;
    }
  return hval + asso_values[(unsigned char)str[len - 1]];
}

#ifdef __GNUC__
__inline
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
#endif
const struct key *
keyboard_lookup_key (register const char *str, register unsigned int len)
{
  static const struct key wordlist[] =
    {
      {(char*)0},
      {"t", KEY_T},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"n", KEY_N},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"e", KEY_E},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"s", KEY_S},
      {(char*)0}, {(char*)0},
      {"teen", KEY_TEEN},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"d", KEY_D},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"r", KEY_R},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"enter", KEY_ENTER},
      {(char*)0},
      {"restart", KEY_RESTART},
      {"end", KEY_END},
      {(char*)0}, {(char*)0},
      {"p", KEY_P},
      {(char*)0},
      {"dot", KEY_DOT},
      {"text", KEY_TEXT},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"sendfile", KEY_SENDFILE},
      {"next", KEY_NEXT},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"send", KEY_SEND},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"red", KEY_RED},
      {(char*)0}, {(char*)0},
      {"o", KEY_O},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"reserved", KEY_RESERVED},
      {(char*)0}, {(char*)0},
      {"spreadsheet", KEY_SPREADSHEET},
      {(char*)0}, {(char*)0},
      {"open", KEY_OPEN},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"sat", KEY_SAT},
      {(char*)0}, {(char*)0},
      {"x", KEY_X},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"ro", KEY_RO},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"stopcd", KEY_STOPCD},
      {"cd", KEY_CD},
      {(char*)0}, {(char*)0},
      {"sport", KEY_SPORT},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"stop", KEY_STOP},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"attendant_toggle", KEY_ATTENDANT_TOGGLE},
      {"connect", KEY_CONNECT},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"screen", KEY_SCREEN},
      {(char*)0}, {(char*)0},
      {"tape", KEY_TAPE},
      {(char*)0}, {(char*)0},
      {"presentation", KEY_PRESENTATION},
      {(char*)0},
      {"redo", KEY_REDO},
      {"paste", KEY_PASTE},
      {"c", KEY_C},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"props", KEY_PROPS},
      {(char*)0},
      {"attendant_on", KEY_ATTENDANT_ON},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"select", KEY_SELECT},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"a", KEY_A},
      {(char*)0}, {(char*)0},
      {"appselect", KEY_APPSELECT},
      {"scrolldown", KEY_SCROLLDOWN},
      {"delete", KEY_DELETE},
      {(char*)0},
      {"esc", KEY_ESC},
      {(char*)0},
      {"deletefile", KEY_DELETEFILE},
      {"record", KEY_RECORD},
      {"pc", KEY_PC},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"sleep", KEY_SLEEP},
      {"screensaver", KEY_SCREENSAVER},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"apostrophe", KEY_APOSTROPHE},
      {(char*)0}, {(char*)0},
      {"scrollup", KEY_SCROLLUP},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"database", KEY_DATABASE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"last", KEY_LAST},
      {"space", KEY_SPACE},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"edit", KEY_EDIT},
      {(char*)0},
      {"insert", KEY_INSERT},
      {(char*)0},
      {"alterase", KEY_ALTERASE},
      {"messenger", KEY_MESSENGER},
      {(char*)0},
      {"l", KEY_L},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"mode", KEY_MODE},
      {(char*)0},
      {"q", KEY_Q},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"msdos", KEY_MSDOS},
      {"editor", KEY_EDITOR},
      {(char*)0}, {(char*)0},
      {"exit", KEY_EXIT},
      {"print", KEY_PRINT},
      {(char*)0},
      {"controlpanel", KEY_CONTROLPANEL},
      {(char*)0},
      {"direction", KEY_DIRECTION},
      {"close", KEY_CLOSE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"option", KEY_OPTION},
      {"closecd", KEY_CLOSECD},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"9", KEY_9},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"iso", KEY_ISO},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"scale", KEY_SCALE},
      {"m", KEY_M},
      {"kpenter", KEY_KPENTER},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"clear", KEY_CLEAR},
      {(char*)0},
      {"compose", KEY_COMPOSE},
      {"calendar", KEY_CALENDAR},
      {(char*)0},
      {"title", KEY_TITLE},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"list", KEY_LIST},
      {"kpdot", KEY_KPDOT},
      {"dollar", KEY_DOLLAR},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"tuner", KEY_TUNER},
      {"camera_left", KEY_CAMERA_LEFT},
      {(char*)0},
      {"computer", KEY_COMPUTER},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"bassboost", KEY_BASSBOOST},
      {(char*)0},
      {"camera_down", KEY_CAMERA_DOWN},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"setup", KEY_SETUP},
      {"2", KEY_2},
      {"up", KEY_UP},
      {"linefeed", KEY_LINEFEED},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"cancel", KEY_CANCEL},
      {(char*)0},
      {"cut", KEY_CUT},
      {"camera_up", KEY_CAMERA_UP},
      {"screenlock", KEY_SCREENLOCK},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"time", KEY_TIME},
      {"radio", KEY_RADIO},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"sound", KEY_SOUND},
      {(char*)0},
      {"suspend", KEY_SUSPEND},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"i", KEY_I},
      {(char*)0}, {(char*)0},
      {"semicolon", KEY_SEMICOLON},
      {"macro", KEY_MACRO},
      {(char*)0}, {(char*)0},
      {"del_line", KEY_DEL_LINE},
      {(char*)0}, {(char*)0},
      {"taskmanager", KEY_TASKMANAGER},
      {"del_eos", KEY_DEL_EOS},
      {(char*)0}, {(char*)0},
      {"scrolllock", KEY_SCROLLLOCK},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"undo", KEY_UNDO},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"memo", KEY_MEMO},
      {(char*)0},
      {"kpleftparen", KEY_KPLEFTPAREN},
      {"hp", KEY_HP},
      {(char*)0},
      {"euro", KEY_EURO},
      {"spellcheck", KEY_SPELLCHECK},
      {"camera", KEY_CAMERA},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"touchpad_on", KEY_TOUCHPAD_ON},
      {"context_menu", KEY_CONTEXT_MENU},
      {(char*)0},
      {"calc", KEY_CALC},
      {(char*)0},
      {"kpplus", KEY_KPPLUS},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"pause", KEY_PAUSE},
      {"b", KEY_B},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"phone", KEY_PHONE},
      {(char*)0}, {(char*)0},
      {"capslock", KEY_CAPSLOCK},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"pausecd", KEY_PAUSECD},
      {"question", KEY_QUESTION},
      {"documents", KEY_DOCUMENTS},
      {"green", KEY_GREEN},
      {"kpplusminus", KEY_KPPLUSMINUS},
      {"fn", KEY_FN},
      {"ins_line", KEY_INS_LINE},
      {"sat2", KEY_SAT2},
      {(char*)0},
      {"k", KEY_K},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"als_toggle", KEY_ALS_TOGGLE},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"mute", KEY_MUTE},
      {"media", KEY_MEDIA},
      {"z", KEY_Z},
      {"kpcomma", KEY_KPCOMMA},
      {"nextsong", KEY_NEXTSONG},
      {"shop", KEY_SHOP},
      {"touchpad_toggle", KEY_TOUCHPAD_TOGGLE},
      {(char*)0},
      {"media_repeat", KEY_MEDIA_REPEAT},
      {(char*)0}, {(char*)0},
      {"twen", KEY_TWEN},
      {(char*)0},
      {"zoomout", KEY_ZOOMOUT},
      {"aux", KEY_AUX},
      {"zoomreset", KEY_ZOOMRESET},
      {(char*)0},
      {"zoomin", KEY_ZOOMIN},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"search", KEY_SEARCH},
      {(char*)0},
      {"katakana", KEY_KATAKANA},
      {"camera_zoomout", KEY_CAMERA_ZOOMOUT},
      {(char*)0}, {(char*)0},
      {"del_eol", KEY_DEL_EOL},
      {"camera_zoomin", KEY_CAMERA_ZOOMIN},
      {"dashboard", KEY_DASHBOARD},
      {(char*)0}, {(char*)0},
      {"ok", KEY_OK},
      {(char*)0}, {(char*)0},
      {"news", KEY_NEWS},
      {(char*)0},
      {"kprightparen", KEY_KPRIGHTPAREN},
      {(char*)0},
      {"chat", KEY_CHAT},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"comma", KEY_COMMA},
      {(char*)0},
      {"kpequal", KEY_KPEQUAL},
      {(char*)0}, {(char*)0},
      {"front", KEY_FRONT},
      {(char*)0},
      {"ab", KEY_AB},
      {"tab", KEY_TAB},
      {"goto", KEY_GOTO},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"down", KEY_DOWN},
      {"channeldown", KEY_CHANNELDOWN},
      {(char*)0},
      {"pagedown", KEY_PAGEDOWN},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"unknown", KEY_UNKNOWN},
      {"subtitle", KEY_SUBTITLE},
      {"help", KEY_HELP},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"archive", KEY_ARCHIVE},
      {"kp9", KEY_KP9},
      {"channelup", KEY_CHANNELUP},
      {(char*)0},
      {"1", KEY_1},
      {(char*)0},
      {"yen", KEY_YEN},
      {"bookmarks", KEY_BOOKMARKS},
      {(char*)0},
      {"pageup", KEY_PAGEUP},
      {(char*)0}, {(char*)0},
      {"xfer", KEY_XFER},
      {"email", KEY_EMAIL},
      {(char*)0}, {(char*)0},
      {"mhp", KEY_MHP},
      {"home", KEY_HOME},
      {(char*)0},
      {"power", KEY_POWER},
      {(char*)0},
      {"homepage", KEY_HOMEPAGE},
      {"left", KEY_LEFT},
      {"break", KEY_BREAK},
      {"u", KEY_U},
      {"leftalt", KEY_LEFTALT},
      {(char*)0},
      {"leftshift", KEY_LEFTSHIFT},
      {(char*)0}, {(char*)0},
      {"numeric_star", KEY_NUMERIC_STAR},
      {(char*)0}, {(char*)0},
      {"slash", KEY_SLASH},
      {(char*)0},
      {"ejectcd", KEY_EJECTCD},
      {(char*)0},
      {"leftbrace", KEY_LEFTBRACE},
      {(char*)0}, {(char*)0},
      {"micmute", KEY_MICMUTE},
      {"attendant_off", KEY_ATTENDANT_OFF},
      {(char*)0}, {(char*)0},
      {"fastforward", KEY_FASTFORWARD},
      {(char*)0}, {(char*)0},
      {"wordprocessor", KEY_WORDPROCESSOR},
      {"kpasterisk", KEY_KPASTERISK},
      {"henkan", KEY_HENKAN},
      {(char*)0},
      {"dvd", KEY_DVD},
      {(char*)0}, {(char*)0},
      {"vendor", KEY_VENDOR},
      {(char*)0}, {(char*)0},
      {"numeric_9", KEY_NUMERIC_9},
      {(char*)0},
      {"katakanahiragana", KEY_KATAKANAHIRAGANA},
      {(char*)0},
      {"kp2", KEY_KP2},
      {(char*)0},
      {"angle", KEY_ANGLE},
      {(char*)0}, {(char*)0},
      {"language", KEY_LANGUAGE},
      {(char*)0}, {(char*)0},
      {"addressbook", KEY_ADDRESSBOOK},
      {(char*)0},
      {"pvr", KEY_PVR},
      {"backspace", KEY_BACKSPACE},
      {"equal", KEY_EQUAL},
      {(char*)0},
      {"kpminus", KEY_KPMINUS},
      {"previous", KEY_PREVIOUS},
      {"zoom", KEY_ZOOM},
      {"audio", KEY_AUDIO},
      {(char*)0},
      {"channel", KEY_CHANNEL},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"camera_focus", KEY_CAMERA_FOCUS},
      {(char*)0},
      {"numeric_2", KEY_NUMERIC_2},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"blue", KEY_BLUE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"program", KEY_PROGRAM},
      {(char*)0}, {(char*)0},
      {"minus", KEY_MINUS},
      {(char*)0}, {(char*)0},
      {"leftmeta", KEY_LEFTMETA},
      {"save", KEY_SAVE},
      {"games", KEY_GAMES},
      {(char*)0},
      {"ejectclosecd", KEY_EJECTCLOSECD},
      {"vcr", KEY_VCR},
      {"mail", KEY_MAIL},
      {"wlan", KEY_WLAN},
      {"3", KEY_3},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"prog2", KEY_PROG2},
      {(char*)0}, {(char*)0},
      {"displaytoggle", KEY_DISPLAYTOGGLE},
      {(char*)0},
      {"first", KEY_FIRST},
      {(char*)0},
      {"camera_right", KEY_CAMERA_RIGHT},
      {(char*)0},
      {"find", KEY_FIND},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"h", KEY_H},
      {(char*)0},
      {"leftctrl", KEY_LEFTCTRL},
      {"fn_e", KEY_FN_E},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"kbdinputassist_next", KEY_KBDINPUTASSIST_NEXT},
      {"kbdillumup", KEY_KBDILLUMUP},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"fn_s", KEY_FN_S},
      {(char*)0}, {(char*)0},
      {"rewind", KEY_REWIND},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"0", KEY_0},
      {(char*)0}, {(char*)0},
      {"fn_d", KEY_FN_D},
      {"sysrq", KEY_SYSRQ},
      {(char*)0},
      {"power2", KEY_POWER2},
      {(char*)0}, {(char*)0},
      {"reply", KEY_REPLY},
      {"4", KEY_4},
      {(char*)0}, {(char*)0},
      {"info", KEY_INFO},
      {(char*)0},
      {"switchvideomode", KEY_SWITCHVIDEOMODE},
      {"f9", KEY_F9},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"8", KEY_8},
      {(char*)0},
      {"brl_dot9", KEY_BRL_DOT9},
      {"kbdinputassist_nextgroup", KEY_KBDINPUTASSIST_NEXTGROUP},
      {(char*)0},
      {"wps_button", KEY_WPS_BUTTON},
      {"finance", KEY_FINANCE},
      {"hiragana", KEY_HIRAGANA},
      {"numeric_1", KEY_NUMERIC_1},
      {(char*)0}, {(char*)0},
      {"kpslash", KEY_KPSLASH},
      {(char*)0},
      {"menu", KEY_MENU},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"move", KEY_MOVE},
      {(char*)0},
      {"fn_esc", KEY_FN_ESC},
      {(char*)0}, {(char*)0},
      {"kbdinputassist_prevgroup", KEY_KBDINPUTASSIST_PREVGROUP},
      {"again", KEY_AGAIN},
      {(char*)0},
      {"frameforward", KEY_FRAMEFORWARD},
      {"brl_dot2", KEY_BRL_DOT2},
      {"graphicseditor", KEY_GRAPHICSEDITOR},
      {"video_next", KEY_VIDEO_NEXT},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"file", KEY_FILE},
      {"prog1", KEY_PROG1},
      {"7", KEY_7},
      {(char*)0},
      {"numeric_pound", KEY_NUMERIC_POUND},
      {(char*)0},
      {"videophone", KEY_VIDEOPHONE},
      {"kbdinputassist_accept", KEY_KBDINPUTASSIST_ACCEPT},
      {(char*)0}, {(char*)0},
      {"playpause", KEY_PLAYPAUSE},
      {(char*)0},
      {"g", KEY_G},
      {(char*)0}, {(char*)0},
      {"directory", KEY_DIRECTORY},
      {(char*)0},
      {"playcd", KEY_PLAYCD},
      {"f2", KEY_F2},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"player", KEY_PLAYER},
      {"numlock", KEY_NUMLOCK},
      {(char*)0},
      {"numeric_3", KEY_NUMERIC_3},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"video", KEY_VIDEO},
      {(char*)0}, {(char*)0},
      {"muhenkan", KEY_MUHENKAN},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"wakeup", KEY_WAKEUP},
      {"kp1", KEY_KP1},
      {(char*)0}, {(char*)0},
      {"digits", KEY_DIGITS},
      {(char*)0}, {(char*)0},
      {"numeric_0", KEY_NUMERIC_0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"numeric_4", KEY_NUMERIC_4},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"epg", KEY_EPG},
      {"numeric_8", KEY_NUMERIC_8},
      {"prog3", KEY_PROG3},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"back", KEY_BACK},
      {"102nd", KEY_102ND},
      {"6", KEY_6},
      {"battery", KEY_BATTERY},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"images", KEY_IMAGES},
      {(char*)0}, {(char*)0},
      {"kpjpcomma", KEY_KPJPCOMMA},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"numeric_7", KEY_NUMERIC_7},
      {(char*)0}, {(char*)0},
      {"refresh", KEY_REFRESH},
      {"mp3", KEY_MP3},
      {(char*)0},
      {"prog4", KEY_PROG4},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"brl_dot1", KEY_BRL_DOT1},
      {"brightnessdown", KEY_BRIGHTNESSDOWN},
      {(char*)0},
      {"5", KEY_5},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f", KEY_F},
      {"voicecommand", KEY_VOICECOMMAND},
      {(char*)0},
      {"numeric_6", KEY_NUMERIC_6},
      {(char*)0},
      {"kbdinputassist_cancel", KEY_KBDINPUTASSIST_CANCEL},
      {(char*)0},
      {"tv2", KEY_TV2},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"numeric_5", KEY_NUMERIC_5},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"w", KEY_W},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"new", KEY_NEW},
      {"j", KEY_J},
      {(char*)0},
      {"brl_dot3", KEY_BRL_DOT3},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"kp3", KEY_KP3},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"journal", KEY_JOURNAL},
      {(char*)0},
      {"frameback", KEY_FRAMEBACK},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"brl_dot10", KEY_BRL_DOT10},
      {(char*)0}, {(char*)0},
      {"hangeul", KEY_HANGEUL},
      {"brl_dot4", KEY_BRL_DOT4},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"brl_dot8", KEY_BRL_DOT8},
      {"backslash", KEY_BACKSLASH},
      {"right", KEY_RIGHT},
      {"config", KEY_CONFIG},
      {(char*)0},
      {"rightalt", KEY_RIGHTALT},
      {(char*)0},
      {"rightshift", KEY_RIGHTSHIFT},
      {(char*)0}, {(char*)0},
      {"f22", KEY_F22},
      {"voicemail", KEY_VOICEMAIL},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"kp0", KEY_KP0},
      {(char*)0},
      {"rightbrace", KEY_RIGHTBRACE},
      {(char*)0}, {(char*)0},
      {"brl_dot7", KEY_BRL_DOT7},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"kp4", KEY_KP4},
      {"bluetooth", KEY_BLUETOOTH},
      {"hanja", KEY_HANJA},
      {(char*)0}, {(char*)0},
      {"forward", KEY_FORWARD},
      {"vcr2", KEY_VCR2},
      {(char*)0}, {(char*)0},
      {"f1", KEY_F1},
      {"kp8", KEY_KP8},
      {(char*)0},
      {"volumedown", KEY_VOLUMEDOWN},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"wwan", KEY_WWAN},
      {(char*)0},
      {"f19", KEY_F19},
      {"zenkakuhankaku", KEY_ZENKAKUHANKAKU},
      {(char*)0},
      {"rfkill", KEY_RFKILL},
      {(char*)0},
      {"brl_dot6", KEY_BRL_DOT6},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"previoussong", KEY_PREVIOUSSONG},
      {"keyboard", KEY_KEYBOARD},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"volumeup", KEY_VOLUMEUP},
      {"fn_2", KEY_FN_2},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"brl_dot5", KEY_BRL_DOT5},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"kp7", KEY_KP7},
      {(char*)0}, {(char*)0},
      {"logoff", KEY_LOGOFF},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"rightmeta", KEY_RIGHTMETA},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"grave", KEY_GRAVE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"y", KEY_Y},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"f12", KEY_F12},
      {"brightness_min", KEY_BRIGHTNESS_MIN},
      {(char*)0},
      {"v", KEY_V},
      {"tv", KEY_TV},
      {(char*)0},
      {"kbdillumtoggle", KEY_KBDILLUMTOGGLE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"rightctrl", KEY_RIGHTCTRL},
      {(char*)0},
      {"slow", KEY_SLOW},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"brightness_cycle", KEY_BRIGHTNESS_CYCLE},
      {(char*)0}, {(char*)0},
      {"10channelsdown", KEY_10CHANNELSDOWN},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"buttonconfig", KEY_BUTTONCONFIG},
      {"kp6", KEY_KP6},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"shuffle", KEY_SHUFFLE},
      {(char*)0},
      {"fn_b", KEY_FN_B},
      {"brightness_auto", KEY_BRIGHTNESS_AUTO},
      {(char*)0},
      {"f3", KEY_F3},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"brightness_max", KEY_BRIGHTNESS_MAX},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"kbdillumdown", KEY_KBDILLUMDOWN},
      {"favorites", KEY_FAVORITES},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"kp5", KEY_KP5},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"display_off", KEY_DISPLAY_OFF},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"brightnessup", KEY_BRIGHTNESSUP},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"f4", KEY_F4},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f21", KEY_F21},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"f8", KEY_F8},
      {(char*)0},
      {"uwb", KEY_UWB},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"forwardmail", KEY_FORWARDMAIL},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"copy", KEY_COPY},
      {(char*)0}, {(char*)0},
      {"f7", KEY_F7},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"fn_1", KEY_FN_1},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"yellow", KEY_YELLOW},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"fn_f9", KEY_FN_F9},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"kbdinputassist_prev", KEY_KBDINPUTASSIST_PREV},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"f11", KEY_F11},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"cyclewindows", KEY_CYCLEWINDOWS},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"f6", KEY_F6},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f23", KEY_F23},
      {(char*)0},
      {"fn_f2", KEY_FN_F2},
      {"fn_f12", KEY_FN_F12},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"touchpad_off", KEY_TOUCHPAD_OFF},
      {(char*)0},
      {"play", KEY_PLAY},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"video_prev", KEY_VIDEO_PREV},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"f5", KEY_F5},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"f20", KEY_F20},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f24", KEY_F24},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"10channelsup", KEY_10CHANNELSUP},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f13", KEY_F13},
      {(char*)0},
      {"fn_f1", KEY_FN_F1},
      {"fn_f11", KEY_FN_F11},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"f10", KEY_F10},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f14", KEY_F14},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"fn_f3", KEY_FN_F3},
      {(char*)0}, {(char*)0},
      {"f18", KEY_F18},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"lights_toggle", KEY_LIGHTS_TOGGLE},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"fn_f10", KEY_FN_F10},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"fn_f4", KEY_FN_F4},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"fn_f8", KEY_FN_F8},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"f17", KEY_F17},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"fn_f7", KEY_FN_F7},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"fn_f6", KEY_FN_F6},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"fn_f5", KEY_FN_F5},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"fn_f", KEY_FN_F},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"f16", KEY_F16},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"f15", KEY_F15},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"www", KEY_WWW}
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      register int key = hash_key_name (str, len);

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register const char *s = wordlist[key].name;

          if (s && *str == *s && !strcmp (str + 1, s + 1))
            return &wordlist[key];
        }
    }
  return 0;
}

/* [<][>][^][v][top][bottom][index][help] */