hal: Branch 'master'

David Zeuthen david at kemper.freedesktop.org
Thu Dec 6 09:23:35 PST 2007


 hald/linux/blockdev.c              |   90 ++-
 tools/hal-setup-keymap-hash-name.h |  882 ++++++++++++++++++-------------------
 2 files changed, 491 insertions(+), 481 deletions(-)

New commits:
commit e07bf6f69e2a013eecaef3984348be4cf5a253cc
Author: Florent Mertens <flomertens at gmail.com>
Date:   Thu Dec 6 12:20:20 2007 -0500

    linear MD device are not syncable
    
    Hello all,
    
    Linear MD device are not syncable, and so there is no sync-action in
    /sys/block/md0/md/ (at least i don't have it).
    In the actual code, MD device are ignored if this file is not found.
    The attched path fix that issue.
    
    Cheers,
    
    Mertens Florent

diff --git a/hald/linux/blockdev.c b/hald/linux/blockdev.c
index 392b490..46b5b58 100644
--- a/hald/linux/blockdev.c
+++ b/hald/linux/blockdev.c
@@ -679,6 +679,7 @@ refresh_md_state (HalDevice *d)
         int num_components;
         gboolean ret;
         const char *sysfs_path;
+        const char *level;
 
         ret = FALSE;
 
@@ -689,49 +690,54 @@ refresh_md_state (HalDevice *d)
         }
 
         HAL_INFO (("In refresh_md_state() for '%s'", sysfs_path));
-
-        sync_action = hal_util_get_string_from_file (sysfs_path, "md/sync_action");
-        if (sync_action == NULL) {
-                HAL_WARNING (("Cannot get sync_action for %s", sysfs_path));
-                goto error;
-        }
-        if (strcmp (sync_action, "idle") == 0) {
+        level = hal_device_property_get_string (d, "storage.linux_raid.level");
+        HAL_INFO ((" MD Level is '%s'", level));
+		
+        /* MD linear device are not syncable */
+        if (strcmp (level, "linear") != 0) {
+	        sync_action = hal_util_get_string_from_file (sysfs_path, "md/sync_action");
+	        if (sync_action == NULL) {
+	                HAL_WARNING (("Cannot get sync_action for %s", sysfs_path));
+	                goto error;
+	        }
+	        if (strcmp (sync_action, "idle") == 0) {
+	                hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", FALSE);
+			hal_device_property_remove (d, "storage.linux_raid.sync.action");
+			hal_device_property_remove (d, "storage.linux_raid.sync.speed");
+			hal_device_property_remove (d, "storage.linux_raid.sync.progress");
+	        } else {
+	                int speed;
+	                char *str_completed;
+                        
+	                hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", TRUE);
+                        
+	                hal_device_property_set_string (d, "storage.linux_raid.sync.action", sync_action);
+                        
+			if (!hal_util_get_int_from_file (sysfs_path, "md/sync_speed", &speed, 10)) {
+	                        HAL_WARNING (("Cannot get sync_speed for %s", sysfs_path));
+	                } else {
+	                        hal_device_property_set_uint64 (d, "storage.linux_raid.sync.speed", speed);
+	                }
+                        
+	                if ((str_completed = hal_util_get_string_from_file (sysfs_path, "md/sync_completed")) == NULL) {
+	                        HAL_WARNING (("Cannot get sync_completed for %s", sysfs_path));
+	                } else {
+	                        long long int sync_pos, sync_total;
+                                
+	                        if (sscanf (str_completed, "%lld / %lld", &sync_pos, &sync_total) != 2) {
+	                                HAL_WARNING (("Malformed sync_completed '%s'", str_completed));
+	                        } else {
+	                                double sync_progress;
+	                                sync_progress = ((double) sync_pos) / ((double) sync_total);
+	                                hal_device_property_set_double (d, "storage.linux_raid.sync.progress", sync_progress);
+	                        }
+	                }
+                        
+	                /* check again in two seconds */
+	                g_timeout_add (2000, md_check_sync_timeout, g_strdup (sysfs_path));
+	        }
+        } else
                 hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", FALSE);
-		hal_device_property_remove (d, "storage.linux_raid.sync.action");
-		hal_device_property_remove (d, "storage.linux_raid.sync.speed");
-		hal_device_property_remove (d, "storage.linux_raid.sync.progress");
-        } else {
-                int speed;
-                char *str_completed;
-
-                hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", TRUE);
-
-                hal_device_property_set_string (d, "storage.linux_raid.sync.action", sync_action);
-
-		if (!hal_util_get_int_from_file (sysfs_path, "md/sync_speed", &speed, 10)) {
-                        HAL_WARNING (("Cannot get sync_speed for %s", sysfs_path));
-                } else {
-                        hal_device_property_set_uint64 (d, "storage.linux_raid.sync.speed", speed);
-                }
-
-
-                if ((str_completed = hal_util_get_string_from_file (sysfs_path, "md/sync_completed")) == NULL) {
-                        HAL_WARNING (("Cannot get sync_completed for %s", sysfs_path));
-                } else {
-                        long long int sync_pos, sync_total;
-
-                        if (sscanf (str_completed, "%lld / %lld", &sync_pos, &sync_total) != 2) {
-                                HAL_WARNING (("Malformed sync_completed '%s'", str_completed));
-                        } else {
-                                double sync_progress;
-                                sync_progress = ((double) sync_pos) / ((double) sync_total);
-                                hal_device_property_set_double (d, "storage.linux_raid.sync.progress", sync_progress);
-                        }
-                }
-
-                /* check again in two seconds */
-                g_timeout_add (2000, md_check_sync_timeout, g_strdup (sysfs_path));
-        }
         
         if (!hal_util_get_int_from_file (sysfs_path, "md/raid_disks", &num_components, 0)) {
                 HAL_WARNING (("Cannot get number of RAID components"));
diff --git a/tools/hal-setup-keymap-hash-name.h b/tools/hal-setup-keymap-hash-name.h
index 52ed0b4..a4c8679 100644
--- a/tools/hal-setup-keymap-hash-name.h
+++ b/tools/hal-setup-keymap-hash-name.h
@@ -31,12 +31,12 @@ error "gperf generated tables don't work with this execution character set. Plea
 
 struct key { const char* name; unsigned short id; };
 
-#define TOTAL_KEYWORDS 355
+#define TOTAL_KEYWORDS 364
 #define MIN_WORD_LENGTH 1
 #define MAX_WORD_LENGTH 16
 #define MIN_HASH_VALUE 1
-#define MAX_HASH_VALUE 1371
-/* maximum key range = 1371, duplicates = 0 */
+#define MAX_HASH_VALUE 1355
+/* maximum key range = 1355, duplicates = 0 */
 
 #ifndef GPERF_DOWNCASE
 #define GPERF_DOWNCASE 1
@@ -95,32 +95,32 @@ hash_input_names (str, len)
 {
   static const unsigned short asso_values[] =
     {
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,  240,  115,
-        60,  280,  170,  125,  335,  130,  175,  215,    0, 1372,
-      1372, 1372, 1372, 1372, 1372,   35,  205,   75,   15,   10,
-       250,  400,   45,  150,  110,  290,  195,   30,   95,    5,
-        50,  145,    0,   20,   40,   80,  370,  415,  123,  325,
-       455, 1372, 1372, 1372, 1372, 1372,   25,   35,  205,   75,
-        15,   10,  250,  400,   45,  150,  110,  290,  195,   30,
-        95,    5,   50,  145,    0,   20,   40,   80,  370,  415,
-       123,  325,  455, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
-      1372, 1372, 1372, 1372, 1372, 1372, 1372
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,  180,  195,
+        65,  245,  275,  150,  220,  315,  295,  320,    0, 1356,
+      1356, 1356, 1356, 1356, 1356,  105,  270,   35,   15,   10,
+       225,  190,   25,  110,  285,  115,  215,   30,   85,    5,
+       135,  460,    0,   20,   40,   75,  450,  250,  355,   45,
+       380, 1356, 1356, 1356, 1356, 1356,  205,  105,  270,   35,
+        15,   10,  225,  190,   25,  110,  285,  115,  215,   30,
+        85,    5,  135,  460,    0,   20,   40,   75,  450,  250,
+       355,   45,  380, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+      1356, 1356, 1356, 1356, 1356, 1356, 1356
     };
   register int hval = len;
 
@@ -179,630 +179,624 @@ lookup_key (str, len)
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {"RECORD", KEY_RECORD},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
+      {"H", KEY_H},
+      {(char*)0}, {(char*)0},
       {"SEND", KEY_SEND},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {"MODE", KEY_MODE},
-      {"RADIO", KEY_RADIO},
+      {(char*)0},
       {"M", KEY_M},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"A", KEY_A},
+      {"CD", KEY_CD},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"C", KEY_C},
       {(char*)0},
       {"RESERVED", KEY_RESERVED},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0},
       {"T", KEY_T},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"H", KEY_H},
+      {"ESC", KEY_ESC},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"Y", KEY_Y},
       {"DEL_EOS", KEY_DEL_EOS},
       {(char*)0},
       {"DOCUMENTS", KEY_DOCUMENTS},
-      {"MACRO", KEY_MACRO},
-      {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {"MESSENGER", KEY_MESSENGER},
-      {(char*)0},
-      {"P", KEY_P},
-      {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0},
+      {"CONNECT", KEY_CONNECT},
+      {(char*)0}, {(char*)0},
       {"MSDOS", KEY_MSDOS},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"CD", KEY_CD},
-      {(char*)0}, {(char*)0}, {(char*)0},
       {"DELETE", KEY_DELETE},
-      {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0},
+      {"EURO", KEY_EURO},
       {"DELETEFILE", KEY_DELETEFILE},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-      {"2", KEY_2},
-      {(char*)0},
-      {"ESC", KEY_ESC},
-      {(char*)0},
-      {"MEDIA", KEY_MEDIA},
       {(char*)0}, {(char*)0}, {(char*)0},
+      {"END", KEY_END},
       {"MENU", KEY_MENU},
       {"TUNER", KEY_TUNER},
-      {(char*)0},
-      {"RESTART", KEY_RESTART},
-      {"END", KEY_END},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"PROGRAM", KEY_PROGRAM},
-      {(char*)0},
-      {"HELP", KEY_HELP},
-      {"AUDIO", KEY_AUDIO},
-      {(char*)0},
-      {"CONNECT", KEY_CONNECT},
-      {"DOT", KEY_DOT},
+      {"HOME", KEY_HOME},
+      {"RADIO", KEY_RADIO},
+      {"2", KEY_2},
+      {(char*)0}, {(char*)0},
       {"MEMO", KEY_MEMO},
-      {"PROPS", KEY_PROPS},
-      {"EDITOR", KEY_EDITOR},
-      {"HP", KEY_HP},
       {(char*)0}, {(char*)0},
-      {"PASTE", KEY_PASTE},
-      {"C", KEY_C},
+      {"CYCLEWINDOWS", KEY_CYCLEWINDOWS},
+      {"DOT", KEY_DOT},
+      {"TEXT", KEY_TEXT},
+      {(char*)0},
+      {"SELECT", KEY_SELECT},
+      {"CONTEXT_MENU", KEY_CONTEXT_MENU},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"HOME", KEY_HOME},
-      {"HANJA", KEY_HANJA},
-      {"U", KEY_U},
+      {"COMPOSE", KEY_COMPOSE},
+      {"YEN", KEY_YEN},
       {(char*)0}, {(char*)0},
-      {"STOP", KEY_STOP},
+      {"U", KEY_U},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"SHOP", KEY_SHOP},
-      {"PHONE", KEY_PHONE},
       {(char*)0},
-      {"SUSPEND", KEY_SUSPEND},
+      {"DOLLAR", KEY_DOLLAR},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"SPREADSHEET", KEY_SPREADSHEET},
-      {(char*)0},
-      {"SAT", KEY_SAT},
-      {"EDIT", KEY_EDIT},
+      {"MACRO", KEY_MACRO},
       {(char*)0},
-      {"SELECT", KEY_SELECT},
-      {"UP", KEY_UP},
-      {"POWER", KEY_POWER},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0},
-      {"ENTER", KEY_ENTER},
+      {"SUSPEND", KEY_SUSPEND},
+      {(char*)0}, {(char*)0}, {(char*)0},
       {"N", KEY_N},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"ENTER", KEY_ENTER},
+      {"SCREEN", KEY_SCREEN},
       {(char*)0}, {(char*)0},
       {"UNDO", KEY_UNDO},
-      {"APOSTROPHE", KEY_APOSTROPHE},
-      {"HENKAN", KEY_HENKAN},
-      {"COMPOSE", KEY_COMPOSE},
-      {(char*)0},
-      {"SAT2", KEY_SAT2},
-      {"ANGLE", KEY_ANGLE},
-      {(char*)0},
-      {"PC", KEY_PC},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"NEXT", KEY_NEXT},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
+      {"MINUS", KEY_MINUS},
+      {(char*)0}, {(char*)0}, {(char*)0},
       {"MUTE", KEY_MUTE},
-      {"SPORT", KEY_SPORT},
-      {"STOPCD", KEY_STOPCD},
+      {"RIGHTBRACE", KEY_RIGHTBRACE},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0},
-      {"HOMEPAGE", KEY_HOMEPAGE},
-      {(char*)0},
-      {"SETUP", KEY_SETUP},
+      {"RESTART", KEY_RESTART},
       {(char*)0},
-      {"ARCHIVE", KEY_ARCHIVE},
+      {"HELP", KEY_HELP},
+      {"AUDIO", KEY_AUDIO},
       {(char*)0},
+      {"PC", KEY_PC},
+      {"COMPUTER", KEY_COMPUTER},
       {"CALC", KEY_CALC},
-      {(char*)0},
-      {"J", KEY_J},
+      {"SCREENLOCK", KEY_SCREENLOCK},
+      {"A", KEY_A},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"DIGITS", KEY_DIGITS},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"PROG2", KEY_PROG2},
-      {"SCREEN", KEY_SCREEN},
+      {"RIGHT", KEY_RIGHT},
+      {"I", KEY_I},
       {(char*)0},
-      {"ISO", KEY_ISO},
+      {"RIGHTALT", KEY_RIGHTALT},
       {(char*)0},
-      {"MINUS", KEY_MINUS},
-      {"1", KEY_1},
+      {"RIGHTSHIFT", KEY_RIGHTSHIFT},
       {(char*)0}, {(char*)0},
-      {"TAPE", KEY_TAPE},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"CUT", KEY_CUT},
       {(char*)0}, {(char*)0},
-      {"OPTION", KEY_OPTION},
-      {"DOWN", KEY_DOWN},
-      {"CALENDAR", KEY_CALENDAR},
-      {"POWER2", KEY_POWER2},
-      {"PRINT", KEY_PRINT},
-      {"CAMERA", KEY_CAMERA},
-      {"X", KEY_X},
-      {"PAGEDOWN", KEY_PAGEDOWN},
-      {"REWIND", KEY_REWIND},
-      {"COMMA", KEY_COMMA},
-      {"5", KEY_5},
-      {"NEWS", KEY_NEWS},
+      {"K", KEY_K},
       {(char*)0}, {(char*)0},
-      {"RIGHTBRACE", KEY_RIGHTBRACE},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"DIRECTORY", KEY_DIRECTORY},
       {(char*)0},
-      {"7", KEY_7},
+      {"HENKAN", KEY_HENKAN},
+      {"OK", KEY_OK},
+      {"CNT", KEY_CNT},
       {(char*)0},
-      {"COMPUTER", KEY_COMPUTER},
-      {(char*)0}, {(char*)0},
-      {"PAGEUP", KEY_PAGEUP},
-      {"DEL_EOL", KEY_DEL_EOL},
-      {"DEL_LINE", KEY_DEL_LINE},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"MHP", KEY_MHP},
-      {(char*)0}, {(char*)0},
-      {"DIGITS", KEY_DIGITS},
+      {"ANGLE", KEY_ANGLE},
       {(char*)0},
-      {"CUT", KEY_CUT},
-      {"RIGHTMETA", KEY_RIGHTMETA},
-      {"RIGHT", KEY_RIGHT},
+      {"REFRESH", KEY_REFRESH},
+      {"SAT", KEY_SAT},
+      {"SEMICOLON", KEY_SEMICOLON},
       {(char*)0}, {(char*)0},
-      {"RIGHTALT", KEY_RIGHTALT},
-      {(char*)0},
-      {"RIGHTSHIFT", KEY_RIGHTSHIFT},
+      {"ARCHIVE", KEY_ARCHIVE},
       {(char*)0},
-      {"EXIT", KEY_EXIT},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"Q", KEY_Q},
-      {(char*)0}, {(char*)0},
-      {"BACKSPACE", KEY_BACKSPACE},
+      {"TIME", KEY_TIME},
       {"TITLE", KEY_TITLE},
+      {"STOPCD", KEY_STOPCD},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"COFFEE", KEY_COFFEE},
       {(char*)0},
-      {"HANGEUL", KEY_HANGEUL},
+      {"SUBTITLE", KEY_SUBTITLE},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"CALENDAR", KEY_CALENDAR},
       {(char*)0},
-      {"TIME", KEY_TIME},
-      {"SPACE", KEY_SPACE},
-      {"I", KEY_I},
+      {"MEDIA", KEY_MEDIA},
+      {"ADDRESSBOOK", KEY_ADDRESSBOOK},
       {(char*)0},
-      {"SENDFILE", KEY_SENDFILE},
-      {"SEMICOLON", KEY_SEMICOLON},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"HOMEPAGE", KEY_HOMEPAGE},
+      {"SAT2", KEY_SAT2},
       {(char*)0},
-      {"LAST", KEY_LAST},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"BRL_DOT2", KEY_BRL_DOT2},
-      {"BOOKMARKS", KEY_BOOKMARKS},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0},
-      {"CANCEL", KEY_CANCEL},
+      {"P", KEY_P},
       {(char*)0},
-      {"ALTERASE", KEY_ALTERASE},
-      {"BACKSLASH", KEY_BACKSLASH},
+      {"ISO", KEY_ISO},
+      {"DIRECTION", KEY_DIRECTION},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"SENDFILE", KEY_SENDFILE},
+      {"GOTO", KEY_GOTO},
       {(char*)0},
       {"INSERT", KEY_INSERT},
-      {"FORWARD", KEY_FORWARD},
-      {"LANGUAGE", KEY_LANGUAGE},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"PROG1", KEY_PROG1},
+      {"DEL_EOL", KEY_DEL_EOL},
+      {"DEL_LINE", KEY_DEL_LINE},
+      {"RIGHTMETA", KEY_RIGHTMETA},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"HP", KEY_HP},
       {(char*)0},
-      {"4", KEY_4},
+      {"MOVE", KEY_MOVE},
       {(char*)0},
-      {"SUBTITLE", KEY_SUBTITLE},
+      {"5", KEY_5},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"PASTE", KEY_PASTE},
       {(char*)0},
-      {"CLOSE", KEY_CLOSE},
+      {"PROGRAM", KEY_PROGRAM},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"OPTION", KEY_OPTION},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"PROPS", KEY_PROPS},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"SHOP", KEY_SHOP},
+      {"PHONE", KEY_PHONE},
+      {"EDITOR", KEY_EDITOR},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"8", KEY_8},
-      {"CLOSECD", KEY_CLOSECD},
-      {"DATABASE", KEY_DATABASE},
+      {"SPREADSHEET", KEY_SPREADSHEET},
+      {(char*)0}, {(char*)0},
+      {"STOP", KEY_STOP},
+      {(char*)0},
+      {"CAMERA", KEY_CAMERA},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"COMMA", KEY_COMMA},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"TAB", KEY_TAB},
+      {"KPDOT", KEY_KPDOT},
+      {"YELLOW", KEY_YELLOW},
+      {"UP", KEY_UP},
       {(char*)0}, {(char*)0},
-      {"SEARCH", KEY_SEARCH},
+      {"HANJA", KEY_HANJA},
+      {"CONFIG", KEY_CONFIG},
       {(char*)0}, {(char*)0},
-      {"DIRECTION", KEY_DIRECTION},
+      {"EDIT", KEY_EDIT},
       {(char*)0}, {(char*)0},
-      {"HANGUEL", KEY_HANGUEL},
-      {"SCROLLUP", KEY_SCROLLUP},
-      {"CHAT", KEY_CHAT},
-      {(char*)0},
-      {"ADDRESSBOOK", KEY_ADDRESSBOOK},
       {"F2", KEY_F2},
-      {"BRL_DOT1", KEY_BRL_DOT1},
-      {"MAIL", KEY_MAIL},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-      {"BRIGHTNESS_ZERO", KEY_BRIGHTNESS_ZERO},
-      {(char*)0}, {(char*)0},
-      {"BRL_DOT5", KEY_BRL_DOT5},
-      {"FN_E", KEY_FN_E},
-      {"FRONT", KEY_FRONT},
-      {"BRIGHTNESS_CYCLE", KEY_BRIGHTNESS_CYCLE},
-      {(char*)0},
-      {"BRL_DOT7", KEY_BRL_DOT7},
-      {"FN_D", KEY_FN_D},
+      {"NEXTSONG", KEY_NEXTSONG},
+      {"FIND", KEY_FIND},
       {(char*)0},
-      {"L", KEY_L},
-      {(char*)0}, {(char*)0},
-      {"FN_S", KEY_FN_S},
+      {"0", KEY_0},
       {(char*)0},
-      {"VENDOR", KEY_VENDOR},
-      {(char*)0}, {(char*)0},
+      {"EPG", KEY_EPG},
       {"TEEN", KEY_TEEN},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"OPEN", KEY_OPEN},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0},
-      {"B", KEY_B},
       {(char*)0},
-      {"DVD", KEY_DVD},
+      {"SEARCH", KEY_SEARCH},
+      {"HANGEUL", KEY_HANGEUL},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"NUMLOCK", KEY_NUMLOCK},
+      {"PAGEDOWN", KEY_PAGEDOWN},
+      {"CHAT", KEY_CHAT},
+      {"SPORT", KEY_SPORT},
+      {"CANCEL", KEY_CANCEL},
+      {"FORWARD", KEY_FORWARD},
       {(char*)0},
+      {"FILE", KEY_FILE},
+      {"SETUP", KEY_SETUP},
+      {"G", KEY_G},
+      {(char*)0}, {(char*)0}, {(char*)0},
       {"SCROLLDOWN", KEY_SCROLLDOWN},
+      {(char*)0}, {(char*)0},
+      {"BRL_DOT2", KEY_BRL_DOT2},
+      {"SAVE", KEY_SAVE},
       {(char*)0},
-      {"PRESENTATION", KEY_PRESENTATION},
+      {"1", KEY_1},
       {(char*)0},
-      {"TEXT", KEY_TEXT},
+      {"MUHENKAN", KEY_MUHENKAN},
+      {"INFO", KEY_INFO},
       {(char*)0}, {(char*)0},
-      {"BRIGHTNESSUP", KEY_BRIGHTNESSUP},
+      {"FN", KEY_FN},
+      {(char*)0},
+      {"RIGHTCTRL", KEY_RIGHTCTRL},
+      {(char*)0}, {(char*)0}, {(char*)0},
       {"DISPLAYTOGGLE", KEY_DISPLAYTOGGLE},
-      {"FIND", KEY_FIND},
-      {"SCREENLOCK", KEY_SCREENLOCK},
+      {"LAST", KEY_LAST},
+      {"PROG2", KEY_PROG2},
       {(char*)0},
       {"KPCOMMA", KEY_KPCOMMA},
-      {"BRL_DOT4", KEY_BRL_DOT4},
-      {"LIST", KEY_LIST},
-      {"SOUND", KEY_SOUND},
-      {"9", KEY_9},
-      {"EJECTCD", KEY_EJECTCD},
-      {"BRL_DOT8", KEY_BRL_DOT8},
-      {"FN_2", KEY_FN_2},
-      {"KPDOT", KEY_KPDOT},
       {(char*)0},
-      {"EJECTCLOSECD", KEY_EJECTCLOSECD},
-      {"YEN", KEY_YEN},
-      {"RIGHTCTRL", KEY_RIGHTCTRL},
+      {"LIST", KEY_LIST},
+      {"CLOSE", KEY_CLOSE},
       {(char*)0}, {(char*)0},
-      {"FN", KEY_FN},
-      {"PVR", KEY_PVR},
-      {"FILE", KEY_FILE},
-      {"PROG4", KEY_PROG4},
+      {"ALTERASE", KEY_ALTERASE},
       {(char*)0},
-      {"AB", KEY_AB},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"SCROLLLOCK", KEY_SCROLLLOCK},
       {(char*)0},
-      {"CYCLEWINDOWS", KEY_CYCLEWINDOWS},
-      {"MUHENKAN", KEY_MUHENKAN},
+      {"CLOSECD", KEY_CLOSECD},
+      {"LANGUAGE", KEY_LANGUAGE},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"WORDPROCESSOR", KEY_WORDPROCESSOR},
       {(char*)0},
-      {"MOVE", KEY_MOVE},
+      {"GAMES", KEY_GAMES},
       {(char*)0},
-      {"PLAYER", KEY_PLAYER},
       {"KPSLASH", KEY_KPSLASH},
-      {"VCR", KEY_VCR},
-      {"BRIGHTNESSDOWN", KEY_BRIGHTNESSDOWN},
       {(char*)0},
-      {"FN_ESC", KEY_FN_ESC},
-      {"REFRESH", KEY_REFRESH},
-      {"BRL_DOT9", KEY_BRL_DOT9},
-      {"NEXT", KEY_NEXT},
-      {(char*)0}, {(char*)0},
-      {"UNKNOWN", KEY_UNKNOWN},
-      {"PREVIOUS", KEY_PREVIOUS},
-      {"CHANNELUP", KEY_CHANNELUP},
-      {"PAUSE", KEY_PAUSE},
-      {"0", KEY_0},
-      {"F1", KEY_F1},
+      {"BACKSPACE", KEY_BACKSPACE},
       {(char*)0},
-      {"SAVE", KEY_SAVE},
+      {"L", KEY_L},
+      {"HANGUEL", KEY_HANGUEL},
+      {"SCROLLUP", KEY_SCROLLUP},
+      {(char*)0},
+      {"APOSTROPHE", KEY_APOSTROPHE},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"FIRST", KEY_FIRST},
+      {"6", KEY_6},
+      {"FINANCE", KEY_FINANCE},
+      {(char*)0},
+      {"BACKSLASH", KEY_BACKSLASH},
+      {"FRONT", KEY_FRONT},
+      {(char*)0},
+      {"KPMINUS", KEY_KPMINUS},
       {(char*)0}, {(char*)0},
-      {"PAUSECD", KEY_PAUSECD},
-      {"F21", KEY_F21},
-      {"FN_1", KEY_FN_1},
+      {"SPACE", KEY_SPACE},
+      {"F", KEY_F},
+      {(char*)0},
+      {"TAB", KEY_TAB},
+      {"OPEN", KEY_OPEN},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"VOLUMEUP", KEY_VOLUMEUP},
-      {"GOTO", KEY_GOTO},
-      {"FN_F2", KEY_FN_F2},
+      {"HIRAGANA", KEY_HIRAGANA},
+      {"LEFT", KEY_LEFT},
+      {"MIN_INTERESTING", KEY_MIN_INTERESTING},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"DOWN", KEY_DOWN},
       {(char*)0}, {(char*)0},
+      {"PRESENTATION", KEY_PRESENTATION},
       {"INS_LINE", KEY_INS_LINE},
-      {"BRL_DOT10", KEY_BRL_DOT10},
-      {(char*)0},
-      {"F", KEY_F},
-      {"F5", KEY_F5},
-      {"WORDPROCESSOR", KEY_WORDPROCESSOR},
+      {"BOOKMARKS", KEY_BOOKMARKS},
       {(char*)0},
-      {"FIRST", KEY_FIRST},
-      {"COFFEE", KEY_COFFEE},
+      {"REWIND", KEY_REWIND},
+      {"UNKNOWN", KEY_UNKNOWN},
+      {"BRL_DOT5", KEY_BRL_DOT5},
+      {"NEWS", KEY_NEWS},
       {(char*)0},
-      {"EPG", KEY_EPG},
+      {"VENDOR", KEY_VENDOR},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"F7", KEY_F7},
-      {(char*)0}, {(char*)0},
-      {"SLASH", KEY_SLASH},
-      {"FORWARDMAIL", KEY_FORWARDMAIL},
-      {"FINANCE", KEY_FINANCE},
-      {"KP1", KEY_KP1},
-      {"PLAYPAUSE", KEY_PLAYPAUSE},
+      {"CLEAR", KEY_CLEAR},
+      {"PAGEUP", KEY_PAGEUP},
+      {(char*)0},
+      {"DATABASE", KEY_DATABASE},
+      {"LEFTSHIFT", KEY_LEFTSHIFT},
+      {"GRAVE", KEY_GRAVE},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"CLEAR", KEY_CLEAR},
-      {"CHANNELDOWN", KEY_CHANNELDOWN},
+      {"3", KEY_3},
+      {(char*)0},
+      {"DVD", KEY_DVD},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"PREVIOUS", KEY_PREVIOUS},
+      {"GRAPHICSEDITOR", KEY_GRAPHICSEDITOR},
+      {"POWER", KEY_POWER},
+      {"W", KEY_W},
       {(char*)0}, {(char*)0},
-      {"VCR2", KEY_VCR2},
+      {"BRL_DOT10", KEY_BRL_DOT10},
+      {"PRINT", KEY_PRINT},
+      {(char*)0}, {(char*)0},
+      {"VCR", KEY_VCR},
+      {"BACK", KEY_BACK},
+      {"SOUND", KEY_SOUND},
+      {"CHANNELDOWN", KEY_CHANNELDOWN},
+      {"BATTERY", KEY_BATTERY},
+      {"KP1", KEY_KP1},
+      {"KPJPCOMMA", KEY_KPJPCOMMA},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"MP3", KEY_MP3},
-      {"BASSBOOST", KEY_BASSBOOST},
+      {"BRL_DOT1", KEY_BRL_DOT1},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"BRL_DOT3", KEY_BRL_DOT3},
+      {"KPENTER", KEY_KPENTER},
+      {"KATAKANA", KEY_KATAKANA},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"F5", KEY_F5},
       {(char*)0},
-      {"VOLUMEDOWN", KEY_VOLUMEDOWN},
-      {(char*)0}, {(char*)0},
-      {"F11", KEY_F11},
+      {"FN_E", KEY_FN_E},
+      {(char*)0},
+      {"KATAKANAHIRAGANA", KEY_KATAKANAHIRAGANA},
+      {"FRAMEFORWARD", KEY_FRAMEFORWARD},
+      {"KEYBOARD", KEY_KEYBOARD},
+      {"FN_D", KEY_FN_D},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"FN_S", KEY_FN_S},
+      {(char*)0},
+      {"B", KEY_B},
+      {(char*)0},
+      {"BRL_DOT6", KEY_BRL_DOT6},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0},
+      {"COPY", KEY_COPY},
+      {(char*)0},
+      {"4", KEY_4},
+      {(char*)0},
+      {"F21", KEY_F21},
       {"ZOOM", KEY_ZOOM},
-      {"VIDEO", KEY_VIDEO},
-      {"PLAYCD", KEY_PLAYCD},
       {(char*)0}, {(char*)0},
-      {"BACK", KEY_BACK},
-      {(char*)0},
-      {"FN_F12", KEY_FN_F12},
+      {"KPRIGHTPAREN", KEY_KPRIGHTPAREN},
+      {"LEFTMETA", KEY_LEFTMETA},
+      {"CHANNELUP", KEY_CHANNELUP},
+      {"SLASH", KEY_SLASH},
       {(char*)0}, {(char*)0},
-      {"COPY", KEY_COPY},
-      {"VIDEOPHONE", KEY_VIDEOPHONE},
+      {"KP2", KEY_KP2},
       {(char*)0},
-      {"KPMINUS", KEY_KPMINUS},
-      {"KP9", KEY_KP9},
+      {"REPLY", KEY_REPLY},
+      {"POWER2", KEY_POWER2},
+      {"LEFTALT", KEY_LEFTALT},
+      {"BRL_DOT3", KEY_BRL_DOT3},
       {"ZOOMRESET", KEY_ZOOMRESET},
       {(char*)0},
-      {"3", KEY_3},
+      {"J", KEY_J},
       {"ZOOMOUT", KEY_ZOOMOUT},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"AUX", KEY_AUX},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"SLEEP", KEY_SLEEP},
-      {(char*)0},
-      {"NUMLOCK", KEY_NUMLOCK},
-      {(char*)0}, {(char*)0},
-      {"GAMES", KEY_GAMES},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"FN_B", KEY_FN_B},
+      {"KP9", KEY_KP9},
+      {"VCR2", KEY_VCR2},
       {(char*)0},
-      {"K", KEY_K},
+      {"FN_ESC", KEY_FN_ESC},
       {(char*)0},
-      {"F19", KEY_F19},
+      {"LINEFEED", KEY_LINEFEED},
+      {(char*)0}, {(char*)0},
+      {"FORWARDMAIL", KEY_FORWARDMAIL},
+      {"EJECTCD", KEY_EJECTCD},
+      {"AUX", KEY_AUX},
+      {"FN_2", KEY_FN_2},
+      {"VIDEO", KEY_VIDEO},
       {(char*)0},
-      {"VIDEO_NEXT", KEY_VIDEO_NEXT},
+      {"EJECTCLOSECD", KEY_EJECTCLOSECD},
       {(char*)0},
-      {"OK", KEY_OK},
+      {"ZENKAKUHANKAKU", KEY_ZENKAKUHANKAKU},
+      {"GREEN", KEY_GREEN},
+      {"8", KEY_8},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"KPPLUS", KEY_KPPLUS},
-      {"F4", KEY_F4},
-      {"BRL_DOT6", KEY_BRL_DOT6},
-      {"DIRECTORY", KEY_DIRECTORY},
-      {(char*)0},
-      {"KPPLUSMINUS", KEY_KPPLUSMINUS},
+      {"VIDEOPHONE", KEY_VIDEOPHONE},
       {(char*)0}, {(char*)0},
-      {"ZENKAKUHANKAKU", KEY_ZENKAKUHANKAKU},
+      {"BRL_DOT4", KEY_BRL_DOT4},
       {(char*)0},
-      {"FASTFORWARD", KEY_FASTFORWARD},
-      {"F8", KEY_F8},
-      {(char*)0}, {(char*)0},
-      {"FN_F1", KEY_FN_F1},
-      {"FN_F11", KEY_FN_F11},
+      {"BRIGHTNESS_ZERO", KEY_BRIGHTNESS_ZERO},
+      {"KPLEFTPAREN", KEY_KPLEFTPAREN},
       {(char*)0},
-      {"F24", KEY_F24},
+      {"F22", KEY_F22},
+      {"TWEN", KEY_TWEN},
       {(char*)0},
-      {"SCROLLLOCK", KEY_SCROLLLOCK},
+      {"BRIGHTNESS_CYCLE", KEY_BRIGHTNESS_CYCLE},
+      {(char*)0},
+      {"PVR", KEY_PVR},
+      {"FAVORITES", KEY_FAVORITES},
+      {"VOLUMEDOWN", KEY_VOLUMEDOWN},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"QUESTION", KEY_QUESTION},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"CHANNEL", KEY_CHANNEL},
-      {"LINEFEED", KEY_LINEFEED},
-      {"FN_F", KEY_FN_F},
-      {"FN_F5", KEY_FN_F5},
+      {"SWITCHVIDEOMODE", KEY_SWITCHVIDEOMODE},
+      {"DISPLAY_OFF", KEY_DISPLAY_OFF},
+      {"F1", KEY_F1},
+      {"BRL_DOT8", KEY_BRL_DOT8},
+      {"TAPE", KEY_TAPE},
       {(char*)0},
-      {"XFER", KEY_XFER},
+      {"FASTFORWARD", KEY_FASTFORWARD},
+      {(char*)0},
+      {"KP5", KEY_KP5},
+      {"SLOW", KEY_SLOW},
+      {"VIDEO_NEXT", KEY_VIDEO_NEXT},
       {(char*)0}, {(char*)0},
-      {"GRAVE", KEY_GRAVE},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"FN_F7", KEY_FN_F7},
+      {"KP0", KEY_KP0},
+      {"FRAMEBACK", KEY_FRAMEBACK},
       {(char*)0},
-      {"KPENTER", KEY_KPENTER},
-      {"KP4", KEY_KP4},
+      {"7", KEY_7},
       {(char*)0},
-      {"EMAIL", KEY_EMAIL},
-      {"CONFIG", KEY_CONFIG},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"SWITCHVIDEOMODE", KEY_SWITCHVIDEOMODE},
-      {"NEW", KEY_NEW},
+      {"UWB", KEY_UWB},
+      {"KBDILLUMTOGGLE", KEY_KBDILLUMTOGGLE},
       {(char*)0},
-      {"KP7", KEY_KP7},
-      {"LEFT", KEY_LEFT},
+      {"PLAYER", KEY_PLAYER},
+      {"CHANNEL", KEY_CHANNEL},
+      {"BRL_DOT7", KEY_BRL_DOT7},
+      {"MAIL", KEY_MAIL},
       {(char*)0},
-      {"Y", KEY_Y},
+      {"9", KEY_9},
       {(char*)0},
-      {"F22", KEY_F22},
-      {"INFO", KEY_INFO},
+      {"BRL_DOT9", KEY_BRL_DOT9},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"HIRAGANA", KEY_HIRAGANA},
+      {"AB", KEY_AB},
       {(char*)0}, {(char*)0},
-      {"DISPLAY_OFF", KEY_DISPLAY_OFF},
-      {"BATTERY", KEY_BATTERY},
-      {"F14", KEY_F14},
-      {"GRAPHICSEDITOR", KEY_GRAPHICSEDITOR},
-      {"PROG3", KEY_PROG3},
+      {"FN_F2", KEY_FN_F2},
       {(char*)0}, {(char*)0},
-      {"F20", KEY_F20},
+      {"MHP", KEY_MHP},
       {(char*)0},
       {"102ND", KEY_102ND},
-      {"6", KEY_6},
+      {(char*)0}, {(char*)0},
+      {"VOLUMEUP", KEY_VOLUMEUP},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0},
+      {"PROG1", KEY_PROG1},
       {(char*)0},
-      {"F17", KEY_F17},
-      {"LEFTSHIFT", KEY_LEFTSHIFT},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"LEFTMETA", KEY_LEFTMETA},
+      {"F6", KEY_F6},
+      {"F20", KEY_F20},
+      {"PLAY", KEY_PLAY},
+      {(char*)0}, {(char*)0},
+      {"PREVIOUSSONG", KEY_PREVIOUSSONG},
+      {"LEFTCTRL", KEY_LEFTCTRL},
+      {(char*)0}, {(char*)0},
+      {"PLAYCD", KEY_PLAYCD},
       {(char*)0},
-      {"SYSRQ", KEY_SYSRQ},
+      {"KP4", KEY_KP4},
+      {"BRIGHTNESSDOWN", KEY_BRIGHTNESSDOWN},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"F11", KEY_F11},
       {(char*)0},
-      {"F9", KEY_F9},
-      {"KP2", KEY_KP2},
-      {"SLOW", KEY_SLOW},
+      {"KPASTERISK", KEY_KPASTERISK},
       {(char*)0}, {(char*)0},
-      {"LEFTALT", KEY_LEFTALT},
+      {"MP3", KEY_MP3},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0},
+      {"EXIT", KEY_EXIT},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0},
-      {"KP0", KEY_KP0},
-      {"VOICEMAIL", KEY_VOICEMAIL},
-      {(char*)0}, {(char*)0},
-      {"SHUFFLE", KEY_SHUFFLE},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"LOGOFF", KEY_LOGOFF},
       {(char*)0},
-      {"F12", KEY_F12},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"NEW", KEY_NEW},
+      {"LEFTBRACE", KEY_LEFTBRACE},
       {(char*)0}, {(char*)0},
-      {"FN_F4", KEY_FN_F4},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"KBDILLUMDOWN", KEY_KBDILLUMDOWN},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"F10", KEY_F10},
-      {"KBDILLUMTOGGLE", KEY_KBDILLUMTOGGLE},
-      {"FN_F8", KEY_FN_F8},
-      {"KPLEFTPAREN", KEY_KPLEFTPAREN},
+      {"X", KEY_X},
       {(char*)0}, {(char*)0},
-      {"FAVORITES", KEY_FAVORITES},
+      {"FN_1", KEY_FN_1},
+      {"PAUSE", KEY_PAUSE},
       {(char*)0},
-      {"FN_F10", KEY_FN_F10},
+      {"F3", KEY_F3},
+      {"F24", KEY_F24},
       {(char*)0},
-      {"KP8", KEY_KP8},
+      {"SPELLCHECK", KEY_SPELLCHECK},
+      {"ZOOMIN", KEY_ZOOMIN},
+      {"PAUSECD", KEY_PAUSECD},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"KATAKANA", KEY_KATAKANA},
+      {"BRIGHTNESSUP", KEY_BRIGHTNESSUP},
       {(char*)0}, {(char*)0},
-      {"V", KEY_V},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"KATAKANAHIRAGANA", KEY_KATAKANAHIRAGANA},
+      {"BREAK", KEY_BREAK},
+      {(char*)0}, {(char*)0},
+      {"F12", KEY_F12},
+      {"BASSBOOST", KEY_BASSBOOST},
+      {"SLEEP", KEY_SLEEP},
       {(char*)0},
-      {"CAPSLOCK", KEY_CAPSLOCK},
-      {"KPJPCOMMA", KEY_KPJPCOMMA},
-      {"MIN_INTERESTING", KEY_MIN_INTERESTING},
+      {"SHUFFLE", KEY_SHUFFLE},
       {(char*)0}, {(char*)0},
-      {"TV2", KEY_TV2},
+      {"AGAIN", KEY_AGAIN},
+      {(char*)0}, {(char*)0},
+      {"F19", KEY_F19},
+      {"FN_F", KEY_FN_F},
+      {"EMAIL", KEY_EMAIL},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"F18", KEY_F18},
       {(char*)0},
       {"KBDILLUMUP", KEY_KBDILLUMUP},
-      {"ZOOMIN", KEY_ZOOMIN},
-      {(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},
-      {"PLAY", KEY_PLAY},
       {(char*)0},
-      {"WAKEUP", KEY_WAKEUP},
-      {"TV", KEY_TV},
-      {"KEYBOARD", KEY_KEYBOARD},
-      {"BLUE", KEY_BLUE},
+      {"Z", KEY_Z},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"PROG3", KEY_PROG3},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0},
-      {"YELLOW", KEY_YELLOW},
-      {(char*)0},
+      {"KPEQUAL", KEY_KPEQUAL},
       {"KP3", KEY_KP3},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"PLAYPAUSE", KEY_PLAYPAUSE},
+      {(char*)0}, {(char*)0},
+      {"F4", KEY_F4},
       {(char*)0}, {(char*)0}, {(char*)0},
-      {"G", KEY_G},
-      {(char*)0},
-      {"KP5", KEY_KP5},
-      {"TWEN", KEY_TWEN},
-      {"FN_F9", KEY_FN_F9},
+      {"FN_F12", KEY_FN_F12},
+      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"WAKEUP", KEY_WAKEUP},
       {(char*)0},
-      {"KBDILLUMDOWN", KEY_KBDILLUMDOWN},
       {"KP6", KEY_KP6},
-      {(char*)0},
-      {"REPLY", KEY_REPLY},
-      {(char*)0},
-      {"F3", KEY_F3},
+      {"FN_B", KEY_FN_B},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"F15", KEY_F15},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-      {"F13", KEY_F13},
+      {"F10", KEY_F10},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"TV2", KEY_TV2},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0},
-      {"F15", KEY_F15},
-      {"LEFTBRACE", KEY_LEFTBRACE},
-      {(char*)0},
-      {"W", KEY_W},
-      {(char*)0},
-      {"F16", KEY_F16},
-      {(char*)0},
-      {"AGAIN", KEY_AGAIN},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"XFER", KEY_XFER},
       {(char*)0},
-      {"GREEN", KEY_GREEN},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"NEXTSONG", KEY_NEXTSONG},
-      {(char*)0}, {(char*)0}, {(char*)0},
-      {"PREVIOUSSONG", KEY_PREVIOUSSONG},
+      {"KPPLUS", KEY_KPPLUS},
       {(char*)0},
-      {"BLUETOOTH", KEY_BLUETOOTH},
+      {"F23", KEY_F23},
       {(char*)0}, {(char*)0},
-      {"KPRIGHTPAREN", KEY_KPRIGHTPAREN},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"KPEQUAL", KEY_KPEQUAL},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"KPPLUSMINUS", KEY_KPPLUSMINUS},
+      {"F8", KEY_F8},
       {(char*)0}, {(char*)0},
-      {"LEFTCTRL", KEY_LEFTCTRL},
-      {(char*)0},
-      {"KPASTERISK", KEY_KPASTERISK},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"FN_F5", KEY_FN_F5},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"WLAN", KEY_WLAN},
+      {"PROG4", KEY_PROG4},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-      {"Z", KEY_Z},
       {(char*)0}, {(char*)0},
-      {"WLAN", KEY_WLAN},
-      {"VIDEO_PREV", KEY_VIDEO_PREV},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"EQUAL", KEY_EQUAL},
-      {(char*)0},
-      {"F6", KEY_F6},
+      {"F14", KEY_F14},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"F7", KEY_F7},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"FN_F3", KEY_FN_F3},
+      {(char*)0},
+      {"KP7", KEY_KP7},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"F9", KEY_F9},
+      {"KP8", KEY_KP8},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"QUESTION", KEY_QUESTION},
+      {(char*)0}, {(char*)0},
+      {"FN_F10", KEY_FN_F10},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"V", KEY_V},
       {(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}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0},
+      {"Q", KEY_Q},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"CAPSLOCK", KEY_CAPSLOCK},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"TV", KEY_TV},
+      {"F13", KEY_F13},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0},
+      {"BLUE", KEY_BLUE},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {"F16", KEY_F16},
+      {(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},
+      {"VOICEMAIL", KEY_VOICEMAIL},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {"BREAK", KEY_BREAK},
       {(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},
+      {"BLUETOOTH", KEY_BLUETOOTH},
+      {"FN_F3", KEY_FN_F3},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
+      {(char*)0}, {(char*)0}, {(char*)0},
+      {"SYSRQ", KEY_SYSRQ},
+      {(char*)0}, {(char*)0},
+      {"F17", KEY_F17},
+      {(char*)0},
+      {"VIDEO_PREV", KEY_VIDEO_PREV},
+      {(char*)0}, {(char*)0},
+      {"F18", KEY_F18},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
@@ -810,6 +804,8 @@ lookup_key (str, len)
       {(char*)0}, {(char*)0}, {(char*)0}, {(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_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},
@@ -819,6 +815,10 @@ lookup_key (str, len)
       {(char*)0}, {(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},
+      {(char*)0},
+      {"FN_F8", KEY_FN_F8},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
@@ -828,8 +828,12 @@ lookup_key (str, len)
       {(char*)0}, {(char*)0}, {(char*)0}, {(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_F7", KEY_FN_F7},
       {(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},
@@ -878,8 +882,8 @@ lookup_key (str, len)
       {(char*)0}, {(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}
+      {(char*)0}, {(char*)0},
+      {"EQUAL", KEY_EQUAL}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)


More information about the hal-commit mailing list