Magellan Linux

Annotation of /trunk/hal/patches/hal-0.5.10-linear-MD-device-are-not-syncable.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 597 - (hide annotations) (download)
Mon May 19 19:05:19 2008 UTC (16 years, 1 month ago) by niro
File size: 45830 byte(s)
-gentoo patches

1 niro 597 From 814c48c492430a4d3fa5b7d5ab8c687b27579087 Mon Sep 17 00:00:00 2001
2     From: Florent Mertens <flomertens@gmail.com>
3     Date: Thu, 6 Dec 2007 12:20:20 -0500
4     Subject: [PATCH] linear MD device are not syncable
5    
6     Hello all,
7    
8     Linear MD device are not syncable, and so there is no sync-action in
9     /sys/block/md0/md/ (at least i don't have it).
10     In the actual code, MD device are ignored if this file is not found.
11     The attched path fix that issue.
12    
13     Cheers,
14    
15     Mertens Florent
16     ---
17     hald/linux/blockdev.c | 90 ++--
18     tools/hal-setup-keymap-hash-name.h | 882 ++++++++++++++++++------------------
19     2 files changed, 491 insertions(+), 481 deletions(-)
20    
21     diff --git a/hald/linux/blockdev.c b/hald/linux/blockdev.c
22     index 392b490..46b5b58 100644
23     --- a/hald/linux/blockdev.c
24     +++ b/hald/linux/blockdev.c
25     @@ -679,6 +679,7 @@ refresh_md_state (HalDevice *d)
26     int num_components;
27     gboolean ret;
28     const char *sysfs_path;
29     + const char *level;
30    
31     ret = FALSE;
32    
33     @@ -689,49 +690,54 @@ refresh_md_state (HalDevice *d)
34     }
35    
36     HAL_INFO (("In refresh_md_state() for '%s'", sysfs_path));
37     -
38     - sync_action = hal_util_get_string_from_file (sysfs_path, "md/sync_action");
39     - if (sync_action == NULL) {
40     - HAL_WARNING (("Cannot get sync_action for %s", sysfs_path));
41     - goto error;
42     - }
43     - if (strcmp (sync_action, "idle") == 0) {
44     + level = hal_device_property_get_string (d, "storage.linux_raid.level");
45     + HAL_INFO ((" MD Level is '%s'", level));
46     +
47     + /* MD linear device are not syncable */
48     + if (strcmp (level, "linear") != 0) {
49     + sync_action = hal_util_get_string_from_file (sysfs_path, "md/sync_action");
50     + if (sync_action == NULL) {
51     + HAL_WARNING (("Cannot get sync_action for %s", sysfs_path));
52     + goto error;
53     + }
54     + if (strcmp (sync_action, "idle") == 0) {
55     + hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", FALSE);
56     + hal_device_property_remove (d, "storage.linux_raid.sync.action");
57     + hal_device_property_remove (d, "storage.linux_raid.sync.speed");
58     + hal_device_property_remove (d, "storage.linux_raid.sync.progress");
59     + } else {
60     + int speed;
61     + char *str_completed;
62     +
63     + hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", TRUE);
64     +
65     + hal_device_property_set_string (d, "storage.linux_raid.sync.action", sync_action);
66     +
67     + if (!hal_util_get_int_from_file (sysfs_path, "md/sync_speed", &speed, 10)) {
68     + HAL_WARNING (("Cannot get sync_speed for %s", sysfs_path));
69     + } else {
70     + hal_device_property_set_uint64 (d, "storage.linux_raid.sync.speed", speed);
71     + }
72     +
73     + if ((str_completed = hal_util_get_string_from_file (sysfs_path, "md/sync_completed")) == NULL) {
74     + HAL_WARNING (("Cannot get sync_completed for %s", sysfs_path));
75     + } else {
76     + long long int sync_pos, sync_total;
77     +
78     + if (sscanf (str_completed, "%lld / %lld", &sync_pos, &sync_total) != 2) {
79     + HAL_WARNING (("Malformed sync_completed '%s'", str_completed));
80     + } else {
81     + double sync_progress;
82     + sync_progress = ((double) sync_pos) / ((double) sync_total);
83     + hal_device_property_set_double (d, "storage.linux_raid.sync.progress", sync_progress);
84     + }
85     + }
86     +
87     + /* check again in two seconds */
88     + g_timeout_add (2000, md_check_sync_timeout, g_strdup (sysfs_path));
89     + }
90     + } else
91     hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", FALSE);
92     - hal_device_property_remove (d, "storage.linux_raid.sync.action");
93     - hal_device_property_remove (d, "storage.linux_raid.sync.speed");
94     - hal_device_property_remove (d, "storage.linux_raid.sync.progress");
95     - } else {
96     - int speed;
97     - char *str_completed;
98     -
99     - hal_device_property_set_bool (d, "storage.linux_raid.is_syncing", TRUE);
100     -
101     - hal_device_property_set_string (d, "storage.linux_raid.sync.action", sync_action);
102     -
103     - if (!hal_util_get_int_from_file (sysfs_path, "md/sync_speed", &speed, 10)) {
104     - HAL_WARNING (("Cannot get sync_speed for %s", sysfs_path));
105     - } else {
106     - hal_device_property_set_uint64 (d, "storage.linux_raid.sync.speed", speed);
107     - }
108     -
109     -
110     - if ((str_completed = hal_util_get_string_from_file (sysfs_path, "md/sync_completed")) == NULL) {
111     - HAL_WARNING (("Cannot get sync_completed for %s", sysfs_path));
112     - } else {
113     - long long int sync_pos, sync_total;
114     -
115     - if (sscanf (str_completed, "%lld / %lld", &sync_pos, &sync_total) != 2) {
116     - HAL_WARNING (("Malformed sync_completed '%s'", str_completed));
117     - } else {
118     - double sync_progress;
119     - sync_progress = ((double) sync_pos) / ((double) sync_total);
120     - hal_device_property_set_double (d, "storage.linux_raid.sync.progress", sync_progress);
121     - }
122     - }
123     -
124     - /* check again in two seconds */
125     - g_timeout_add (2000, md_check_sync_timeout, g_strdup (sysfs_path));
126     - }
127    
128     if (!hal_util_get_int_from_file (sysfs_path, "md/raid_disks", &num_components, 0)) {
129     HAL_WARNING (("Cannot get number of RAID components"));
130     diff --git a/tools/hal-setup-keymap-hash-name.h b/tools/hal-setup-keymap-hash-name.h
131     index 52ed0b4..a4c8679 100644
132     --- a/tools/hal-setup-keymap-hash-name.h
133     +++ b/tools/hal-setup-keymap-hash-name.h
134     @@ -31,12 +31,12 @@ error "gperf generated tables don't work with this execution character set. Plea
135    
136     struct key { const char* name; unsigned short id; };
137    
138     -#define TOTAL_KEYWORDS 355
139     +#define TOTAL_KEYWORDS 364
140     #define MIN_WORD_LENGTH 1
141     #define MAX_WORD_LENGTH 16
142     #define MIN_HASH_VALUE 1
143     -#define MAX_HASH_VALUE 1371
144     -/* maximum key range = 1371, duplicates = 0 */
145     +#define MAX_HASH_VALUE 1355
146     +/* maximum key range = 1355, duplicates = 0 */
147    
148     #ifndef GPERF_DOWNCASE
149     #define GPERF_DOWNCASE 1
150     @@ -95,32 +95,32 @@ hash_input_names (str, len)
151     {
152     static const unsigned short asso_values[] =
153     {
154     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
155     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
156     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
157     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
158     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 240, 115,
159     - 60, 280, 170, 125, 335, 130, 175, 215, 0, 1372,
160     - 1372, 1372, 1372, 1372, 1372, 35, 205, 75, 15, 10,
161     - 250, 400, 45, 150, 110, 290, 195, 30, 95, 5,
162     - 50, 145, 0, 20, 40, 80, 370, 415, 123, 325,
163     - 455, 1372, 1372, 1372, 1372, 1372, 25, 35, 205, 75,
164     - 15, 10, 250, 400, 45, 150, 110, 290, 195, 30,
165     - 95, 5, 50, 145, 0, 20, 40, 80, 370, 415,
166     - 123, 325, 455, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
167     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
168     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
169     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
170     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
171     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
172     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
173     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
174     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
175     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
176     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
177     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
178     - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
179     - 1372, 1372, 1372, 1372, 1372, 1372, 1372
180     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
181     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
182     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
183     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
184     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 180, 195,
185     + 65, 245, 275, 150, 220, 315, 295, 320, 0, 1356,
186     + 1356, 1356, 1356, 1356, 1356, 105, 270, 35, 15, 10,
187     + 225, 190, 25, 110, 285, 115, 215, 30, 85, 5,
188     + 135, 460, 0, 20, 40, 75, 450, 250, 355, 45,
189     + 380, 1356, 1356, 1356, 1356, 1356, 205, 105, 270, 35,
190     + 15, 10, 225, 190, 25, 110, 285, 115, 215, 30,
191     + 85, 5, 135, 460, 0, 20, 40, 75, 450, 250,
192     + 355, 45, 380, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
193     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
194     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
195     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
196     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
197     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
198     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
199     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
200     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
201     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
202     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
203     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
204     + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
205     + 1356, 1356, 1356, 1356, 1356, 1356, 1356
206     };
207     register int hval = len;
208    
209     @@ -179,630 +179,624 @@ lookup_key (str, len)
210     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
211     {"RECORD", KEY_RECORD},
212     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
213     - {(char*)0}, {(char*)0}, {(char*)0},
214     + {"H", KEY_H},
215     + {(char*)0}, {(char*)0},
216     {"SEND", KEY_SEND},
217     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
218     {"MODE", KEY_MODE},
219     - {"RADIO", KEY_RADIO},
220     + {(char*)0},
221     {"M", KEY_M},
222     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
223     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
224     {(char*)0},
225     - {"A", KEY_A},
226     + {"CD", KEY_CD},
227     + {(char*)0}, {(char*)0}, {(char*)0},
228     + {"C", KEY_C},
229     {(char*)0},
230     {"RESERVED", KEY_RESERVED},
231     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
232     {(char*)0}, {(char*)0}, {(char*)0},
233     {"T", KEY_T},
234     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
235     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
236     {(char*)0},
237     - {"H", KEY_H},
238     + {"ESC", KEY_ESC},
239     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
240     + {(char*)0}, {(char*)0}, {(char*)0},
241     + {"Y", KEY_Y},
242     {"DEL_EOS", KEY_DEL_EOS},
243     {(char*)0},
244     {"DOCUMENTS", KEY_DOCUMENTS},
245     - {"MACRO", KEY_MACRO},
246     - {(char*)0}, {(char*)0}, {(char*)0},
247     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
248     {"MESSENGER", KEY_MESSENGER},
249     - {(char*)0},
250     - {"P", KEY_P},
251     - {(char*)0}, {(char*)0}, {(char*)0},
252     + {(char*)0}, {(char*)0},
253     + {"CONNECT", KEY_CONNECT},
254     + {(char*)0}, {(char*)0},
255     {"MSDOS", KEY_MSDOS},
256     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
257     {(char*)0},
258     - {"CD", KEY_CD},
259     - {(char*)0}, {(char*)0}, {(char*)0},
260     {"DELETE", KEY_DELETE},
261     - {(char*)0}, {(char*)0}, {(char*)0},
262     + {(char*)0}, {(char*)0},
263     + {"EURO", KEY_EURO},
264     {"DELETEFILE", KEY_DELETEFILE},
265     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
266     - {(char*)0},
267     - {"2", KEY_2},
268     - {(char*)0},
269     - {"ESC", KEY_ESC},
270     - {(char*)0},
271     - {"MEDIA", KEY_MEDIA},
272     {(char*)0}, {(char*)0}, {(char*)0},
273     + {"END", KEY_END},
274     {"MENU", KEY_MENU},
275     {"TUNER", KEY_TUNER},
276     - {(char*)0},
277     - {"RESTART", KEY_RESTART},
278     - {"END", KEY_END},
279     {(char*)0}, {(char*)0}, {(char*)0},
280     - {"PROGRAM", KEY_PROGRAM},
281     - {(char*)0},
282     - {"HELP", KEY_HELP},
283     - {"AUDIO", KEY_AUDIO},
284     - {(char*)0},
285     - {"CONNECT", KEY_CONNECT},
286     - {"DOT", KEY_DOT},
287     + {"HOME", KEY_HOME},
288     + {"RADIO", KEY_RADIO},
289     + {"2", KEY_2},
290     + {(char*)0}, {(char*)0},
291     {"MEMO", KEY_MEMO},
292     - {"PROPS", KEY_PROPS},
293     - {"EDITOR", KEY_EDITOR},
294     - {"HP", KEY_HP},
295     {(char*)0}, {(char*)0},
296     - {"PASTE", KEY_PASTE},
297     - {"C", KEY_C},
298     + {"CYCLEWINDOWS", KEY_CYCLEWINDOWS},
299     + {"DOT", KEY_DOT},
300     + {"TEXT", KEY_TEXT},
301     + {(char*)0},
302     + {"SELECT", KEY_SELECT},
303     + {"CONTEXT_MENU", KEY_CONTEXT_MENU},
304     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
305     - {(char*)0}, {(char*)0}, {(char*)0},
306     - {"HOME", KEY_HOME},
307     - {"HANJA", KEY_HANJA},
308     - {"U", KEY_U},
309     + {"COMPOSE", KEY_COMPOSE},
310     + {"YEN", KEY_YEN},
311     {(char*)0}, {(char*)0},
312     - {"STOP", KEY_STOP},
313     + {"U", KEY_U},
314     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
315     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
316     - {"SHOP", KEY_SHOP},
317     - {"PHONE", KEY_PHONE},
318     {(char*)0},
319     - {"SUSPEND", KEY_SUSPEND},
320     + {"DOLLAR", KEY_DOLLAR},
321     {(char*)0}, {(char*)0}, {(char*)0},
322     - {"SPREADSHEET", KEY_SPREADSHEET},
323     - {(char*)0},
324     - {"SAT", KEY_SAT},
325     - {"EDIT", KEY_EDIT},
326     + {"MACRO", KEY_MACRO},
327     {(char*)0},
328     - {"SELECT", KEY_SELECT},
329     - {"UP", KEY_UP},
330     - {"POWER", KEY_POWER},
331     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
332     - {(char*)0}, {(char*)0},
333     - {"ENTER", KEY_ENTER},
334     + {"SUSPEND", KEY_SUSPEND},
335     + {(char*)0}, {(char*)0}, {(char*)0},
336     {"N", KEY_N},
337     + {(char*)0}, {(char*)0}, {(char*)0},
338     + {"ENTER", KEY_ENTER},
339     + {"SCREEN", KEY_SCREEN},
340     {(char*)0}, {(char*)0},
341     {"UNDO", KEY_UNDO},
342     - {"APOSTROPHE", KEY_APOSTROPHE},
343     - {"HENKAN", KEY_HENKAN},
344     - {"COMPOSE", KEY_COMPOSE},
345     - {(char*)0},
346     - {"SAT2", KEY_SAT2},
347     - {"ANGLE", KEY_ANGLE},
348     - {(char*)0},
349     - {"PC", KEY_PC},
350     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
351     + {"NEXT", KEY_NEXT},
352     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
353     {(char*)0},
354     + {"MINUS", KEY_MINUS},
355     + {(char*)0}, {(char*)0}, {(char*)0},
356     {"MUTE", KEY_MUTE},
357     - {"SPORT", KEY_SPORT},
358     - {"STOPCD", KEY_STOPCD},
359     + {"RIGHTBRACE", KEY_RIGHTBRACE},
360     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
361     {(char*)0}, {(char*)0},
362     - {"HOMEPAGE", KEY_HOMEPAGE},
363     - {(char*)0},
364     - {"SETUP", KEY_SETUP},
365     + {"RESTART", KEY_RESTART},
366     {(char*)0},
367     - {"ARCHIVE", KEY_ARCHIVE},
368     + {"HELP", KEY_HELP},
369     + {"AUDIO", KEY_AUDIO},
370     {(char*)0},
371     + {"PC", KEY_PC},
372     + {"COMPUTER", KEY_COMPUTER},
373     {"CALC", KEY_CALC},
374     - {(char*)0},
375     - {"J", KEY_J},
376     + {"SCREENLOCK", KEY_SCREENLOCK},
377     + {"A", KEY_A},
378     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
379     + {"DIGITS", KEY_DIGITS},
380     {(char*)0}, {(char*)0}, {(char*)0},
381     - {"PROG2", KEY_PROG2},
382     - {"SCREEN", KEY_SCREEN},
383     + {"RIGHT", KEY_RIGHT},
384     + {"I", KEY_I},
385     {(char*)0},
386     - {"ISO", KEY_ISO},
387     + {"RIGHTALT", KEY_RIGHTALT},
388     {(char*)0},
389     - {"MINUS", KEY_MINUS},
390     - {"1", KEY_1},
391     + {"RIGHTSHIFT", KEY_RIGHTSHIFT},
392     {(char*)0}, {(char*)0},
393     - {"TAPE", KEY_TAPE},
394     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
395     + {"CUT", KEY_CUT},
396     {(char*)0}, {(char*)0},
397     - {"OPTION", KEY_OPTION},
398     - {"DOWN", KEY_DOWN},
399     - {"CALENDAR", KEY_CALENDAR},
400     - {"POWER2", KEY_POWER2},
401     - {"PRINT", KEY_PRINT},
402     - {"CAMERA", KEY_CAMERA},
403     - {"X", KEY_X},
404     - {"PAGEDOWN", KEY_PAGEDOWN},
405     - {"REWIND", KEY_REWIND},
406     - {"COMMA", KEY_COMMA},
407     - {"5", KEY_5},
408     - {"NEWS", KEY_NEWS},
409     + {"K", KEY_K},
410     {(char*)0}, {(char*)0},
411     - {"RIGHTBRACE", KEY_RIGHTBRACE},
412     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
413     + {"DIRECTORY", KEY_DIRECTORY},
414     {(char*)0},
415     - {"7", KEY_7},
416     + {"HENKAN", KEY_HENKAN},
417     + {"OK", KEY_OK},
418     + {"CNT", KEY_CNT},
419     {(char*)0},
420     - {"COMPUTER", KEY_COMPUTER},
421     - {(char*)0}, {(char*)0},
422     - {"PAGEUP", KEY_PAGEUP},
423     - {"DEL_EOL", KEY_DEL_EOL},
424     - {"DEL_LINE", KEY_DEL_LINE},
425     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
426     - {"MHP", KEY_MHP},
427     - {(char*)0}, {(char*)0},
428     - {"DIGITS", KEY_DIGITS},
429     + {"ANGLE", KEY_ANGLE},
430     {(char*)0},
431     - {"CUT", KEY_CUT},
432     - {"RIGHTMETA", KEY_RIGHTMETA},
433     - {"RIGHT", KEY_RIGHT},
434     + {"REFRESH", KEY_REFRESH},
435     + {"SAT", KEY_SAT},
436     + {"SEMICOLON", KEY_SEMICOLON},
437     {(char*)0}, {(char*)0},
438     - {"RIGHTALT", KEY_RIGHTALT},
439     - {(char*)0},
440     - {"RIGHTSHIFT", KEY_RIGHTSHIFT},
441     + {"ARCHIVE", KEY_ARCHIVE},
442     {(char*)0},
443     - {"EXIT", KEY_EXIT},
444     - {(char*)0}, {(char*)0}, {(char*)0},
445     - {"Q", KEY_Q},
446     - {(char*)0}, {(char*)0},
447     - {"BACKSPACE", KEY_BACKSPACE},
448     + {"TIME", KEY_TIME},
449     {"TITLE", KEY_TITLE},
450     + {"STOPCD", KEY_STOPCD},
451     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
452     + {"COFFEE", KEY_COFFEE},
453     {(char*)0},
454     - {"HANGEUL", KEY_HANGEUL},
455     + {"SUBTITLE", KEY_SUBTITLE},
456     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
457     + {"CALENDAR", KEY_CALENDAR},
458     {(char*)0},
459     - {"TIME", KEY_TIME},
460     - {"SPACE", KEY_SPACE},
461     - {"I", KEY_I},
462     + {"MEDIA", KEY_MEDIA},
463     + {"ADDRESSBOOK", KEY_ADDRESSBOOK},
464     {(char*)0},
465     - {"SENDFILE", KEY_SENDFILE},
466     - {"SEMICOLON", KEY_SEMICOLON},
467     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
468     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
469     + {"HOMEPAGE", KEY_HOMEPAGE},
470     + {"SAT2", KEY_SAT2},
471     {(char*)0},
472     - {"LAST", KEY_LAST},
473     - {(char*)0}, {(char*)0}, {(char*)0},
474     - {"BRL_DOT2", KEY_BRL_DOT2},
475     - {"BOOKMARKS", KEY_BOOKMARKS},
476     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
477     - {(char*)0}, {(char*)0},
478     - {"CANCEL", KEY_CANCEL},
479     + {"P", KEY_P},
480     {(char*)0},
481     - {"ALTERASE", KEY_ALTERASE},
482     - {"BACKSLASH", KEY_BACKSLASH},
483     + {"ISO", KEY_ISO},
484     + {"DIRECTION", KEY_DIRECTION},
485     + {(char*)0}, {(char*)0}, {(char*)0},
486     + {"SENDFILE", KEY_SENDFILE},
487     + {"GOTO", KEY_GOTO},
488     {(char*)0},
489     {"INSERT", KEY_INSERT},
490     - {"FORWARD", KEY_FORWARD},
491     - {"LANGUAGE", KEY_LANGUAGE},
492     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
493     {(char*)0},
494     - {"PROG1", KEY_PROG1},
495     + {"DEL_EOL", KEY_DEL_EOL},
496     + {"DEL_LINE", KEY_DEL_LINE},
497     + {"RIGHTMETA", KEY_RIGHTMETA},
498     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
499     + {(char*)0}, {(char*)0}, {(char*)0},
500     + {"HP", KEY_HP},
501     {(char*)0},
502     - {"4", KEY_4},
503     + {"MOVE", KEY_MOVE},
504     {(char*)0},
505     - {"SUBTITLE", KEY_SUBTITLE},
506     + {"5", KEY_5},
507     + {(char*)0}, {(char*)0}, {(char*)0},
508     + {"PASTE", KEY_PASTE},
509     {(char*)0},
510     - {"CLOSE", KEY_CLOSE},
511     + {"PROGRAM", KEY_PROGRAM},
512     + {(char*)0}, {(char*)0}, {(char*)0},
513     + {"OPTION", KEY_OPTION},
514     + {(char*)0}, {(char*)0}, {(char*)0},
515     + {"PROPS", KEY_PROPS},
516     + {(char*)0}, {(char*)0}, {(char*)0},
517     + {"SHOP", KEY_SHOP},
518     + {"PHONE", KEY_PHONE},
519     + {"EDITOR", KEY_EDITOR},
520     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
521     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
522     {(char*)0},
523     - {"8", KEY_8},
524     - {"CLOSECD", KEY_CLOSECD},
525     - {"DATABASE", KEY_DATABASE},
526     + {"SPREADSHEET", KEY_SPREADSHEET},
527     + {(char*)0}, {(char*)0},
528     + {"STOP", KEY_STOP},
529     + {(char*)0},
530     + {"CAMERA", KEY_CAMERA},
531     + {(char*)0}, {(char*)0}, {(char*)0},
532     + {"COMMA", KEY_COMMA},
533     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
534     - {"TAB", KEY_TAB},
535     + {"KPDOT", KEY_KPDOT},
536     + {"YELLOW", KEY_YELLOW},
537     + {"UP", KEY_UP},
538     {(char*)0}, {(char*)0},
539     - {"SEARCH", KEY_SEARCH},
540     + {"HANJA", KEY_HANJA},
541     + {"CONFIG", KEY_CONFIG},
542     {(char*)0}, {(char*)0},
543     - {"DIRECTION", KEY_DIRECTION},
544     + {"EDIT", KEY_EDIT},
545     {(char*)0}, {(char*)0},
546     - {"HANGUEL", KEY_HANGUEL},
547     - {"SCROLLUP", KEY_SCROLLUP},
548     - {"CHAT", KEY_CHAT},
549     - {(char*)0},
550     - {"ADDRESSBOOK", KEY_ADDRESSBOOK},
551     {"F2", KEY_F2},
552     - {"BRL_DOT1", KEY_BRL_DOT1},
553     - {"MAIL", KEY_MAIL},
554     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
555     - {(char*)0},
556     - {"BRIGHTNESS_ZERO", KEY_BRIGHTNESS_ZERO},
557     - {(char*)0}, {(char*)0},
558     - {"BRL_DOT5", KEY_BRL_DOT5},
559     - {"FN_E", KEY_FN_E},
560     - {"FRONT", KEY_FRONT},
561     - {"BRIGHTNESS_CYCLE", KEY_BRIGHTNESS_CYCLE},
562     - {(char*)0},
563     - {"BRL_DOT7", KEY_BRL_DOT7},
564     - {"FN_D", KEY_FN_D},
565     + {"NEXTSONG", KEY_NEXTSONG},
566     + {"FIND", KEY_FIND},
567     {(char*)0},
568     - {"L", KEY_L},
569     - {(char*)0}, {(char*)0},
570     - {"FN_S", KEY_FN_S},
571     + {"0", KEY_0},
572     {(char*)0},
573     - {"VENDOR", KEY_VENDOR},
574     - {(char*)0}, {(char*)0},
575     + {"EPG", KEY_EPG},
576     {"TEEN", KEY_TEEN},
577     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
578     - {"OPEN", KEY_OPEN},
579     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
580     - {(char*)0}, {(char*)0},
581     - {"B", KEY_B},
582     {(char*)0},
583     - {"DVD", KEY_DVD},
584     + {"SEARCH", KEY_SEARCH},
585     + {"HANGEUL", KEY_HANGEUL},
586     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
587     + {"NUMLOCK", KEY_NUMLOCK},
588     + {"PAGEDOWN", KEY_PAGEDOWN},
589     + {"CHAT", KEY_CHAT},
590     + {"SPORT", KEY_SPORT},
591     + {"CANCEL", KEY_CANCEL},
592     + {"FORWARD", KEY_FORWARD},
593     {(char*)0},
594     + {"FILE", KEY_FILE},
595     + {"SETUP", KEY_SETUP},
596     + {"G", KEY_G},
597     + {(char*)0}, {(char*)0}, {(char*)0},
598     {"SCROLLDOWN", KEY_SCROLLDOWN},
599     + {(char*)0}, {(char*)0},
600     + {"BRL_DOT2", KEY_BRL_DOT2},
601     + {"SAVE", KEY_SAVE},
602     {(char*)0},
603     - {"PRESENTATION", KEY_PRESENTATION},
604     + {"1", KEY_1},
605     {(char*)0},
606     - {"TEXT", KEY_TEXT},
607     + {"MUHENKAN", KEY_MUHENKAN},
608     + {"INFO", KEY_INFO},
609     {(char*)0}, {(char*)0},
610     - {"BRIGHTNESSUP", KEY_BRIGHTNESSUP},
611     + {"FN", KEY_FN},
612     + {(char*)0},
613     + {"RIGHTCTRL", KEY_RIGHTCTRL},
614     + {(char*)0}, {(char*)0}, {(char*)0},
615     {"DISPLAYTOGGLE", KEY_DISPLAYTOGGLE},
616     - {"FIND", KEY_FIND},
617     - {"SCREENLOCK", KEY_SCREENLOCK},
618     + {"LAST", KEY_LAST},
619     + {"PROG2", KEY_PROG2},
620     {(char*)0},
621     {"KPCOMMA", KEY_KPCOMMA},
622     - {"BRL_DOT4", KEY_BRL_DOT4},
623     - {"LIST", KEY_LIST},
624     - {"SOUND", KEY_SOUND},
625     - {"9", KEY_9},
626     - {"EJECTCD", KEY_EJECTCD},
627     - {"BRL_DOT8", KEY_BRL_DOT8},
628     - {"FN_2", KEY_FN_2},
629     - {"KPDOT", KEY_KPDOT},
630     {(char*)0},
631     - {"EJECTCLOSECD", KEY_EJECTCLOSECD},
632     - {"YEN", KEY_YEN},
633     - {"RIGHTCTRL", KEY_RIGHTCTRL},
634     + {"LIST", KEY_LIST},
635     + {"CLOSE", KEY_CLOSE},
636     {(char*)0}, {(char*)0},
637     - {"FN", KEY_FN},
638     - {"PVR", KEY_PVR},
639     - {"FILE", KEY_FILE},
640     - {"PROG4", KEY_PROG4},
641     + {"ALTERASE", KEY_ALTERASE},
642     {(char*)0},
643     - {"AB", KEY_AB},
644     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
645     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
646     + {"SCROLLLOCK", KEY_SCROLLLOCK},
647     {(char*)0},
648     - {"CYCLEWINDOWS", KEY_CYCLEWINDOWS},
649     - {"MUHENKAN", KEY_MUHENKAN},
650     + {"CLOSECD", KEY_CLOSECD},
651     + {"LANGUAGE", KEY_LANGUAGE},
652     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
653     + {"WORDPROCESSOR", KEY_WORDPROCESSOR},
654     {(char*)0},
655     - {"MOVE", KEY_MOVE},
656     + {"GAMES", KEY_GAMES},
657     {(char*)0},
658     - {"PLAYER", KEY_PLAYER},
659     {"KPSLASH", KEY_KPSLASH},
660     - {"VCR", KEY_VCR},
661     - {"BRIGHTNESSDOWN", KEY_BRIGHTNESSDOWN},
662     {(char*)0},
663     - {"FN_ESC", KEY_FN_ESC},
664     - {"REFRESH", KEY_REFRESH},
665     - {"BRL_DOT9", KEY_BRL_DOT9},
666     - {"NEXT", KEY_NEXT},
667     - {(char*)0}, {(char*)0},
668     - {"UNKNOWN", KEY_UNKNOWN},
669     - {"PREVIOUS", KEY_PREVIOUS},
670     - {"CHANNELUP", KEY_CHANNELUP},
671     - {"PAUSE", KEY_PAUSE},
672     - {"0", KEY_0},
673     - {"F1", KEY_F1},
674     + {"BACKSPACE", KEY_BACKSPACE},
675     {(char*)0},
676     - {"SAVE", KEY_SAVE},
677     + {"L", KEY_L},
678     + {"HANGUEL", KEY_HANGUEL},
679     + {"SCROLLUP", KEY_SCROLLUP},
680     + {(char*)0},
681     + {"APOSTROPHE", KEY_APOSTROPHE},
682     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
683     + {"FIRST", KEY_FIRST},
684     + {"6", KEY_6},
685     + {"FINANCE", KEY_FINANCE},
686     + {(char*)0},
687     + {"BACKSLASH", KEY_BACKSLASH},
688     + {"FRONT", KEY_FRONT},
689     + {(char*)0},
690     + {"KPMINUS", KEY_KPMINUS},
691     {(char*)0}, {(char*)0},
692     - {"PAUSECD", KEY_PAUSECD},
693     - {"F21", KEY_F21},
694     - {"FN_1", KEY_FN_1},
695     + {"SPACE", KEY_SPACE},
696     + {"F", KEY_F},
697     + {(char*)0},
698     + {"TAB", KEY_TAB},
699     + {"OPEN", KEY_OPEN},
700     {(char*)0}, {(char*)0}, {(char*)0},
701     - {"VOLUMEUP", KEY_VOLUMEUP},
702     - {"GOTO", KEY_GOTO},
703     - {"FN_F2", KEY_FN_F2},
704     + {"HIRAGANA", KEY_HIRAGANA},
705     + {"LEFT", KEY_LEFT},
706     + {"MIN_INTERESTING", KEY_MIN_INTERESTING},
707     + {(char*)0}, {(char*)0}, {(char*)0},
708     + {"DOWN", KEY_DOWN},
709     {(char*)0}, {(char*)0},
710     + {"PRESENTATION", KEY_PRESENTATION},
711     {"INS_LINE", KEY_INS_LINE},
712     - {"BRL_DOT10", KEY_BRL_DOT10},
713     - {(char*)0},
714     - {"F", KEY_F},
715     - {"F5", KEY_F5},
716     - {"WORDPROCESSOR", KEY_WORDPROCESSOR},
717     + {"BOOKMARKS", KEY_BOOKMARKS},
718     {(char*)0},
719     - {"FIRST", KEY_FIRST},
720     - {"COFFEE", KEY_COFFEE},
721     + {"REWIND", KEY_REWIND},
722     + {"UNKNOWN", KEY_UNKNOWN},
723     + {"BRL_DOT5", KEY_BRL_DOT5},
724     + {"NEWS", KEY_NEWS},
725     {(char*)0},
726     - {"EPG", KEY_EPG},
727     + {"VENDOR", KEY_VENDOR},
728     {(char*)0}, {(char*)0}, {(char*)0},
729     - {"F7", KEY_F7},
730     - {(char*)0}, {(char*)0},
731     - {"SLASH", KEY_SLASH},
732     - {"FORWARDMAIL", KEY_FORWARDMAIL},
733     - {"FINANCE", KEY_FINANCE},
734     - {"KP1", KEY_KP1},
735     - {"PLAYPAUSE", KEY_PLAYPAUSE},
736     + {"CLEAR", KEY_CLEAR},
737     + {"PAGEUP", KEY_PAGEUP},
738     + {(char*)0},
739     + {"DATABASE", KEY_DATABASE},
740     + {"LEFTSHIFT", KEY_LEFTSHIFT},
741     + {"GRAVE", KEY_GRAVE},
742     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
743     {(char*)0},
744     - {"CLEAR", KEY_CLEAR},
745     - {"CHANNELDOWN", KEY_CHANNELDOWN},
746     + {"3", KEY_3},
747     + {(char*)0},
748     + {"DVD", KEY_DVD},
749     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
750     + {"PREVIOUS", KEY_PREVIOUS},
751     + {"GRAPHICSEDITOR", KEY_GRAPHICSEDITOR},
752     + {"POWER", KEY_POWER},
753     + {"W", KEY_W},
754     {(char*)0}, {(char*)0},
755     - {"VCR2", KEY_VCR2},
756     + {"BRL_DOT10", KEY_BRL_DOT10},
757     + {"PRINT", KEY_PRINT},
758     + {(char*)0}, {(char*)0},
759     + {"VCR", KEY_VCR},
760     + {"BACK", KEY_BACK},
761     + {"SOUND", KEY_SOUND},
762     + {"CHANNELDOWN", KEY_CHANNELDOWN},
763     + {"BATTERY", KEY_BATTERY},
764     + {"KP1", KEY_KP1},
765     + {"KPJPCOMMA", KEY_KPJPCOMMA},
766     {(char*)0}, {(char*)0}, {(char*)0},
767     - {"MP3", KEY_MP3},
768     - {"BASSBOOST", KEY_BASSBOOST},
769     + {"BRL_DOT1", KEY_BRL_DOT1},
770     {(char*)0}, {(char*)0}, {(char*)0},
771     - {"BRL_DOT3", KEY_BRL_DOT3},
772     + {"KPENTER", KEY_KPENTER},
773     + {"KATAKANA", KEY_KATAKANA},
774     + {(char*)0}, {(char*)0}, {(char*)0},
775     + {"F5", KEY_F5},
776     {(char*)0},
777     - {"VOLUMEDOWN", KEY_VOLUMEDOWN},
778     - {(char*)0}, {(char*)0},
779     - {"F11", KEY_F11},
780     + {"FN_E", KEY_FN_E},
781     + {(char*)0},
782     + {"KATAKANAHIRAGANA", KEY_KATAKANAHIRAGANA},
783     + {"FRAMEFORWARD", KEY_FRAMEFORWARD},
784     + {"KEYBOARD", KEY_KEYBOARD},
785     + {"FN_D", KEY_FN_D},
786     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
787     + {"FN_S", KEY_FN_S},
788     + {(char*)0},
789     + {"B", KEY_B},
790     + {(char*)0},
791     + {"BRL_DOT6", KEY_BRL_DOT6},
792     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
793     + {(char*)0},
794     + {"COPY", KEY_COPY},
795     + {(char*)0},
796     + {"4", KEY_4},
797     + {(char*)0},
798     + {"F21", KEY_F21},
799     {"ZOOM", KEY_ZOOM},
800     - {"VIDEO", KEY_VIDEO},
801     - {"PLAYCD", KEY_PLAYCD},
802     {(char*)0}, {(char*)0},
803     - {"BACK", KEY_BACK},
804     - {(char*)0},
805     - {"FN_F12", KEY_FN_F12},
806     + {"KPRIGHTPAREN", KEY_KPRIGHTPAREN},
807     + {"LEFTMETA", KEY_LEFTMETA},
808     + {"CHANNELUP", KEY_CHANNELUP},
809     + {"SLASH", KEY_SLASH},
810     {(char*)0}, {(char*)0},
811     - {"COPY", KEY_COPY},
812     - {"VIDEOPHONE", KEY_VIDEOPHONE},
813     + {"KP2", KEY_KP2},
814     {(char*)0},
815     - {"KPMINUS", KEY_KPMINUS},
816     - {"KP9", KEY_KP9},
817     + {"REPLY", KEY_REPLY},
818     + {"POWER2", KEY_POWER2},
819     + {"LEFTALT", KEY_LEFTALT},
820     + {"BRL_DOT3", KEY_BRL_DOT3},
821     {"ZOOMRESET", KEY_ZOOMRESET},
822     {(char*)0},
823     - {"3", KEY_3},
824     + {"J", KEY_J},
825     {"ZOOMOUT", KEY_ZOOMOUT},
826     - {(char*)0}, {(char*)0}, {(char*)0},
827     - {"AUX", KEY_AUX},
828     - {(char*)0}, {(char*)0}, {(char*)0},
829     - {"SLEEP", KEY_SLEEP},
830     - {(char*)0},
831     - {"NUMLOCK", KEY_NUMLOCK},
832     - {(char*)0}, {(char*)0},
833     - {"GAMES", KEY_GAMES},
834     - {(char*)0}, {(char*)0}, {(char*)0},
835     - {"FN_B", KEY_FN_B},
836     + {"KP9", KEY_KP9},
837     + {"VCR2", KEY_VCR2},
838     {(char*)0},
839     - {"K", KEY_K},
840     + {"FN_ESC", KEY_FN_ESC},
841     {(char*)0},
842     - {"F19", KEY_F19},
843     + {"LINEFEED", KEY_LINEFEED},
844     + {(char*)0}, {(char*)0},
845     + {"FORWARDMAIL", KEY_FORWARDMAIL},
846     + {"EJECTCD", KEY_EJECTCD},
847     + {"AUX", KEY_AUX},
848     + {"FN_2", KEY_FN_2},
849     + {"VIDEO", KEY_VIDEO},
850     {(char*)0},
851     - {"VIDEO_NEXT", KEY_VIDEO_NEXT},
852     + {"EJECTCLOSECD", KEY_EJECTCLOSECD},
853     {(char*)0},
854     - {"OK", KEY_OK},
855     + {"ZENKAKUHANKAKU", KEY_ZENKAKUHANKAKU},
856     + {"GREEN", KEY_GREEN},
857     + {"8", KEY_8},
858     {(char*)0}, {(char*)0}, {(char*)0},
859     - {"KPPLUS", KEY_KPPLUS},
860     - {"F4", KEY_F4},
861     - {"BRL_DOT6", KEY_BRL_DOT6},
862     - {"DIRECTORY", KEY_DIRECTORY},
863     - {(char*)0},
864     - {"KPPLUSMINUS", KEY_KPPLUSMINUS},
865     + {"VIDEOPHONE", KEY_VIDEOPHONE},
866     {(char*)0}, {(char*)0},
867     - {"ZENKAKUHANKAKU", KEY_ZENKAKUHANKAKU},
868     + {"BRL_DOT4", KEY_BRL_DOT4},
869     {(char*)0},
870     - {"FASTFORWARD", KEY_FASTFORWARD},
871     - {"F8", KEY_F8},
872     - {(char*)0}, {(char*)0},
873     - {"FN_F1", KEY_FN_F1},
874     - {"FN_F11", KEY_FN_F11},
875     + {"BRIGHTNESS_ZERO", KEY_BRIGHTNESS_ZERO},
876     + {"KPLEFTPAREN", KEY_KPLEFTPAREN},
877     {(char*)0},
878     - {"F24", KEY_F24},
879     + {"F22", KEY_F22},
880     + {"TWEN", KEY_TWEN},
881     {(char*)0},
882     - {"SCROLLLOCK", KEY_SCROLLLOCK},
883     + {"BRIGHTNESS_CYCLE", KEY_BRIGHTNESS_CYCLE},
884     + {(char*)0},
885     + {"PVR", KEY_PVR},
886     + {"FAVORITES", KEY_FAVORITES},
887     + {"VOLUMEDOWN", KEY_VOLUMEDOWN},
888     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
889     - {(char*)0}, {(char*)0}, {(char*)0},
890     - {"QUESTION", KEY_QUESTION},
891     - {(char*)0}, {(char*)0}, {(char*)0},
892     - {"CHANNEL", KEY_CHANNEL},
893     - {"LINEFEED", KEY_LINEFEED},
894     - {"FN_F", KEY_FN_F},
895     - {"FN_F5", KEY_FN_F5},
896     + {"SWITCHVIDEOMODE", KEY_SWITCHVIDEOMODE},
897     + {"DISPLAY_OFF", KEY_DISPLAY_OFF},
898     + {"F1", KEY_F1},
899     + {"BRL_DOT8", KEY_BRL_DOT8},
900     + {"TAPE", KEY_TAPE},
901     {(char*)0},
902     - {"XFER", KEY_XFER},
903     + {"FASTFORWARD", KEY_FASTFORWARD},
904     + {(char*)0},
905     + {"KP5", KEY_KP5},
906     + {"SLOW", KEY_SLOW},
907     + {"VIDEO_NEXT", KEY_VIDEO_NEXT},
908     {(char*)0}, {(char*)0},
909     - {"GRAVE", KEY_GRAVE},
910     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
911     - {"FN_F7", KEY_FN_F7},
912     + {"KP0", KEY_KP0},
913     + {"FRAMEBACK", KEY_FRAMEBACK},
914     {(char*)0},
915     - {"KPENTER", KEY_KPENTER},
916     - {"KP4", KEY_KP4},
917     + {"7", KEY_7},
918     {(char*)0},
919     - {"EMAIL", KEY_EMAIL},
920     - {"CONFIG", KEY_CONFIG},
921     - {(char*)0}, {(char*)0}, {(char*)0},
922     - {"SWITCHVIDEOMODE", KEY_SWITCHVIDEOMODE},
923     - {"NEW", KEY_NEW},
924     + {"UWB", KEY_UWB},
925     + {"KBDILLUMTOGGLE", KEY_KBDILLUMTOGGLE},
926     {(char*)0},
927     - {"KP7", KEY_KP7},
928     - {"LEFT", KEY_LEFT},
929     + {"PLAYER", KEY_PLAYER},
930     + {"CHANNEL", KEY_CHANNEL},
931     + {"BRL_DOT7", KEY_BRL_DOT7},
932     + {"MAIL", KEY_MAIL},
933     {(char*)0},
934     - {"Y", KEY_Y},
935     + {"9", KEY_9},
936     {(char*)0},
937     - {"F22", KEY_F22},
938     - {"INFO", KEY_INFO},
939     + {"BRL_DOT9", KEY_BRL_DOT9},
940     {(char*)0}, {(char*)0}, {(char*)0},
941     - {"HIRAGANA", KEY_HIRAGANA},
942     + {"AB", KEY_AB},
943     {(char*)0}, {(char*)0},
944     - {"DISPLAY_OFF", KEY_DISPLAY_OFF},
945     - {"BATTERY", KEY_BATTERY},
946     - {"F14", KEY_F14},
947     - {"GRAPHICSEDITOR", KEY_GRAPHICSEDITOR},
948     - {"PROG3", KEY_PROG3},
949     + {"FN_F2", KEY_FN_F2},
950     {(char*)0}, {(char*)0},
951     - {"F20", KEY_F20},
952     + {"MHP", KEY_MHP},
953     {(char*)0},
954     {"102ND", KEY_102ND},
955     - {"6", KEY_6},
956     + {(char*)0}, {(char*)0},
957     + {"VOLUMEUP", KEY_VOLUMEUP},
958     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
959     + {(char*)0}, {(char*)0},
960     + {"PROG1", KEY_PROG1},
961     {(char*)0},
962     - {"F17", KEY_F17},
963     - {"LEFTSHIFT", KEY_LEFTSHIFT},
964     - {(char*)0}, {(char*)0}, {(char*)0},
965     - {"LEFTMETA", KEY_LEFTMETA},
966     + {"F6", KEY_F6},
967     + {"F20", KEY_F20},
968     + {"PLAY", KEY_PLAY},
969     + {(char*)0}, {(char*)0},
970     + {"PREVIOUSSONG", KEY_PREVIOUSSONG},
971     + {"LEFTCTRL", KEY_LEFTCTRL},
972     + {(char*)0}, {(char*)0},
973     + {"PLAYCD", KEY_PLAYCD},
974     {(char*)0},
975     - {"SYSRQ", KEY_SYSRQ},
976     + {"KP4", KEY_KP4},
977     + {"BRIGHTNESSDOWN", KEY_BRIGHTNESSDOWN},
978     + {(char*)0}, {(char*)0}, {(char*)0},
979     + {"F11", KEY_F11},
980     {(char*)0},
981     - {"F9", KEY_F9},
982     - {"KP2", KEY_KP2},
983     - {"SLOW", KEY_SLOW},
984     + {"KPASTERISK", KEY_KPASTERISK},
985     {(char*)0}, {(char*)0},
986     - {"LEFTALT", KEY_LEFTALT},
987     + {"MP3", KEY_MP3},
988     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
989     + {(char*)0},
990     + {"EXIT", KEY_EXIT},
991     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
992     {(char*)0}, {(char*)0},
993     - {"KP0", KEY_KP0},
994     - {"VOICEMAIL", KEY_VOICEMAIL},
995     - {(char*)0}, {(char*)0},
996     - {"SHUFFLE", KEY_SHUFFLE},
997     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
998     + {"LOGOFF", KEY_LOGOFF},
999     {(char*)0},
1000     - {"F12", KEY_F12},
1001     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1002     + {"NEW", KEY_NEW},
1003     + {"LEFTBRACE", KEY_LEFTBRACE},
1004     {(char*)0}, {(char*)0},
1005     - {"FN_F4", KEY_FN_F4},
1006     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1007     + {"KBDILLUMDOWN", KEY_KBDILLUMDOWN},
1008     {(char*)0}, {(char*)0}, {(char*)0},
1009     - {"F10", KEY_F10},
1010     - {"KBDILLUMTOGGLE", KEY_KBDILLUMTOGGLE},
1011     - {"FN_F8", KEY_FN_F8},
1012     - {"KPLEFTPAREN", KEY_KPLEFTPAREN},
1013     + {"X", KEY_X},
1014     {(char*)0}, {(char*)0},
1015     - {"FAVORITES", KEY_FAVORITES},
1016     + {"FN_1", KEY_FN_1},
1017     + {"PAUSE", KEY_PAUSE},
1018     {(char*)0},
1019     - {"FN_F10", KEY_FN_F10},
1020     + {"F3", KEY_F3},
1021     + {"F24", KEY_F24},
1022     {(char*)0},
1023     - {"KP8", KEY_KP8},
1024     + {"SPELLCHECK", KEY_SPELLCHECK},
1025     + {"ZOOMIN", KEY_ZOOMIN},
1026     + {"PAUSECD", KEY_PAUSECD},
1027     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1028     - {"KATAKANA", KEY_KATAKANA},
1029     + {"BRIGHTNESSUP", KEY_BRIGHTNESSUP},
1030     {(char*)0}, {(char*)0},
1031     - {"V", KEY_V},
1032     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1033     - {"KATAKANAHIRAGANA", KEY_KATAKANAHIRAGANA},
1034     + {"BREAK", KEY_BREAK},
1035     + {(char*)0}, {(char*)0},
1036     + {"F12", KEY_F12},
1037     + {"BASSBOOST", KEY_BASSBOOST},
1038     + {"SLEEP", KEY_SLEEP},
1039     {(char*)0},
1040     - {"CAPSLOCK", KEY_CAPSLOCK},
1041     - {"KPJPCOMMA", KEY_KPJPCOMMA},
1042     - {"MIN_INTERESTING", KEY_MIN_INTERESTING},
1043     + {"SHUFFLE", KEY_SHUFFLE},
1044     {(char*)0}, {(char*)0},
1045     - {"TV2", KEY_TV2},
1046     + {"AGAIN", KEY_AGAIN},
1047     + {(char*)0}, {(char*)0},
1048     + {"F19", KEY_F19},
1049     + {"FN_F", KEY_FN_F},
1050     + {"EMAIL", KEY_EMAIL},
1051     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1052     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1053     - {"F18", KEY_F18},
1054     {(char*)0},
1055     {"KBDILLUMUP", KEY_KBDILLUMUP},
1056     - {"ZOOMIN", KEY_ZOOMIN},
1057     - {(char*)0},
1058     - {"F23", KEY_F23},
1059     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1060     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1061     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1062     - {(char*)0}, {(char*)0}, {(char*)0},
1063     - {"PLAY", KEY_PLAY},
1064     {(char*)0},
1065     - {"WAKEUP", KEY_WAKEUP},
1066     - {"TV", KEY_TV},
1067     - {"KEYBOARD", KEY_KEYBOARD},
1068     - {"BLUE", KEY_BLUE},
1069     + {"Z", KEY_Z},
1070     + {(char*)0}, {(char*)0}, {(char*)0},
1071     + {"PROG3", KEY_PROG3},
1072     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1073     {(char*)0}, {(char*)0},
1074     - {"YELLOW", KEY_YELLOW},
1075     - {(char*)0},
1076     + {"KPEQUAL", KEY_KPEQUAL},
1077     {"KP3", KEY_KP3},
1078     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1079     + {"PLAYPAUSE", KEY_PLAYPAUSE},
1080     + {(char*)0}, {(char*)0},
1081     + {"F4", KEY_F4},
1082     {(char*)0}, {(char*)0}, {(char*)0},
1083     - {"G", KEY_G},
1084     - {(char*)0},
1085     - {"KP5", KEY_KP5},
1086     - {"TWEN", KEY_TWEN},
1087     - {"FN_F9", KEY_FN_F9},
1088     + {"FN_F12", KEY_FN_F12},
1089     + {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1090     + {"WAKEUP", KEY_WAKEUP},
1091     {(char*)0},
1092     - {"KBDILLUMDOWN", KEY_KBDILLUMDOWN},
1093     {"KP6", KEY_KP6},
1094     - {(char*)0},
1095     - {"REPLY", KEY_REPLY},
1096     - {(char*)0},
1097     - {"F3", KEY_F3},
1098     + {"FN_B", KEY_FN_B},
1099     + {(char*)0}, {(char*)0}, {(char*)0},
1100     + {"F15", KEY_F15},
1101     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1102     - {(char*)0},
1103     - {"F13", KEY_F13},
1104     + {"F10", KEY_F10},
1105     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1106     + {"TV2", KEY_TV2},
1107     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1108     {(char*)0},
1109     - {"F15", KEY_F15},
1110     - {"LEFTBRACE", KEY_LEFTBRACE},
1111     - {(char*)0},
1112     - {"W", KEY_W},
1113     - {(char*)0},
1114     - {"F16", KEY_F16},
1115     - {(char*)0},
1116     - {"AGAIN", KEY_AGAIN},
1117     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1118     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1119     + {"XFER", KEY_XFER},
1120     {(char*)0},
1121     - {"GREEN", KEY_GREEN},
1122     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1123     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1124     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1125     - {"NEXTSONG", KEY_NEXTSONG},
1126     - {(char*)0}, {(char*)0}, {(char*)0},
1127     - {"PREVIOUSSONG", KEY_PREVIOUSSONG},
1128     + {"KPPLUS", KEY_KPPLUS},
1129     {(char*)0},
1130     - {"BLUETOOTH", KEY_BLUETOOTH},
1131     + {"F23", KEY_F23},
1132     {(char*)0}, {(char*)0},
1133     - {"KPRIGHTPAREN", KEY_KPRIGHTPAREN},
1134     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1135     - {"KPEQUAL", KEY_KPEQUAL},
1136     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1137     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1138     + {"KPPLUSMINUS", KEY_KPPLUSMINUS},
1139     + {"F8", KEY_F8},
1140     {(char*)0}, {(char*)0},
1141     - {"LEFTCTRL", KEY_LEFTCTRL},
1142     - {(char*)0},
1143     - {"KPASTERISK", KEY_KPASTERISK},
1144     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1145     + {"FN_F5", KEY_FN_F5},
1146     + {(char*)0}, {(char*)0}, {(char*)0},
1147     + {"WLAN", KEY_WLAN},
1148     + {"PROG4", KEY_PROG4},
1149     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1150     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1151     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1152     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1153     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1154     - {(char*)0},
1155     - {"Z", KEY_Z},
1156     {(char*)0}, {(char*)0},
1157     - {"WLAN", KEY_WLAN},
1158     - {"VIDEO_PREV", KEY_VIDEO_PREV},
1159     - {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1160     - {"EQUAL", KEY_EQUAL},
1161     - {(char*)0},
1162     - {"F6", KEY_F6},
1163     + {"F14", KEY_F14},
1164     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1165     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1166     + {"F7", KEY_F7},
1167     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1168     - {"FN_F3", KEY_FN_F3},
1169     + {(char*)0},
1170     + {"KP7", KEY_KP7},
1171     + {(char*)0}, {(char*)0}, {(char*)0},
1172     + {"F9", KEY_F9},
1173     + {"KP8", KEY_KP8},
1174     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1175     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1176     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1177     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1178     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1179     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1180     + {"QUESTION", KEY_QUESTION},
1181     + {(char*)0}, {(char*)0},
1182     + {"FN_F10", KEY_FN_F10},
1183     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1184     + {"V", KEY_V},
1185     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1186     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1187     + {"FN_F1", KEY_FN_F1},
1188     + {"FN_F11", KEY_FN_F11},
1189     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1190     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1191     + {(char*)0},
1192     + {"Q", KEY_Q},
1193     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1194     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1195     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1196     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1197     + {"CAPSLOCK", KEY_CAPSLOCK},
1198     + {(char*)0}, {(char*)0}, {(char*)0},
1199     + {"TV", KEY_TV},
1200     + {"F13", KEY_F13},
1201     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1202     + {(char*)0},
1203     + {"BLUE", KEY_BLUE},
1204     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1205     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1206     + {"F16", KEY_F16},
1207     + {(char*)0},
1208     + {"FN_F6", KEY_FN_F6},
1209     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1210     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1211     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1212     + {(char*)0},
1213     + {"VOICEMAIL", KEY_VOICEMAIL},
1214     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1215     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1216     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1217     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1218     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1219     - {"BREAK", KEY_BREAK},
1220     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1221     - {"FN_F6", KEY_FN_F6},
1222     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1223     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1224     + {(char*)0}, {(char*)0},
1225     + {"BLUETOOTH", KEY_BLUETOOTH},
1226     + {"FN_F3", KEY_FN_F3},
1227     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1228     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1229     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1230     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1231     + {(char*)0}, {(char*)0}, {(char*)0},
1232     + {"SYSRQ", KEY_SYSRQ},
1233     + {(char*)0}, {(char*)0},
1234     + {"F17", KEY_F17},
1235     + {(char*)0},
1236     + {"VIDEO_PREV", KEY_VIDEO_PREV},
1237     + {(char*)0}, {(char*)0},
1238     + {"F18", KEY_F18},
1239     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1240     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1241     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1242     @@ -810,6 +804,8 @@ lookup_key (str, len)
1243     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1244     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1245     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1246     + {(char*)0}, {(char*)0}, {(char*)0},
1247     + {"FN_F4", KEY_FN_F4},
1248     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1249     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1250     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1251     @@ -819,6 +815,10 @@ lookup_key (str, len)
1252     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1253     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1254     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1255     + {(char*)0},
1256     + {"WWW", KEY_WWW},
1257     + {(char*)0},
1258     + {"FN_F8", KEY_FN_F8},
1259     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1260     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1261     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1262     @@ -828,8 +828,12 @@ lookup_key (str, len)
1263     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1264     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1265     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1266     + {(char*)0}, {(char*)0}, {(char*)0},
1267     + {"FN_F7", KEY_FN_F7},
1268     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1269     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1270     + {(char*)0},
1271     + {"FN_F9", KEY_FN_F9},
1272     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1273     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1274     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1275     @@ -878,8 +882,8 @@ lookup_key (str, len)
1276     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1277     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1278     {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
1279     - {(char*)0},
1280     - {"WWW", KEY_WWW}
1281     + {(char*)0}, {(char*)0},
1282     + {"EQUAL", KEY_EQUAL}
1283     };
1284    
1285     if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
1286     --
1287     1.5.3.7
1288