This source file includes following definitions.
- hash_key_name
- keyboard_lookup_key
#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))
#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
#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]];
case 15:
case 14:
case 13:
case 12:
case 11:
hval += asso_values[(unsigned char)str[10]];
case 10:
case 9:
case 8:
case 7:
case 6:
case 5:
case 4:
hval += asso_values[(unsigned char)str[3]];
case 3:
hval += asso_values[(unsigned char)str[2]];
case 2:
hval += asso_values[(unsigned char)str[1]];
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;
}