From 814c48c492430a4d3fa5b7d5ab8c687b27579087 Mon Sep 17 00:00:00 2001 From: Florent Mertens Date: Thu, 6 Dec 2007 12:20:20 -0500 Subject: [PATCH] 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 --- hald/linux/blockdev.c | 90 ++-- tools/hal-setup-keymap-hash-name.h | 882 ++++++++++++++++++------------------ 2 files changed, 491 insertions(+), 481 deletions(-) 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) -- 1.5.3.7