Ver Fonte

Update to systemd-206/udev-lfs-206-1

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10307 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Bruce Dubbs há 12 anos atrás
pai
commit
6a5ec4923d

+ 10 - 0
chapter01/changelog.xml

@@ -35,6 +35,16 @@
       </itemizedlist>
     </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>

+ 2 - 2
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}]" -->

+ 14 - 14
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">

+ 5 - 2
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     \

+ 923 - 0
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;
+}

+ 394 - 0
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",
+};

+ 2 - 37
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"