aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2013-07-27 20:49:15 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2013-07-27 20:49:15 +0000
commit6a5ec4923dfc35da44894a082b28c53b9bcaebb6 (patch)
tree5b033f37a8555e0a6ca5c3b0e5d8e8c26bb2285f
parent7e3a2897e7e8d8b398162f464f093388efbaf48f (diff)
Update to systemd-206/udev-lfs-206-1
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10307 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--general.ent4
-rw-r--r--packages.ent28
-rw-r--r--udev-lfs/Makefile.lfs7
-rw-r--r--udev-lfs/keyboard-keys-from-name.h923
-rw-r--r--udev-lfs/keyboard-keys-to-name.h394
-rw-r--r--udev-lfs/makefile-incl.keymap39
7 files changed, 1350 insertions, 55 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index c44c49cb5..936a056df 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -36,6 +36,16 @@
</listitem>
-->
<listitem>
+ <para>2013-07-27</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - Update to systemd-206/usev-lfs-206-1. Fixes
+ <ulink url="&lfs-ticket-root;3384">#3384</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
<para>2013-07-20</para>
<itemizedlist>
<listitem>
diff --git a/general.ent b/general.ent
index a19363de2..af350cc8e 100644
--- a/general.ent
+++ b/general.ent
@@ -1,5 +1,5 @@
-<!ENTITY version "SVN-20130720">
-<!ENTITY releasedate "July 20, 2013">
+<!ENTITY version "SVN-20130727">
+<!ENTITY releasedate "July 27, 2013">
<!ENTITY copyrightdate "1999-2013"><!-- jhalfs needs a literal dash, not &ndash; -->
<!ENTITY milestone "7.4">
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
diff --git a/packages.ent b/packages.ent
index 4000a54b4..28928db38 100644
--- a/packages.ent
+++ b/packages.ent
@@ -201,20 +201,20 @@
<!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.gz">
<!ENTITY gettext-md5 "3fa4236c41b7e837355de144210207ec">
<!ENTITY gettext-home "&gnu-software;gettext/">
-<!ENTITY gettext-ch5-du "118 MB">
+<!ENTITY gettext-ch5-du "119 MB">
<!ENTITY gettext-ch5-sbu "0.6 SBU">
-<!ENTITY gettext-ch6-du "180 MB">
-<!ENTITY gettext-ch6-sbu "1.7 SBU">
+<!ENTITY gettext-ch6-du "199 MB">
+<!ENTITY gettext-ch6-sbu "2.3 SBU">
<!ENTITY glibc-version "2.17">
<!ENTITY glibc-size "10,725 KB">
<!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz">
<!ENTITY glibc-md5 "87bf675c8ee523ebda4803e8e1cec638">
<!ENTITY glibc-home "&gnu-software;libc/">
-<!ENTITY glibc-ch5-du "554 MB">
-<!ENTITY glibc-ch5-sbu "5.4 SBU">
-<!ENTITY glibc-ch6-du "852 MB">
-<!ENTITY glibc-ch6-sbu "17.6 SBU">
+<!ENTITY glibc-ch5-du "561 MB">
+<!ENTITY glibc-ch5-sbu "4.8 SBU">
+<!ENTITY glibc-ch6-du "915 MB">
+<!ENTITY glibc-ch6-sbu "17.5 SBU">
<!ENTITY gmp-version "5.1.2">
<!ENTITY gmp-size "1,780 KB">
@@ -299,7 +299,7 @@
<!ENTITY kmod-url "&kernel;linux/utils/kernel/kmod/kmod-&kmod-version;.tar.xz">
<!ENTITY kmod-md5 "38009d0d6f10678a3ec22ccd29210d13">
<!ENTITY kmod-home " ">
-<!ENTITY kmod-ch6-du "19 MB">
+<!ENTITY kmod-ch6-du "34 MB">
<!ENTITY kmod-ch6-sbu "0.1 SBU">
<!ENTITY less-version "458">
@@ -390,7 +390,7 @@
<!ENTITY man-pages-url "http://www.kernel.org/pub/linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz">
<!ENTITY man-pages-md5 "dbf00e3a6fd1e23e27a4552bf4d16fed">
<!ENTITY man-pages-home "http://www.kernel.org/doc/man-pages/">
-<!ENTITY man-pages-ch6-du "22 MB">
+<!ENTITY man-pages-ch6-du "23 MB">
<!ENTITY man-pages-ch6-sbu "less than 0.1 SBU">
<!ENTITY mpc-version "1.0.1">
@@ -538,12 +538,12 @@
<!ENTITY texinfo-ch6-du "101 MB">
<!ENTITY texinfo-ch6-sbu "0.6 SBU">
-<!ENTITY systemd-version "205">
+<!ENTITY systemd-version "206">
<!ENTITY systemd-size "2,188 KB">
<!ENTITY systemd-url "http://www.freedesktop.org/software/systemd/systemd-&systemd-version;.tar.xz">
-<!ENTITY systemd-md5 "3afc38170371929cf6ab056bf6a52fc6">
+<!ENTITY systemd-md5 "e70a3402af8ad79f526d8c07c3fd5080">
<!ENTITY systemd-home "http://www.freedesktop.org/wiki/Software/systemd/">
-<!ENTITY systemd-ch6-du "36 MB">
+<!ENTITY systemd-ch6-du "29 MB">
<!ENTITY systemd-ch6-sbu "0.1 SBU">
<!ENTITY tzdata-version "2013d">
@@ -555,9 +555,9 @@
<!ENTITY tzdata-ch6-sbu "less than 0.1 SBU">
<!ENTITY udev-lfs "udev-lfs-&systemd-version;-1">
-<!ENTITY udev-lfs-size "24 KB">
+<!ENTITY udev-lfs-size "32 KB">
<!ENTITY udev-lfs-url "&anduin-other;&udev-lfs;.tar.bz2">
-<!ENTITY udev-lfs-md5 "e28c6818a8d06f52f49d082296698bdd">
+<!ENTITY udev-lfs-md5 "e70a3402af8ad79f526d8c07c3fd5080">
<!ENTITY udev-lfs-home " ">
<!ENTITY util-linux-version "2.23.1">
diff --git a/udev-lfs/Makefile.lfs b/udev-lfs/Makefile.lfs
index ee1f02d1a..0874b9015 100644
--- a/udev-lfs/Makefile.lfs
+++ b/udev-lfs/Makefile.lfs
@@ -4,7 +4,7 @@
# vim: tabstop=3
SHELL=/bin/bash
-SYSTEMD_VERSION=205
+SYSTEMD_VERSION=206
VERSION=$(SYSTEMD_VERSION)-1
ifeq ($(V),)
@@ -41,7 +41,8 @@ DEF = -include cfg.h \
-D_FILE_OFFSET_BITS=64 \
-DHAVE_FIRMWARE
-INCLUDE = -I src/libudev -I src/shared -I src -I src/login -I src/systemd -I src/core
+INCLUDE = -I src/libudev -I src/shared -I src -I src/login -I src/systemd \
+ -I src/core -I udev-lfs-206-1
LIBUDEV_SRCS = libudev-device-private.c \
libudev-device.c \
@@ -97,6 +98,7 @@ UDEVD_SRCS = udev-ctrl.c \
udev-builtin.c \
udev-builtin-blkid.c \
udev-builtin-firmware.c \
+ udev-builtin-keyboard.c \
udev-builtin-path_id.c \
udev-builtin-hwdb.c \
udev-builtin-kmod.c \
@@ -124,6 +126,7 @@ UDEV_ADMIN_SRCS = udevadm.c \
udev-watch.c \
udev-builtin.c \
udev-builtin-blkid.c \
+ udev-builtin-keyboard.c \
udev-builtin-firmware.c \
udev-builtin-path_id.c \
udev-builtin-hwdb.c \
diff --git a/udev-lfs/keyboard-keys-from-name.h b/udev-lfs/keyboard-keys-from-name.h
new file mode 100644
index 000000000..e47cb2a95
--- /dev/null
+++ b/udev-lfs/keyboard-keys-from-name.h
@@ -0,0 +1,923 @@
+/* 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,$' */
+
+#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 392
+#define MIN_WORD_LENGTH 1
+#define MAX_WORD_LENGTH 16
+#define MIN_HASH_VALUE 1
+#define MAX_HASH_VALUE 1503
+/* maximum key range = 1503, 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[] =
+ {
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 130, 165,
+ 295, 285, 310, 370, 335, 220, 215, 75, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 75, 1504, 10, 330, 25,
+ 80, 5, 395, 260, 345, 185, 50, 300, 110, 30,
+ 145, 35, 15, 45, 65, 20, 0, 210, 455, 375,
+ 55, 95, 85, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
+ 1504, 1504, 1504, 1504, 1504, 1504
+ };
+ register int hval = len;
+
+ switch (hval)
+ {
+ default:
+ 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},
+ {"e", KEY_E},
+ {(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}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"p", KEY_P},
+ {(char*)0},
+ {"sat", KEY_SAT},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"tape", KEY_TAPE},
+ {(char*)0},
+ {"s", KEY_S},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"c", KEY_C},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"paste", KEY_PASTE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"m", KEY_M},
+ {(char*)0}, {(char*)0},
+ {"text", KEY_TEXT},
+ {(char*)0}, {(char*)0},
+ {"pc", KEY_PC},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"o", KEY_O},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"esc", KEY_ESC},
+ {(char*)0},
+ {"space", KEY_SPACE},
+ {"camera_left", KEY_CAMERA_LEFT},
+ {"camera_right", KEY_CAMERA_RIGHT},
+ {(char*)0},
+ {"camera_zoomout", KEY_CAMERA_ZOOMOUT},
+ {(char*)0},
+ {"camera", KEY_CAMERA},
+ {(char*)0}, {(char*)0},
+ {"stop", KEY_STOP},
+ {(char*)0},
+ {"q", KEY_Q},
+ {(char*)0}, {(char*)0},
+ {"camera_up", KEY_CAMERA_UP},
+ {"apostrophe", KEY_APOSTROPHE},
+ {(char*)0},
+ {"restart", KEY_RESTART},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"j", KEY_J},
+ {"camera_focus", KEY_CAMERA_FOCUS},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"x", KEY_X},
+ {(char*)0},
+ {"database", KEY_DATABASE},
+ {(char*)0}, {(char*)0},
+ {"spreadsheet", KEY_SPREADSHEET},
+ {"compose", KEY_COMPOSE},
+ {"dot", KEY_DOT},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(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},
+ {"comma", KEY_COMMA},
+ {(char*)0},
+ {"ro", KEY_RO},
+ {"alterase", KEY_ALTERASE},
+ {"memo", KEY_MEMO},
+ {"sport", KEY_SPORT},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"last", KEY_LAST},
+ {(char*)0},
+ {"select", KEY_SELECT},
+ {(char*)0}, {(char*)0},
+ {"messenger", KEY_MESSENGER},
+ {(char*)0},
+ {"9", KEY_9},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"props", KEY_PROPS},
+ {"stopcd", KEY_STOPCD},
+ {(char*)0}, {(char*)0},
+ {"mode", KEY_MODE},
+ {"sleep", KEY_SLEEP},
+ {"d", KEY_D},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"scrollup", KEY_SCROLLUP},
+ {(char*)0},
+ {"macro", KEY_MACRO},
+ {"z", KEY_Z},
+ {"ejectcd", KEY_EJECTCD},
+ {(char*)0}, {(char*)0},
+ {"scale", KEY_SCALE},
+ {(char*)0},
+ {"ejectclosecd", KEY_EJECTCLOSECD},
+ {"computer", KEY_COMPUTER},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"reserved", KEY_RESERVED},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"cd", KEY_CD},
+ {(char*)0}, {(char*)0},
+ {"msdos", KEY_MSDOS},
+ {"y", KEY_Y},
+ {"zoomout", KEY_ZOOMOUT},
+ {(char*)0},
+ {"zoomreset", KEY_ZOOMRESET},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"calc", KEY_CALC},
+ {"close", KEY_CLOSE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"next", KEY_NEXT},
+ {(char*)0},
+ {"delete", KEY_DELETE},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"deletefile", KEY_DELETEFILE},
+ {"record", KEY_RECORD},
+ {(char*)0}, {(char*)0},
+ {"zoom", KEY_ZOOM},
+ {"clear", KEY_CLEAR},
+ {"l", KEY_L},
+ {(char*)0},
+ {"calendar", KEY_CALENDAR},
+ {"redo", KEY_REDO},
+ {"enter", KEY_ENTER},
+ {"camera_down", KEY_CAMERA_DOWN},
+ {(char*)0},
+ {"camera_zoomin", KEY_CAMERA_ZOOMIN},
+ {"time", KEY_TIME},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"red", KEY_RED},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"cut", KEY_CUT},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"up", KEY_UP},
+ {(char*)0},
+ {"playpause", KEY_PLAYPAUSE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"exit", KEY_EXIT},
+ {"sysrq", KEY_SYSRQ},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"mute", KEY_MUTE},
+ {"setup", KEY_SETUP},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"0", KEY_0},
+ {"presentation", KEY_PRESENTATION},
+ {"sendfile", KEY_SENDFILE},
+ {(char*)0},
+ {"pause", KEY_PAUSE},
+ {"screen", KEY_SCREEN},
+ {(char*)0}, {(char*)0},
+ {"copy", KEY_COPY},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"edit", KEY_EDIT},
+ {(char*)0}, {(char*)0},
+ {"closecd", KEY_CLOSECD},
+ {"iso", KEY_ISO},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"micmute", KEY_MICMUTE},
+ {"del_line", KEY_DEL_LINE},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"cyclewindows", KEY_CYCLEWINDOWS},
+ {(char*)0}, {(char*)0},
+ {"touchpad_toggle", KEY_TOUCHPAD_TOGGLE},
+ {"n", KEY_N},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"reply", KEY_REPLY},
+ {(char*)0},
+ {"del_eos", KEY_DEL_EOS},
+ {(char*)0}, {(char*)0},
+ {"scrolldown", KEY_SCROLLDOWN},
+ {"player", KEY_PLAYER},
+ {(char*)0}, {(char*)0},
+ {"teen", KEY_TEEN},
+ {"title", KEY_TITLE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"pageup", KEY_PAGEUP},
+ {"media_repeat", KEY_MEDIA_REPEAT},
+ {"end", KEY_END},
+ {(char*)0},
+ {"media", KEY_MEDIA},
+ {"playcd", KEY_PLAYCD},
+ {(char*)0},
+ {"displaytoggle", KEY_DISPLAYTOGGLE},
+ {"list", KEY_LIST},
+ {(char*)0},
+ {"cancel", KEY_CANCEL},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"play", KEY_PLAY},
+ {"games", KEY_GAMES},
+ {"1", KEY_1},
+ {(char*)0},
+ {"aux", KEY_AUX},
+ {"send", KEY_SEND},
+ {(char*)0},
+ {"zoomin", KEY_ZOOMIN},
+ {(char*)0},
+ {"katakana", KEY_KATAKANA},
+ {(char*)0}, {(char*)0},
+ {"editor", KEY_EDITOR},
+ {"pausecd", KEY_PAUSECD},
+ {(char*)0}, {(char*)0},
+ {"email", KEY_EMAIL},
+ {"katakanahiragana", KEY_KATAKANAHIRAGANA},
+ {(char*)0}, {(char*)0},
+ {"open", KEY_OPEN},
+ {(char*)0}, {(char*)0},
+ {"suspend", KEY_SUSPEND},
+ {(char*)0},
+ {"euro", KEY_EURO},
+ {(char*)0}, {(char*)0},
+ {"connect", KEY_CONNECT},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"insert", KEY_INSERT},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"goto", KEY_GOTO},
+ {(char*)0},
+ {"i", KEY_I},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"hp", KEY_HP},
+ {"capslock", KEY_CAPSLOCK},
+ {"documents", KEY_DOCUMENTS},
+ {"radio", KEY_RADIO},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"chat", KEY_CHAT},
+ {"equal", KEY_EQUAL},
+ {"option", KEY_OPTION},
+ {"del_eol", KEY_DEL_EOL},
+ {(char*)0},
+ {"bassboost", KEY_BASSBOOST},
+ {(char*)0}, {(char*)0},
+ {"kpcomma", KEY_KPCOMMA},
+ {"yen", KEY_YEN},
+ {"semicolon", KEY_SEMICOLON},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"kpjpcomma", KEY_KPJPCOMMA},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"dollar", KEY_DOLLAR},
+ {(char*)0},
+ {"mhp", KEY_MHP},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"program", KEY_PROGRAM},
+ {(char*)0}, {(char*)0},
+ {"print", KEY_PRINT},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"u", KEY_U},
+ {(char*)0}, {(char*)0},
+ {"home", KEY_HOME},
+ {"screenlock", KEY_SCREENLOCK},
+ {"touchpad_on", KEY_TOUCHPAD_ON},
+ {"context_menu", KEY_CONTEXT_MENU},
+ {"homepage", KEY_HOMEPAGE},
+ {"graphicseditor", KEY_GRAPHICSEDITOR},
+ {"tuner", KEY_TUNER},
+ {"8", KEY_8},
+ {(char*)0},
+ {"question", KEY_QUESTION},
+ {"shop", KEY_SHOP},
+ {"kpdot", KEY_KPDOT},
+ {(char*)0}, {(char*)0},
+ {"ins_line", KEY_INS_LINE},
+ {"directory", KEY_DIRECTORY},
+ {(char*)0},
+ {"7", KEY_7},
+ {"battery", KEY_BATTERY},
+ {"pagedown", KEY_PAGEDOWN},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"mail", KEY_MAIL},
+ {(char*)0},
+ {"search", KEY_SEARCH},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"scrolllock", KEY_SCROLLLOCK},
+ {(char*)0},
+ {"archive", KEY_ARCHIVE},
+ {(char*)0}, {(char*)0},
+ {"spellcheck", KEY_SPELLCHECK},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"kpplus", KEY_KPPLUS},
+ {"numeric_star", KEY_NUMERIC_STAR},
+ {"kp9", KEY_KP9},
+ {(char*)0}, {(char*)0},
+ {"kpplusminus", KEY_KPPLUSMINUS},
+ {(char*)0},
+ {"nextsong", KEY_NEXTSONG},
+ {"numeric_9", KEY_NUMERIC_9},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"kpequal", KEY_KPEQUAL},
+ {"numeric_pound", KEY_NUMERIC_POUND},
+ {(char*)0},
+ {"green", KEY_GREEN},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"direction", KEY_DIRECTION},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"help", KEY_HELP},
+ {"sound", KEY_SOUND},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"save", KEY_SAVE},
+ {"power", KEY_POWER},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"undo", KEY_UNDO},
+ {"slash", KEY_SLASH},
+ {"images", KEY_IMAGES},
+ {(char*)0}, {(char*)0},
+ {"left", KEY_LEFT},
+ {(char*)0},
+ {"fastforward", KEY_FASTFORWARD},
+ {"leftalt", KEY_LEFTALT},
+ {(char*)0},
+ {"leftshift", KEY_LEFTSHIFT},
+ {(char*)0},
+ {"g", KEY_G},
+ {(char*)0}, {(char*)0},
+ {"leftbrace", KEY_LEFTBRACE},
+ {"audio", KEY_AUDIO},
+ {(char*)0}, {(char*)0},
+ {"leftmeta", KEY_LEFTMETA},
+ {"numeric_0", KEY_NUMERIC_0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"linefeed", KEY_LINEFEED},
+ {"move", KEY_MOVE},
+ {"angle", KEY_ANGLE},
+ {(char*)0},
+ {"kpenter", KEY_KPENTER},
+ {"language", KEY_LANGUAGE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"epg", KEY_EPG},
+ {"dashboard", KEY_DASHBOARD},
+ {"prog1", KEY_PROG1},
+ {"addressbook", KEY_ADDRESSBOOK},
+ {"f9", KEY_F9},
+ {(char*)0},
+ {"channelup", KEY_CHANNELUP},
+ {"phone", KEY_PHONE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"kpminus", KEY_KPMINUS},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"numeric_1", KEY_NUMERIC_1},
+ {"hanja", KEY_HANJA},
+ {(char*)0}, {(char*)0},
+ {"previous", KEY_PREVIOUS},
+ {"news", KEY_NEWS},
+ {(char*)0},
+ {"3", KEY_3},
+ {(char*)0},
+ {"subtitle", KEY_SUBTITLE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"kp0", KEY_KP0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"kpleftparen", KEY_KPLEFTPAREN},
+ {(char*)0}, {(char*)0},
+ {"xfer", KEY_XFER},
+ {(char*)0},
+ {"2", KEY_2},
+ {"frameforward", KEY_FRAMEFORWARD},
+ {(char*)0}, {(char*)0},
+ {"minus", KEY_MINUS},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"switchvideomode", KEY_SWITCHVIDEOMODE},
+ {"k", KEY_K},
+ {(char*)0},
+ {"pvr", KEY_PVR},
+ {"menu", KEY_MENU},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"vcr", KEY_VCR},
+ {"numeric_8", KEY_NUMERIC_8},
+ {"again", KEY_AGAIN},
+ {(char*)0}, {(char*)0},
+ {"mp3", KEY_MP3},
+ {"numeric_7", KEY_NUMERIC_7},
+ {(char*)0},
+ {"4", KEY_4},
+ {(char*)0},
+ {"hiragana", KEY_HIRAGANA},
+ {"sat2", KEY_SAT2},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"leftctrl", KEY_LEFTCTRL},
+ {"fn_e", KEY_FN_E},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"wordprocessor", KEY_WORDPROCESSOR},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"ok", KEY_OK},
+ {(char*)0}, {(char*)0},
+ {"wps_button", KEY_WPS_BUTTON},
+ {(char*)0},
+ {"channel", KEY_CHANNEL},
+ {(char*)0}, {(char*)0},
+ {"front", KEY_FRONT},
+ {(char*)0}, {(char*)0},
+ {"kp1", KEY_KP1},
+ {(char*)0}, {(char*)0},
+ {"fn_esc", KEY_FN_ESC},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"kpasterisk", KEY_KPASTERISK},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"fn_s", KEY_FN_S},
+ {"wimax", KEY_WIMAX},
+ {"b", KEY_B},
+ {(char*)0},
+ {"brl_dot9", KEY_BRL_DOT9},
+ {"blue", KEY_BLUE},
+ {"prog3", KEY_PROG3},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"first", KEY_FIRST},
+ {"6", KEY_6},
+ {"ab", KEY_AB},
+ {"tab", KEY_TAB},
+ {"twen", KEY_TWEN},
+ {"prog2", KEY_PROG2},
+ {(char*)0},
+ {"touchpad_off", KEY_TOUCHPAD_OFF},
+ {(char*)0},
+ {"backspace", KEY_BACKSPACE},
+ {(char*)0},
+ {"channeldown", KEY_CHANNELDOWN},
+ {(char*)0}, {(char*)0},
+ {"numeric_3", KEY_NUMERIC_3},
+ {(char*)0}, {(char*)0},
+ {"fn", KEY_FN},
+ {(char*)0}, {(char*)0},
+ {"prog4", KEY_PROG4},
+ {"h", KEY_H},
+ {"10channelsup", KEY_10CHANNELSUP},
+ {(char*)0},
+ {"numeric_2", KEY_NUMERIC_2},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"dvd", KEY_DVD},
+ {(char*)0}, {(char*)0},
+ {"yellow", KEY_YELLOW},
+ {(char*)0}, {(char*)0},
+ {"file", KEY_FILE},
+ {(char*)0},
+ {"display_off", KEY_DISPLAY_OFF},
+ {(char*)0}, {(char*)0},
+ {"numeric_4", KEY_NUMERIC_4},
+ {(char*)0},
+ {"wakeup", KEY_WAKEUP},
+ {(char*)0},
+ {"f19", KEY_F19},
+ {(char*)0},
+ {"break", KEY_BREAK},
+ {"rewind", KEY_REWIND},
+ {(char*)0}, {(char*)0},
+ {"brl_dot10", KEY_BRL_DOT10},
+ {(char*)0}, {(char*)0},
+ {"kprightparen", KEY_KPRIGHTPAREN},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"f1", KEY_F1},
+ {(char*)0},
+ {"bookmarks", KEY_BOOKMARKS},
+ {(char*)0},
+ {"power2", KEY_POWER2},
+ {(char*)0}, {(char*)0},
+ {"numeric_6", KEY_NUMERIC_6},
+ {"video_next", KEY_VIDEO_NEXT},
+ {"digits", KEY_DIGITS},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"videophone", KEY_VIDEOPHONE},
+ {"5", KEY_5},
+ {(char*)0},
+ {"muhenkan", KEY_MUHENKAN},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"finance", KEY_FINANCE},
+ {"kp8", KEY_KP8},
+ {(char*)0}, {(char*)0},
+ {"w", KEY_W},
+ {(char*)0},
+ {"brl_dot1", KEY_BRL_DOT1},
+ {(char*)0}, {(char*)0},
+ {"vendor", KEY_VENDOR},
+ {(char*)0},
+ {"kp7", KEY_KP7},
+ {"zenkakuhankaku", KEY_ZENKAKUHANKAKU},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"video", KEY_VIDEO},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"numeric_5", KEY_NUMERIC_5},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"fn_d", KEY_FN_D},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"down", KEY_DOWN},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"wlan", KEY_WLAN},
+ {(char*)0},
+ {"f", KEY_F},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"kpslash", KEY_KPSLASH},
+ {(char*)0},
+ {"info", KEY_INFO},
+ {"grave", KEY_GRAVE},
+ {(char*)0},
+ {"numlock", KEY_NUMLOCK},
+ {"brl_dot8", KEY_BRL_DOT8},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"brl_dot7", KEY_BRL_DOT7},
+ {"frameback", KEY_FRAMEBACK},
+ {(char*)0}, {(char*)0},
+ {"previoussong", KEY_PREVIOUSSONG},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"keyboard", KEY_KEYBOARD},
+ {"voicemail", KEY_VOICEMAIL},
+ {"102nd", KEY_102ND},
+ {(char*)0}, {(char*)0},
+ {"f10", KEY_F10},
+ {"10channelsdown", KEY_10CHANNELSDOWN},
+ {(char*)0}, {(char*)0},
+ {"f8", KEY_F8},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"volumeup", KEY_VOLUMEUP},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f7", KEY_F7},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"logoff", KEY_LOGOFF},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"right", KEY_RIGHT},
+ {"brightness_cycle", KEY_BRIGHTNESS_CYCLE},
+ {(char*)0},
+ {"rightalt", KEY_RIGHTALT},
+ {(char*)0},
+ {"rightshift", KEY_RIGHTSHIFT},
+ {"config", KEY_CONFIG},
+ {"brightnessup", KEY_BRIGHTNESSUP},
+ {(char*)0}, {(char*)0},
+ {"rightbrace", KEY_RIGHTBRACE},
+ {(char*)0}, {(char*)0},
+ {"brl_dot3", KEY_BRL_DOT3},
+ {"rightmeta", KEY_RIGHTMETA},
+ {(char*)0}, {(char*)0},
+ {"hangeul", KEY_HANGEUL},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"refresh", KEY_REFRESH},
+ {"brl_dot2", KEY_BRL_DOT2},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"kp3", KEY_KP3},
+ {"find", KEY_FIND},
+ {"brightness_zero", KEY_BRIGHTNESS_ZERO},
+ {(char*)0}, {(char*)0},
+ {"f11", KEY_F11},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"brl_dot4", KEY_BRL_DOT4},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"new", KEY_NEW},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"kp2", KEY_KP2},
+ {(char*)0}, {(char*)0},
+ {"v", KEY_V},
+ {"tv", KEY_TV},
+ {(char*)0},
+ {"kbdillumtoggle", KEY_KBDILLUMTOGGLE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"slow", KEY_SLOW},
+ {"kbdillumup", KEY_KBDILLUMUP},
+ {(char*)0}, {(char*)0},
+ {"brl_dot6", KEY_BRL_DOT6},
+ {"favorites", KEY_FAVORITES},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"kp4", KEY_KP4},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"henkan", KEY_HENKAN},
+ {(char*)0}, {(char*)0},
+ {"fn_1", KEY_FN_1},
+ {(char*)0}, {(char*)0},
+ {"unknown", KEY_UNKNOWN},
+ {"f20", KEY_F20},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"forward", KEY_FORWARD},
+ {"brl_dot5", KEY_BRL_DOT5},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"volumedown", KEY_VOLUMEDOWN},
+ {(char*)0},
+ {"f3", KEY_F3},
+ {(char*)0},
+ {"back", KEY_BACK},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"rightctrl", KEY_RIGHTCTRL},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"shuffle", KEY_SHUFFLE},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"f2", KEY_F2},
+ {"kp6", KEY_KP6},
+ {(char*)0}, {(char*)0},
+ {"forwardmail", KEY_FORWARDMAIL},
+ {(char*)0},
+ {"f18", KEY_F18},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"brightnessdown", KEY_BRIGHTNESSDOWN},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f17", KEY_F17},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"bluetooth", KEY_BLUETOOTH},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f4", KEY_F4},
+ {(char*)0},
+ {"backslash", KEY_BACKSLASH},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f21", KEY_F21},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {"tv2", KEY_TV2},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"kbdillumdown", KEY_KBDILLUMDOWN},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"kp5", KEY_KP5},
+ {(char*)0}, {(char*)0},
+ {"rfkill", KEY_RFKILL},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0},
+ {"f6", KEY_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}, {(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}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"f13", KEY_F13},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f5", KEY_F5},
+ {(char*)0},
+ {"vcr2", KEY_VCR2},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"fn_f10", KEY_FN_F10},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"f12", KEY_F12},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(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_f1", KEY_FN_F1},
+ {"fn_f11", KEY_FN_F11},
+ {(char*)0},
+ {"f14", KEY_F14},
+ {(char*)0}, {(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}, {(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_2", KEY_FN_2},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(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_f8", KEY_FN_F8},
+ {(char*)0}, {(char*)0},
+ {"f16", KEY_F16},
+ {(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},
+ {"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},
+ {"f23", KEY_F23},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(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_b", KEY_FN_B},
+ {(char*)0}, {(char*)0}, {(char*)0},
+ {"f22", KEY_F22},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(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_f3", KEY_FN_F3},
+ {(char*)0}, {(char*)0},
+ {"f15", KEY_F15},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0},
+ {"fn_f2", KEY_FN_F2},
+ {"fn_f12", KEY_FN_F12},
+ {(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},
+ {"fn_f4", KEY_FN_F4},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(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}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(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}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(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_f", KEY_FN_F},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+ {(char*)0}, {(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;
+}
diff --git a/udev-lfs/keyboard-keys-to-name.h b/udev-lfs/keyboard-keys-to-name.h
new file mode 100644
index 000000000..f5a982ca2
--- /dev/null
+++ b/udev-lfs/keyboard-keys-to-name.h
@@ -0,0 +1,394 @@
+const char* const key_names[KEY_CNT] = {
+[KEY_HIRAGANA] = "KEY_HIRAGANA",
+[KEY_TOUCHPAD_TOGGLE] = "KEY_TOUCHPAD_TOGGLE",
+[KEY_DELETEFILE] = "KEY_DELETEFILE",
+[KEY_TITLE] = "KEY_TITLE",
+[KEY_GRAVE] = "KEY_GRAVE",
+[KEY_RESERVED] = "KEY_RESERVED",
+[KEY_DVD] = "KEY_DVD",
+[KEY_FN_F10] = "KEY_FN_F10",
+[KEY_FN_F11] = "KEY_FN_F11",
+[KEY_FN_F12] = "KEY_FN_F12",
+[KEY_FRAMEBACK] = "KEY_FRAMEBACK",
+[KEY_BRL_DOT10] = "KEY_BRL_DOT10",
+[KEY_SLEEP] = "KEY_SLEEP",
+[KEY_VCR2] = "KEY_VCR2",
+[KEY_ZENKAKUHANKAKU] = "KEY_ZENKAKUHANKAKU",
+[KEY_IMAGES] = "KEY_IMAGES",
+[KEY_LEFTMETA] = "KEY_LEFTMETA",
+[KEY_OPEN] = "KEY_OPEN",
+[KEY_BATTERY] = "KEY_BATTERY",
+[KEY_MACRO] = "KEY_MACRO",
+[KEY_MODE] = "KEY_MODE",
+[KEY_GREEN] = "KEY_GREEN",
+[KEY_SAT] = "KEY_SAT",
+[KEY_RIGHTMETA] = "KEY_RIGHTMETA",
+[KEY_COMPUTER] = "KEY_COMPUTER",
+[KEY_SELECT] = "KEY_SELECT",
+[KEY_PAGEDOWN] = "KEY_PAGEDOWN",
+[KEY_CAPSLOCK] = "KEY_CAPSLOCK",
+[KEY_REDO] = "KEY_REDO",
+[KEY_KBDILLUMDOWN] = "KEY_KBDILLUMDOWN",
+[KEY_SCROLLDOWN] = "KEY_SCROLLDOWN",
+[KEY_SWITCHVIDEOMODE] = "KEY_SWITCHVIDEOMODE",
+[KEY_LIST] = "KEY_LIST",
+[KEY_WORDPROCESSOR] = "KEY_WORDPROCESSOR",
+[KEY_CAMERA] = "KEY_CAMERA",
+[KEY_MOVE] = "KEY_MOVE",
+[KEY_CONNECT] = "KEY_CONNECT",
+[KEY_PROG1] = "KEY_PROG1",
+[KEY_PROG2] = "KEY_PROG2",
+[KEY_PROG3] = "KEY_PROG3",
+[KEY_PROG4] = "KEY_PROG4",
+[KEY_TWEN] = "KEY_TWEN",
+[KEY_INS_LINE] = "KEY_INS_LINE",
+[KEY_GAMES] = "KEY_GAMES",
+[KEY_KATAKANA] = "KEY_KATAKANA",
+[KEY_PROPS] = "KEY_PROPS",
+[KEY_CALENDAR] = "KEY_CALENDAR",
+[KEY_RESTART] = "KEY_RESTART",
+[KEY_KBDILLUMTOGGLE] = "KEY_KBDILLUMTOGGLE",
+[KEY_CLEAR] = "KEY_CLEAR",
+[KEY_CAMERA_FOCUS] = "KEY_CAMERA_FOCUS",
+[KEY_NUMLOCK] = "KEY_NUMLOCK",
+[KEY_ZOOMIN] = "KEY_ZOOMIN",
+[KEY_EDIT] = "KEY_EDIT",
+[KEY_AUX] = "KEY_AUX",
+[KEY_EQUAL] = "KEY_EQUAL",
+[KEY_DIRECTORY] = "KEY_DIRECTORY",
+[KEY_CAMERA_RIGHT] = "KEY_CAMERA_RIGHT",
+[KEY_ADDRESSBOOK] = "KEY_ADDRESSBOOK",
+[KEY_PASTE] = "KEY_PASTE",
+[KEY_CHANNELUP] = "KEY_CHANNELUP",
+[KEY_SHUFFLE] = "KEY_SHUFFLE",
+[KEY_MAIL] = "KEY_MAIL",
+[KEY_LEFTALT] = "KEY_LEFTALT",
+[KEY_WWW] = "KEY_WWW",
+[KEY_KPEQUAL] = "KEY_KPEQUAL",
+[KEY_HENKAN] = "KEY_HENKAN",
+[KEY_DISPLAYTOGGLE] = "KEY_DISPLAYTOGGLE",
+[KEY_RIGHTALT] = "KEY_RIGHTALT",
+[KEY_SPORT] = "KEY_SPORT",
+[KEY_POWER] = "KEY_POWER",
+[KEY_APOSTROPHE] = "KEY_APOSTROPHE",
+[KEY_SCREEN] = "KEY_SCREEN",
+[KEY_RADIO] = "KEY_RADIO",
+[KEY_DATABASE] = "KEY_DATABASE",
+[KEY_VOLUMEDOWN] = "KEY_VOLUMEDOWN",
+[KEY_SENDFILE] = "KEY_SENDFILE",
+[KEY_RIGHTSHIFT] = "KEY_RIGHTSHIFT",
+[KEY_ARCHIVE] = "KEY_ARCHIVE",
+[KEY_NUMERIC_POUND] = "KEY_NUMERIC_POUND",
+[KEY_EPG] = "KEY_EPG",
+[KEY_NEXTSONG] = "KEY_NEXTSONG",
+[KEY_FIRST] = "KEY_FIRST",
+[KEY_SPREADSHEET] = "KEY_SPREADSHEET",
+[KEY_KPSLASH] = "KEY_KPSLASH",
+[KEY_BACK] = "KEY_BACK",
+[KEY_KP3] = "KEY_KP3",
+[KEY_KP5] = "KEY_KP5",
+[KEY_PAGEUP] = "KEY_PAGEUP",
+[KEY_ESC] = "KEY_ESC",
+[KEY_DELETE] = "KEY_DELETE",
+[KEY_HOME] = "KEY_HOME",
+[KEY_WPS_BUTTON] = "KEY_WPS_BUTTON",
+[KEY_AUDIO] = "KEY_AUDIO",
+[KEY_NEW] = "KEY_NEW",
+[KEY_SAT2] = "KEY_SAT2",
+[KEY_LINEFEED] = "KEY_LINEFEED",
+[KEY_PVR] = "KEY_PVR",
+[KEY_KPPLUSMINUS] = "KEY_KPPLUSMINUS",
+[KEY_SHOP] = "KEY_SHOP",
+[KEY_LEFTSHIFT] = "KEY_LEFTSHIFT",
+[KEY_BASSBOOST] = "KEY_BASSBOOST",
+[KEY_BRIGHTNESS_CYCLE] = "KEY_BRIGHTNESS_CYCLE",
+[KEY_TAB] = "KEY_TAB",
+[KEY_UNKNOWN] = "KEY_UNKNOWN",
+[KEY_KPLEFTPAREN] = "KEY_KPLEFTPAREN",
+[KEY_EDITOR] = "KEY_EDITOR",
+[KEY_EMAIL] = "KEY_EMAIL",
+[KEY_102ND] = "KEY_102ND",
+[KEY_MENU] = "KEY_MENU",
+[KEY_VOICEMAIL] = "KEY_VOICEMAIL",
+[KEY_SPACE] = "KEY_SPACE",
+[KEY_INFO] = "KEY_INFO",
+[KEY_WAKEUP] = "KEY_WAKEUP",
+[KEY_BLUE] = "KEY_BLUE",
+[KEY_HOMEPAGE] = "KEY_HOMEPAGE",
+[KEY_KPCOMMA] = "KEY_KPCOMMA",
+[KEY_ZOOMRESET] = "KEY_ZOOMRESET",
+[KEY_FAVORITES] = "KEY_FAVORITES",
+[KEY_TOUCHPAD_ON] = "KEY_TOUCHPAD_ON",
+[KEY_FN_1] = "KEY_FN_1",
+[KEY_FN_2] = "KEY_FN_2",
+[KEY_ISO] = "KEY_ISO",
+[KEY_FN_D] = "KEY_FN_D",
+[KEY_FN_E] = "KEY_FN_E",
+[KEY_FN_F] = "KEY_FN_F",
+[KEY_FN_S] = "KEY_FN_S",
+[KEY_HANJA] = "KEY_HANJA",
+[KEY_BREAK] = "KEY_BREAK",
+[KEY_FORWARD] = "KEY_FORWARD",
+[KEY_TV2] = "KEY_TV2",
+[KEY_PAUSECD] = "KEY_PAUSECD",
+[KEY_RIGHT] = "KEY_RIGHT",
+[KEY_F21] = "KEY_F21",
+[KEY_SLOW] = "KEY_SLOW",
+[KEY_F10] = "KEY_F10",
+[KEY_F11] = "KEY_F11",
+[KEY_F12] = "KEY_F12",
+[KEY_F13] = "KEY_F13",
+[KEY_F14] = "KEY_F14",
+[KEY_F15] = "KEY_F15",
+[KEY_F16] = "KEY_F16",
+[KEY_F17] = "KEY_F17",
+[KEY_F18] = "KEY_F18",
+[KEY_F19] = "KEY_F19",
+[KEY_SEMICOLON] = "KEY_SEMICOLON",
+[KEY_F20] = "KEY_F20",
+[KEY_F22] = "KEY_F22",
+[KEY_F23] = "KEY_F23",
+[KEY_F24] = "KEY_F24",
+[KEY_SAVE] = "KEY_SAVE",
+[KEY_1] = "KEY_1",
+[KEY_2] = "KEY_2",
+[KEY_3] = "KEY_3",
+[KEY_4] = "KEY_4",
+[KEY_5] = "KEY_5",
+[KEY_6] = "KEY_6",
+[KEY_7] = "KEY_7",
+[KEY_8] = "KEY_8",
+[KEY_9] = "KEY_9",
+[KEY_B] = "KEY_B",
+[KEY_C] = "KEY_C",
+[KEY_D] = "KEY_D",
+[KEY_E] = "KEY_E",
+[KEY_F] = "KEY_F",
+[KEY_G] = "KEY_G",
+[KEY_H] = "KEY_H",
+[KEY_I] = "KEY_I",
+[KEY_K] = "KEY_K",
+[KEY_L] = "KEY_L",
+[KEY_M] = "KEY_M",
+[KEY_O] = "KEY_O",
+[KEY_P] = "KEY_P",
+[KEY_R] = "KEY_R",
+[KEY_S] = "KEY_S",
+[KEY_T] = "KEY_T",
+[KEY_U] = "KEY_U",
+[KEY_W] = "KEY_W",
+[KEY_X] = "KEY_X",
+[KEY_Z] = "KEY_Z",
+[KEY_MHP] = "KEY_MHP",
+[KEY_F5] = "KEY_F5",
+[KEY_RECORD] = "KEY_RECORD",
+[KEY_F7] = "KEY_F7",
+[KEY_CHANNEL] = "KEY_CHANNEL",
+[KEY_EJECTCD] = "KEY_EJECTCD",
+[KEY_VIDEOPHONE] = "KEY_VIDEOPHONE",
+[KEY_VIDEO] = "KEY_VIDEO",
+[KEY_VENDOR] = "KEY_VENDOR",
+[KEY_MP3] = "KEY_MP3",
+[KEY_0] = "KEY_0",
+[KEY_AGAIN] = "KEY_AGAIN",
+[KEY_DIGITS] = "KEY_DIGITS",
+[KEY_SEND] = "KEY_SEND",
+[KEY_MICMUTE] = "KEY_MICMUTE",
+[KEY_COMMA] = "KEY_COMMA",
+[KEY_GRAPHICSEDITOR] = "KEY_GRAPHICSEDITOR",
+[KEY_A] = "KEY_A",
+[KEY_J] = "KEY_J",
+[KEY_YELLOW] = "KEY_YELLOW",
+[KEY_LEFTBRACE] = "KEY_LEFTBRACE",
+[KEY_N] = "KEY_N",
+[KEY_QUESTION] = "KEY_QUESTION",
+[KEY_LANGUAGE] = "KEY_LANGUAGE",
+[KEY_XFER] = "KEY_XFER",
+[KEY_Q] = "KEY_Q",
+[KEY_LOGOFF] = "KEY_LOGOFF",
+[KEY_SOUND] = "KEY_SOUND",
+[KEY_V] = "KEY_V",
+[KEY_PRINT] = "KEY_PRINT",
+[KEY_Y] = "KEY_Y",
+[KEY_COPY] = "KEY_COPY",
+[KEY_CAMERA_ZOOMOUT] = "KEY_CAMERA_ZOOMOUT",
+[KEY_BRL_DOT1] = "KEY_BRL_DOT1",
+[KEY_BRL_DOT2] = "KEY_BRL_DOT2",
+[KEY_BRL_DOT3] = "KEY_BRL_DOT3",
+[KEY_BRL_DOT4] = "KEY_BRL_DOT4",
+[KEY_BRL_DOT5] = "KEY_BRL_DOT5",
+[KEY_BRL_DOT6] = "KEY_BRL_DOT6",
+[KEY_BRL_DOT7] = "KEY_BRL_DOT7",
+[KEY_BRL_DOT8] = "KEY_BRL_DOT8",
+[KEY_BRL_DOT9] = "KEY_BRL_DOT9",
+[KEY_BRIGHTNESSUP] = "KEY_BRIGHTNESSUP",
+[KEY_FN_F7] = "KEY_FN_F7",
+[KEY_YEN] = "KEY_YEN",
+[KEY_PLAY] = "KEY_PLAY",
+[KEY_REWIND] = "KEY_REWIND",
+[KEY_VIDEO_NEXT] = "KEY_VIDEO_NEXT",
+[KEY_DIRECTION] = "KEY_DIRECTION",
+[KEY_TOUCHPAD_OFF] = "KEY_TOUCHPAD_OFF",
+[KEY_HELP] = "KEY_HELP",
+[KEY_NUMERIC_STAR] = "KEY_NUMERIC_STAR",
+[KEY_BACKSLASH] = "KEY_BACKSLASH",
+[KEY_SYSRQ] = "KEY_SYSRQ",
+[KEY_END] = "KEY_END",
+[KEY_RFKILL] = "KEY_RFKILL",
+[KEY_LEFTCTRL] = "KEY_LEFTCTRL",
+[KEY_KPRIGHTPAREN] = "KEY_KPRIGHTPAREN",
+[KEY_KPASTERISK] = "KEY_KPASTERISK",
+[KEY_REFRESH] = "KEY_REFRESH",
+[KEY_RIGHTCTRL] = "KEY_RIGHTCTRL",
+[KEY_SEARCH] = "KEY_SEARCH",
+[KEY_PHONE] = "KEY_PHONE",
+[KEY_KBDILLUMUP] = "KEY_KBDILLUMUP",
+[KEY_STOP] = "KEY_STOP",
+[KEY_BRIGHTNESS_ZERO] = "KEY_BRIGHTNESS_ZERO",
+[KEY_CHAT] = "KEY_CHAT",
+[KEY_VOLUMEUP] = "KEY_VOLUMEUP",
+[KEY_CLOSECD] = "KEY_CLOSECD",
+[KEY_CAMERA_ZOOMIN] = "KEY_CAMERA_ZOOMIN",
+[KEY_UNDO] = "KEY_UNDO",
+[KEY_TUNER] = "KEY_TUNER",
+[KEY_ANGLE] = "KEY_ANGLE",
+[KEY_PRESENTATION] = "KEY_PRESENTATION",
+[KEY_CAMERA_DOWN] = "KEY_CAMERA_DOWN",
+[KEY_REPLY] = "KEY_REPLY",
+[KEY_CALC] = "KEY_CALC",
+[KEY_EXIT] = "KEY_EXIT",
+[KEY_FN_B] = "KEY_FN_B",
+[KEY_DOLLAR] = "KEY_DOLLAR",
+[KEY_CAMERA_LEFT] = "KEY_CAMERA_LEFT",
+[KEY_UWB] = "KEY_UWB",
+[KEY_PREVIOUSSONG] = "KEY_PREVIOUSSONG",
+[KEY_CONFIG] = "KEY_CONFIG",
+[KEY_SETUP] = "KEY_SETUP",
+[KEY_PLAYCD] = "KEY_PLAYCD",
+[KEY_MEDIA] = "KEY_MEDIA",
+[KEY_COMPOSE] = "KEY_COMPOSE",
+[KEY_PLAYER] = "KEY_PLAYER",
+[KEY_10CHANNELSDOWN] = "KEY_10CHANNELSDOWN",
+[KEY_FRAMEFORWARD] = "KEY_FRAMEFORWARD",
+[KEY_MSDOS] = "KEY_MSDOS",
+[KEY_ZOOM] = "KEY_ZOOM",
+[KEY_NEWS] = "KEY_NEWS",
+[KEY_NUMERIC_0] = "KEY_NUMERIC_0",
+[KEY_NUMERIC_1] = "KEY_NUMERIC_1",
+[KEY_NUMERIC_2] = "KEY_NUMERIC_2",
+[KEY_NUMERIC_3] = "KEY_NUMERIC_3",
+[KEY_NUMERIC_4] = "KEY_NUMERIC_4",
+[KEY_NUMERIC_5] = "KEY_NUMERIC_5",
+[KEY_NUMERIC_7] = "KEY_NUMERIC_7",
+[KEY_NUMERIC_8] = "KEY_NUMERIC_8",
+[KEY_NUMERIC_9] = "KEY_NUMERIC_9",
+[KEY_SCALE] = "KEY_SCALE",
+[KEY_NEXT] = "KEY_NEXT",
+[KEY_CUT] = "KEY_CUT",
+[KEY_PREVIOUS] = "KEY_PREVIOUS",
+[KEY_VIDEO_PREV] = "KEY_VIDEO_PREV",
+[KEY_MUTE] = "KEY_MUTE",
+[KEY_PAUSE] = "KEY_PAUSE",
+[KEY_TAPE] = "KEY_TAPE",
+[KEY_PROGRAM] = "KEY_PROGRAM",
+[KEY_OPTION] = "KEY_OPTION",
+[KEY_ZOOMOUT] = "KEY_ZOOMOUT",
+[KEY_PLAYPAUSE] = "KEY_PLAYPAUSE",
+[KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF",
+[KEY_RED] = "KEY_RED",
+[KEY_KPPLUS] = "KEY_KPPLUS",
+[KEY_FINANCE] = "KEY_FINANCE",
+[KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN",
+[KEY_KPDOT] = "KEY_KPDOT",
+[KEY_TEEN] = "KEY_TEEN",
+[KEY_SCREENLOCK] = "KEY_SCREENLOCK",
+[KEY_FN_F1] = "KEY_FN_F1",
+[KEY_FN_F2] = "KEY_FN_F2",
+[KEY_FN_F3] = "KEY_FN_F3",
+[KEY_FN_F4] = "KEY_FN_F4",
+[KEY_FN_F5] = "KEY_FN_F5",
+[KEY_FN_F6] = "KEY_FN_F6",
+[KEY_FN_F8] = "KEY_FN_F8",
+[KEY_FN_F9] = "KEY_FN_F9",
+[KEY_EURO] = "KEY_EURO",
+[KEY_WIMAX] = "KEY_WIMAX",
+[KEY_AB] = "KEY_AB",
+[KEY_SUBTITLE] = "KEY_SUBTITLE",
+[KEY_CD] = "KEY_CD",
+[KEY_CONTEXT_MENU] = "KEY_CONTEXT_MENU",
+[KEY_MESSENGER] = "KEY_MESSENGER",
+[KEY_F1] = "KEY_F1",
+[KEY_F2] = "KEY_F2",
+[KEY_F3] = "KEY_F3",
+[KEY_F4] = "KEY_F4",
+[KEY_F6] = "KEY_F6",
+[KEY_F8] = "KEY_F8",
+[KEY_F9] = "KEY_F9",
+[KEY_FN] = "KEY_FN",
+[KEY_SCROLLUP] = "KEY_SCROLLUP",
+[KEY_ENTER] = "KEY_ENTER",
+[KEY_CANCEL] = "KEY_CANCEL",
+[KEY_SCROLLLOCK] = "KEY_SCROLLLOCK",
+[KEY_RIGHTBRACE] = "KEY_RIGHTBRACE",
+[KEY_VCR] = "KEY_VCR",
+[KEY_HP] = "KEY_HP",
+[KEY_FASTFORWARD] = "KEY_FASTFORWARD",
+[KEY_TEXT] = "KEY_TEXT",
+[KEY_FN_ESC] = "KEY_FN_ESC",
+[KEY_INSERT] = "KEY_INSERT",
+[KEY_CYCLEWINDOWS] = "KEY_CYCLEWINDOWS",
+[KEY_KATAKANAHIRAGANA] = "KEY_KATAKANAHIRAGANA",
+[KEY_FRONT] = "KEY_FRONT",
+[KEY_WLAN] = "KEY_WLAN",
+[KEY_DASHBOARD] = "KEY_DASHBOARD",
+[KEY_BLUETOOTH] = "KEY_BLUETOOTH",
+[KEY_FORWARDMAIL] = "KEY_FORWARDMAIL",
+[KEY_MUHENKAN] = "KEY_MUHENKAN",
+[KEY_OK] = "KEY_OK",
+[KEY_CHANNELDOWN] = "KEY_CHANNELDOWN",
+[KEY_DEL_EOL] = "KEY_DEL_EOL",
+[KEY_DOWN] = "KEY_DOWN",
+[KEY_DEL_EOS] = "KEY_DEL_EOS",
+[KEY_PC] = "KEY_PC",
+[KEY_KPENTER] = "KEY_KPENTER",
+[KEY_LAST] = "KEY_LAST",
+[KEY_KP0] = "KEY_KP0",
+[KEY_KP1] = "KEY_KP1",
+[KEY_KP2] = "KEY_KP2",
+[KEY_KP4] = "KEY_KP4",
+[KEY_KP6] = "KEY_KP6",
+[KEY_KP7] = "KEY_KP7",
+[KEY_KP8] = "KEY_KP8",
+[KEY_KP9] = "KEY_KP9",
+[KEY_BACKSPACE] = "KEY_BACKSPACE",
+[KEY_RO] = "KEY_RO",
+[KEY_ALTERASE] = "KEY_ALTERASE",
+[KEY_POWER2] = "KEY_POWER2",
+[KEY_MINUS] = "KEY_MINUS",
+[KEY_KPJPCOMMA] = "KEY_KPJPCOMMA",
+[KEY_10CHANNELSUP] = "KEY_10CHANNELSUP",
+[KEY_TV] = "KEY_TV",
+[KEY_UP] = "KEY_UP",
+[KEY_SUSPEND] = "KEY_SUSPEND",
+[KEY_FILE] = "KEY_FILE",
+[KEY_TIME] = "KEY_TIME",
+[KEY_FIND] = "KEY_FIND",
+[KEY_STOPCD] = "KEY_STOPCD",
+[KEY_SPELLCHECK] = "KEY_SPELLCHECK",
+[KEY_DOCUMENTS] = "KEY_DOCUMENTS",
+[KEY_LEFT] = "KEY_LEFT",
+[KEY_EJECTCLOSECD] = "KEY_EJECTCLOSECD",
+[KEY_KPMINUS] = "KEY_KPMINUS",
+[KEY_GOTO] = "KEY_GOTO",
+[KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT",
+[KEY_MEMO] = "KEY_MEMO",
+[KEY_SLASH] = "KEY_SLASH",
+[KEY_KEYBOARD] = "KEY_KEYBOARD",
+[KEY_CAMERA_UP] = "KEY_CAMERA_UP",
+[KEY_DEL_LINE] = "KEY_DEL_LINE",
+[KEY_CLOSE] = "KEY_CLOSE",
+[KEY_DOT] = "KEY_DOT",
+[KEY_NUMERIC_6] = "KEY_NUMERIC_6",
+[KEY_HANGEUL] = "KEY_HANGEUL",
+[KEY_BOOKMARKS] = "KEY_BOOKMARKS",
+};
diff --git a/udev-lfs/makefile-incl.keymap b/udev-lfs/makefile-incl.keymap
index f8921b61d..6f263cd6f 100644
--- a/udev-lfs/makefile-incl.keymap
+++ b/udev-lfs/makefile-incl.keymap
@@ -47,40 +47,5 @@ src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt
END{print "};" \
}' $< > $@
-build/keymap: src/udev/keymap/keymap.c build/$(COMMON_LIB) $(KEYMAP_DEPS)
- @echo LINK $@
- $(VB)gcc $< -o $@ -I src/udev/keymap $(WARN) $(OPTIONS2) $(INCLUDE) $(DEF) \
- build/$(COMMON_LIB) $(LDFLAGS)
- $(VB)strip --strip-unneeded $@
-
-keymap: build/keymap
-
-install-keymap: keymap
- @mkdir -pv $(DESTDIR)/lib/udev/keymaps/force-release \
- $(DESTDIR)/lib/udev/rules.d \
- $(DESTDIR)/usr/share/doc/udev
-
- @cp -v build/keymap $(DESTDIR)/lib/udev
-
- @cp -v $(KEYMAPS) $(DESTDIR)/lib/udev/keymaps
- @cp -v $(KEYMAPS_FR) $(DESTDIR)/lib/udev/keymaps/force-release
-
- @cp -v src/udev/keymap/*.rules $(DESTDIR)/lib/udev/rules.d
- @cp -v src/udev/keymap/findkeyboards $(DESTDIR)/lib/udev
-
- @cp -v src/udev/keymap/*.txt $(DESTDIR)/usr/share/doc/udev
-
- @sed -e 's|@udevlibexecdir@|/lib/udev|g' \
- src/udev/keymap/keyboard-force-release.sh.in \
- > $(DESTDIR)/lib/udev/keyboard-force-release.sh
-
- @chmod 0755 $(DESTDIR)/lib/udev/keyboard-force-release.sh
-
-clean-keymap:
- rm -f src/udev/keymap/keys.txt
- rm -f src/udev/keymap/keys-from-name.gperf
- rm -f src/udev/keymap/keys-from-name.h
- rm -f src/udev/keymap/keys-to-name.h
- rm -f build/keymap
-
-.PHONY: clean-keymap
+keymap:
+ echo "keymap is now built into udevadm/udevd"