#
# Patch managed by http://www.holgerschurig.de/patcher.html
#

--- linux/drivers/char/tosa_keymap.c~tosa_map.patch
+++ linux/drivers/char/tosa_keymap.c
@@ -6,348 +6,88 @@
 #include <linux/keyboard.h>
 #include <linux/kd.h>
 
-u_short plain_map[] = {
+u_short plain_map[NR_KEYS] = {
 	0xf200,	0xfb61,	0xfb62,	0xfb63,	0xfb64,	0xfb65,	0xfb66,	0xfb67,
 	0xfb68,	0xfb69,	0xfb6a,	0xfb6b,	0xfb6c,	0xfb6d,	0xfb6e,	0xfb6f,
 	0xfb70,	0xfb71,	0xfb72,	0xfb73,	0xfb74,	0xfb75,	0xfb76,	0xfb77,
-	0xfb78,	0xfb79,	0xfb7a,	0xf700,	0xf201,	0xf101,	0xf703,	0xf008,
-	0xf208,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
+	0xfb78,	0xfb79,	0xfb7a,	0xf700,	0xf201,	0xf101,	0xf200,	0xf008,
+	0xf07c,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
 	0xf200,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
-	0xf038,	0xf039,	0xf030,	0xf02d,	0xf05e,	0xf05c,	0xf05b,	0xf040,
-	0xf702,	0xf703,	0xf702,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf02c,
-	0xf02e,	0xf009,	0xf104,	0xf105,	0xf106,	0xf02f,	0xf027,	0xf301,
-	0xf302,	0xf303,	0xf304,	0xf305,	0xf306,	0xf307,	0xf308,	0xf309,
-	0xf300,	0xf07f,	0xf30d,	0xf30c,	0xf200,	0xf30b,	0xf30a,	0xf30e,
-	0xf702,	0xf703,	0xf01b,	0xf020,	0xf020,	0xf310,	0xf200,	0xf03b,
-	0xf03a,	0xf05d,	0xf02c,	0xf02e,	0xf02f,	0xf05f,	0xf200,	0xf700,
-	0xf114,	0xf117,	0xf118,	0xf119,	0xf701,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf702,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf038,	0xf039,	0xf030,	0xfbe4,	0xfbfc,	0xfbf6,	0xfbc4,	0xfbdc,
+	0xfbd6,	0xfbdf,	0xf02d,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf02c,
+	0xf02e,	0xf009,	0xf104,	0xf105,	0xf106,	0xf02f,	0xf027,	0xf03b,
+	0xf022,	0xf03a,	0xf023,	0xf024,	0xf025,	0xf05f,	0xf026,	0xf02a,
+	0xf028,	0xf07f,	0xf109,	0xf03d,	0xf029,	0xf07e,	0xf03c,	0xf03e,
+	0xf702,	0xf703,	0xf200,	0xf020,	0xf020,	0xf200,	0xf021,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf700,
+	0xf702,	0xf702,	0xf703,	0xf703,	0xf701,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 };
 
-u_short shift_map[] = {
+u_short shift_map[NR_KEYS] = {
 	0xf200,	0xfb41,	0xfb42,	0xfb43,	0xfb44,	0xfb45,	0xfb46,	0xfb47,
 	0xfb48,	0xfb49,	0xfb4a,	0xfb4b,	0xfb4c,	0xfb4d,	0xfb4e,	0xfb4f,
 	0xfb50,	0xfb51,	0xfb52,	0xfb53,	0xfb54,	0xfb55,	0xfb56,	0xfb57,
-	0xfb58,	0xfb59,	0xfb5a,	0xf700,	0xf201,	0xf101,	0xf702,	0xf008,
-	0xf208,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
-	0xf200,	0xf021,	0xf022,	0xf023,	0xf024,	0xf025,	0xf026,	0xf027,
-	0xf028,	0xf029,	0xf07e,	0xf03d,	0xf07e,	0xf07c,	0xf07b,	0xf060,
-	0xf702,	0xf703,	0xf702,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf03b,
-	0xf03a,	0xf009,	0xf104,	0xf105,	0xf106,	0xf03f,	0xf022,	0xf301,
-	0xf302,	0xf303,	0xf304,	0xf305,	0xf306,	0xf307,	0xf308,	0xf309,
-	0xf300,	0xf07f,	0xf30d,	0xf30c,	0xf200,	0xf30b,	0xf30a,	0xf30e,
-	0xf702,	0xf703,	0xf01b,	0xf020,	0xf020,	0xf310,	0xf200,	0xf02b,
-	0xf02a,	0xf07d,	0xf03c,	0xf03e,	0xf03f,	0xf05f,	0xf200,	0xf700,
-	0xf114,	0xf117,	0xf20b,	0xf20a,	0xf701,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf702,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xfb58,	0xfb59,	0xfb5a,	0xf700,	0xf201,	0xf101,	0xf200,	0xf008,
+	0xf07c,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
+	0xf200,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
+	0xf038,	0xf039,	0xf030,	0xfbe4,	0xfbfc,	0xfbf6,	0xfbc4,	0xfbdc,
+	0xfbd6,	0xfbdf,	0xf02d,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf02c,
+	0xf02e,	0xf009,	0xf104,	0xf105,	0xf106,	0xf02f,	0xf027,	0xf03b,
+	0xf022,	0xf03a,	0xf023,	0xf024,	0xf025,	0xf05f,	0xf026,	0xf02a,
+	0xf028,	0xf07f,	0xf109,	0xf03d,	0xf029,	0xf07e,	0xf03c,	0xf03e,
+	0xf702,	0xf703,	0xf200,	0xf020,	0xf020,	0xf200,	0xf021,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf700,
+	0xf702,	0xf702,	0xf703,	0xf703,	0xf701,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 };
 
-u_short ctrl_map[] = {
+u_short ctrl_map[NR_KEYS] = {
 	0xf200,	0xf001,	0xf002,	0xf003,	0xf004,	0xf005,	0xf006,	0xf007,
 	0xf008,	0xf009,	0xf00a,	0xf00b,	0xf00c,	0xf00d,	0xf00e,	0xf00f,
 	0xf010,	0xf011,	0xf012,	0xf013,	0xf014,	0xf015,	0xf016,	0xf017,
 	0xf018,	0xf019,	0xf01a,	0xf700,	0xf201,	0xf101,	0xf200,	0xf008,
-	0xf208,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf702,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf200,
-	0xf200,	0xf009,	0xf104,	0xf105,	0xf106,	0xf200,	0xf200,	0xf301,
-	0xf302,	0xf303,	0xf304,	0xf305,	0xf306,	0xf307,	0xf308,	0xf309,
-	0xf300,	0xf07f,	0xf30d,	0xf30c,	0xf200,	0xf30b,	0xf30a,	0xf30e,
-	0xf702,	0xf703,	0xf01b,	0xf020,	0xf000,	0xf310,	0xf200,	0xf200,
+	0xf07c,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
+	0xf200,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
+	0xf038,	0xf039,	0xf030,	0xfbe4,	0xfbfc,	0xfbf6,	0xfbc4,	0xfbdc,
+	0xfbd6,	0xfbdf,	0xf02d,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf02c,
+	0xf02e,	0xf009,	0xf104,	0xf105,	0xf106,	0xf02f,	0xf027,	0xf03b,
+	0xf022,	0xf03a,	0xf023,	0xf024,	0xf025,	0xf05f,	0xf026,	0xf02a,
+	0xf028,	0xf07f,	0xf109,	0xf03d,	0xf029,	0xf07e,	0xf03c,	0xf03e,
+	0xf702,	0xf703,	0xf200,	0xf000,	0xf000,	0xf200,	0xf021,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf700,
-	0xf114,	0xf117,	0xf118,	0xf119,	0xf701,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf702,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf702,	0xf702,	0xf703,	0xf703,	0xf701,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 };
 
-u_short shift_ctrl_map[] = {
+u_short shift_ctrl_map[NR_KEYS] = {
 	0xf200,	0xf001,	0xf002,	0xf003,	0xf004,	0xf005,	0xf006,	0xf007,
 	0xf008,	0xf009,	0xf00a,	0xf00b,	0xf00c,	0xf00d,	0xf00e,	0xf00f,
 	0xf010,	0xf011,	0xf012,	0xf013,	0xf014,	0xf015,	0xf016,	0xf017,
 	0xf018,	0xf019,	0xf01a,	0xf700,	0xf201,	0xf101,	0xf200,	0xf008,
-	0xf208,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf702,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf200,
-	0xf200,	0xf009,	0xf104,	0xf105,	0xf106,	0xf200,	0xf200,	0xf301,
-	0xf302,	0xf303,	0xf304,	0xf305,	0xf306,	0xf307,	0xf308,	0xf309,
-	0xf300,	0xf07f,	0xf30d,	0xf30c,	0xf200,	0xf30b,	0xf30a,	0xf30e,
-	0xf702,	0xf703,	0xf01b,	0xf020,	0xf020,	0xf310,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf700,
-	0xf114,	0xf117,	0xf118,	0xf119,	0xf701,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf702,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-};
-
-u_short alt_map[] = {
-	0xf200,	0xf021,	0xf02d,	0xf863,	0xf023,	0xf033,	0xf024,	0xf025,
-	0xf05f,	0xf038,	0xf026,	0xf02a,	0xf028,	0xf03d,	0xf02b,	0xf039,
-	0xf030,	0xf031,	0xf034,	0xf040,	0xf035,	0xf037,	0xf876,	0xf032,
-	0xf878,	0xf036,	0xf87a,	0xf700,	0xf201,	0xf101,	0xf200,	0xf07f,
-	0xf208,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf07d,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf702,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf029,
-	0xf03c,	0xf207,	0xf104,	0xf105,	0xf106,	0xf200,	0xf07e,	0xf301,
-	0xf302,	0xf303,	0xf304,	0xf305,	0xf306,	0xf307,	0xf308,	0xf309,
-	0xf300,	0xf07f,	0xf30d,	0xf30c,	0xf200,	0xf30b,	0xf30a,	0xf30e,
-	0xf702,	0xf703,	0xf01b,	0xf000,	0xf020,	0xf310,	0xf200,	0xf200,
+	0xf07c,	0xf200,	0xf01b,	0xf601,	0xf603,	0xf600,	0xf602,	0xf201,
+	0xf200,	0xf031,	0xf032,	0xf033,	0xf034,	0xf035,	0xf036,	0xf037,
+	0xf038,	0xf039,	0xf030,	0xfbe4,	0xfbfc,	0xfbf6,	0xfbc4,	0xfbdc,
+	0xfbd6,	0xfbdf,	0xf02d,	0xf02b,	0xfa00,	0xf040,	0xf03f,	0xf02c,
+	0xf02e,	0xf009,	0xf104,	0xf105,	0xf106,	0xf02f,	0xf027,	0xf03b,
+	0xf022,	0xf03a,	0xf023,	0xf024,	0xf025,	0xf05f,	0xf026,	0xf02a,
+	0xf028,	0xf07f,	0xf109,	0xf03d,	0xf029,	0xf07e,	0xf03c,	0xf03e,
+	0xf702,	0xf703,	0xf200,	0xf020,	0xf020,	0xf200,	0xf021,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf700,
-	0xf114,	0xf117,	0xf118,	0xf119,	0xf701,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf702,	0xf200,	0xf200,
-	0xf702,	0xf703,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
-	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf702,	0xf702,	0xf703,	0xf703,	0xf701,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
 };
 
 ushort *key_maps[MAX_NR_KEYMAPS] = {
 	plain_map, shift_map, 0, 0,
-	ctrl_map, shift_ctrl_map, 0, 0,
-	alt_map,	0
+	ctrl_map, shift_ctrl_map,	0
 };
 
-unsigned int keymap_count = 5;
+unsigned int keymap_count = 4;
 
 
 /*
--- linux/drivers/char/tosa_keymap.map~tosa_map.patch
+++ linux/drivers/char/tosa_keymap.map
@@ -8,9 +8,8 @@
 #  1 for [SHIFT]
 #  4 for [CTRL]                 , to symbol input for debug
 #  5 for [CTRL] [SHIFT]         , to symbol input for debug
-#  8 for [ALT]
 #
-keymaps 0,1,4,5,8
+keymaps 0,1,4,5
 #
 #  loadkeys --mktable iris_keymap.map
 #
@@ -20,60 +19,38 @@
 #
 #
 keycode 1 = a
-	alt keycode 1 = exclam
 keycode 2 = b
-	alt keycode 2 = minus
 keycode 3 = c
 keycode 4 = d
-	alt keycode 4 = numbersign
 keycode 5 = e
-	alt keycode 5 = three
 keycode 6 = f
-	alt keycode 6 = dollar
 keycode 7 = g
-	alt keycode 7 = percent
 keycode 8 = h
-	alt keycode 8 = underscore
 keycode 9 = i
-	alt keycode 9 = eight
 keycode 10 = j
-	alt keycode 10 = ampersand
 keycode 11 = k
-	alt keycode 11 = asterisk
 keycode 12 = l
-	alt keycode 12 = parenleft
 keycode 13 = m
-	alt keycode 13 = equal
 keycode 14 = n
-	alt keycode 14 = plus
 keycode 15 = o
-	alt keycode 15 = nine
 keycode 16 = p
-	alt keycode 16 = zero
 keycode 17 = q
-	alt keycode 17 = one
 keycode 18 = r
-	alt keycode 18 = four
 keycode 19 = s
-	alt keycode 19 = at
 keycode 20 = t
-	alt keycode 20 = five
 keycode 21 = u
-	alt keycode 21 = seven
 keycode 22 = v
 keycode 23 = w
-	alt keycode 23 = two
 keycode 24 = x
 keycode 25 = y
-	alt keycode 25 = six
 keycode 26 = z
 keycode 27 = Shift
 keycode 28 = Return
 keycode 29 = F2
-keycode 30 = Alt Control
+keycode 30 = 
 keycode 31 = BackSpace
-	alt keycode 31 = Delete
-keycode 32 = Num_Lock
+# for Debug , keycode 32(F3, Sym) --> Control
+keycode 32 = bar
 keycode 33 = 
 # (Cancel:34) F9 -> Escape
 keycode 34 = Escape
@@ -83,100 +60,84 @@
 keycode 38 = Right
 # (OK:39) F4 -> Return 
 keycode 39 = Return
-	alt keycode 39 = braceright
 keycode 40 = 
-keycode 41 = one              exclam
-keycode 42 = two	      quotedbl
-keycode 43 = three	      numbersign      
-keycode 44 = four           dollar          
-keycode 45 = five	    percent
-keycode 46 = six	    ampersand
-keycode 47 = seven	    apostrophe
-keycode 48 = eight	    parenleft
-keycode 49 = nine	    parenright
-keycode 50 = zero	    asciitilde      
-keycode 51 = minus            equal
-keycode 52 = asciicircum      asciitilde
-keycode 53 = backslash        bar
-keycode 54 = bracketleft      braceleft
-keycode 55 = at               grave
-keycode 56 = Control
-keycode 57 = Alt
-keycode 58 = Control
+keycode 41 = one
+keycode 42 = two
+keycode 43 = three
+keycode 44 = four
+keycode 45 = five
+keycode 46 = six
+keycode 47 = seven
+keycode 48 = eight
+keycode 49 = nine
+keycode 50 = zero
+keycode 51 = +adiaeresis
+keycode 52 = +udiaeresis
+keycode 53 = +odiaeresis
+keycode 54 = +Adiaeresis
+keycode 55 = +Udiaeresis
+keycode 56 = +Odiaeresis
+keycode 57 = +ssharp
+keycode 58 = minus
 keycode 59 = plus
 keycode 60 = Shift_Lock
 keycode 61 = at
 keycode 62 = question
-keycode 63 = comma semicolon
-	alt keycode 63 = parenright
-keycode 64 = period colon
-	alt keycode 64 = less
+keycode 63 = comma
+keycode 64 = period
 keycode 65 = Tab
-	alt keycode 65 = Caps_Lock
 keycode 66 = F5
 keycode 67 = F6
 keycode 68 = F7
-keycode 69 = slash question
-keycode 70 = apostrophe quotedbl
-	alt keycode 70 = asciitilde
-keycode 71 = KP_1
-keycode 72 = KP_2
-keycode 73 = KP_3
-keycode 74 = KP_4
-keycode 75 = KP_5
-keycode 76 = KP_6
-keycode 77 = KP_7
-keycode 78 = KP_8
-keycode 79 = KP_9
-keycode 80 = KP_0
+keycode 69 = slash
+keycode 70 = apostrophe
+keycode 71 = semicolon
+keycode 72 = quotedbl
+keycode 73 = colon
+keycode 74 = numbersign
+keycode 75 = dollar
+keycode 76 = percent
+# 2001/7/5 old keycode 77 = asciicircum
+keycode 77 = underscore
+keycode 78 = ampersand
+keycode 79 = asterisk
+keycode 80 = parenleft
 keycode 81 = Delete
-keycode 82 = KP_Divide
-keycode 83 = KP_Multiply     
-keycode 84 = 
-keycode 85 = KP_Subtract
-keycode 86 = KP_Add
-keycode 87 = KP_Enter        
+keycode 82 = F10
+keycode 83 = equal
+keycode 84 = parenright
+keycode 85 = asciitilde
+keycode 86 = less
+keycode 87 = greater
 # (Activity:88) -> Ctrl
 keycode 88 = Control
 # (Contacts:89) -> Alt
 keycode 89 = Alt
-keycode 90 = Escape
+keycode 90 = 
 # (select:91) F11 -> space
 keycode 91 = space
-	alt keycode 91 = nul
+	control keycode  91 = nul             
 keycode 92 = space
 	control keycode  92 = nul             
-keycode 93 = KP_Period
-keycode 94 =
-keycode 95 = semicolon        plus
-keycode 96 = colon            asterisk
-keycode 97 = bracketright     braceright
-keycode 98 = comma            less
-keycode 99 = period           greater
-keycode 100 = slash            question
-keycode 101 = underscore       underscore
+keycode 93 = 
+keycode 94 = exclam
+keycode 95 = 
+keycode 96 = 
+keycode 97 = 
+keycode 98 = 
+keycode 99 = 
+keycode 100 = 
+keycode 101 = 
 keycode 102 = 
 keycode 103 = Shift
-keycode 104 = Find
-keycode 105 = Select
-keycode 106 = Prior
-	shift   keycode 106 = Scroll_Backward 
-keycode 107 = Next
-	shift   keycode 107 = Scroll_Forward  
+keycode 104 = Control
+keycode 105 = Control
+keycode 106 = Alt
+keycode 107 = Alt
 keycode 108 = AltGr
 keycode 109 = 
 keycode 110 = 
 keycode 111 = 
-keycode 112 = 
-keycode 113 = 
-keycode 114 =
-keycode 115 = 
-keycode 116 = 
-keycode 117 = Control 
-keycode 118 = 
-keycode 119 = 
-keycode 120 = Control
-keycode 121 = Alt
 
 
 string F1 = "\033[[A"
--- linux/drivers/char/tosa_rawmap.h~tosa_map.patch
+++ linux/drivers/char/tosa_rawmap.h
@@ -22,28 +22,156 @@
 
 
 static unsigned char rawkeytable_table_NormalLower[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_W,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_K,	SLKEY_BACK_SPACE,
+SLKEY_P,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Q,	SLKEY_E,	SLKEY_T,	SLKEY_Y,	KEY_IGN,	SLKEY_O,	SLKEY_I,	
+SLKEY_COMMA,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_A,	SLKEY_D,	SLKEY_G,	SLKEY_U,	KEY_IGN,	SLKEY_L,	SLKEY_ENTER,
+SLKEY_PERIOD,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Z,	SLKEY_C,	SLKEY_V,	SLKEY_J,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,	
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_S,	SLKEY_R,	SLKEY_B,	SLKEY_N,	SLKEY_ACTIVITY,	SLKEY_HOME,SLKEY_MINUS,
+SLKEY_FRONTLIGHT,KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_TAB,	SLKEY_SLASH,	SLKEY_H,	SLKEY_M,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,	
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_X,	SLKEY_F,	SLKEY_SPACE,	SLKEY_APOSTROPHE,SLKEY_MAIL,	SLKEY_LEFT,SLKEY_DOWN,	
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_NormalUpper[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_W,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_K,	SLKEY_BACK_SPACE,
+SLKEY_P,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Q,	SLKEY_E,	SLKEY_T,	SLKEY_Y,	KEY_IGN,	SLKEY_O,	SLKEY_I,	
+SLKEY_SEMICOLON,KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_A,	SLKEY_D,	SLKEY_G,	SLKEY_U,	KEY_IGN,	SLKEY_L,	SLKEY_ENTER,
+SLKEY_COLON,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Z,	SLKEY_C,	SLKEY_V,	SLKEY_J,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,	
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_S,	SLKEY_R,	SLKEY_B,	SLKEY_N,	SLKEY_ACTIVITY,	SLKEY_HOME,	SLKEY_MINUS,
+SLKEY_FRONTLIGHT, KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_TAB,	SLKEY_QUESTION,	SLKEY_H,	SLKEY_M,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,	
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_X,	SLKEY_F,	SLKEY_SPACE,	SLKEY_QUOTEDBL,	SLKEY_MAIL,	SLKEY_LEFT,	SLKEY_DOWN,	
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_2ndLower[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_2,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_ASTERISK,	SLKEY_DELETE,
+SLKEY_0,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_1,	SLKEY_3,	SLKEY_5,	SLKEY_6,	KEY_IGN,	SLKEY_9,	SLKEY_8,	
+SLKEY_PARENRIGHT, KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_EXCLAM,	SLKEY_NUMBERSIGN, SLKEY_PERCENT,SLKEY_7,	KEY_IGN,	SLKEY_PARENLEFT,SLKEY_GREATER,
+SLKEY_LESS,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F10,	SLKEY_F6,	SLKEY_F7,	SLKEY_AMPERSAND,SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,	
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_AT,	SLKEY_4,	SLKEY_MINUS,	SLKEY_PLUS,	SLKEY_ACTIVITY,	SLKEY_HOME,	SLKEY_MINUS,
+SLKEY_FRONTLIGHT, KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_CAPS_LOCK,SLKEY_NUMLOCK,	SLKEY_ASCIICIRCUM, SLKEY_EQUAL,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,	
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F5,	SLKEY_DOLLAR,	SLKEY_SYM,	SLKEY_ASCIITILDE, SLKEY_MAIL,	SLKEY_LEFT,	SLKEY_DOWN,	
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_2ndUpper[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_2,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_ASTERISK,	SLKEY_DELETE,
+SLKEY_0,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_1,	SLKEY_3,	SLKEY_5,	SLKEY_6,	KEY_IGN,	SLKEY_9,	SLKEY_8,    
+SLKEY_PARENRIGHT, KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_EXCLAM,	SLKEY_NUMBERSIGN, SLKEY_PERCENT,SLKEY_7,	KEY_IGN,	SLKEY_PARENLEFT,SLKEY_GREATER,
+SLKEY_LESS,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F10,	SLKEY_F6,	SLKEY_F7,	SLKEY_AMPERSAND,SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,  
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_AT,	SLKEY_4,	SLKEY_MINUS,	SLKEY_PLUS,	SLKEY_ACTIVITY,	SLKEY_HOME,	SLKEY_MINUS,
+SLKEY_FRONTLIGHT, KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_CAPS_LOCK,SLKEY_NUMLOCK,	SLKEY_ASCIICIRCUM, SLKEY_EQUAL,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,   
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F5,	SLKEY_DOLLAR,	SLKEY_SYM,	SLKEY_ASCIITILDE, SLKEY_MAIL,	SLKEY_LEFT,	SLKEY_DOWN, 
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_NumlockLower[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,		KEY_IGN,	SLKEY_2,		KEY_IGN,		KEY_IGN,		KEY_IGN,	SLKEY_ASTERISK,	SLKEY_BACK_SPACE,
+SLKEY_0,		KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_OFF,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_1,	SLKEY_3,		SLKEY_5,		SLKEY_6,		KEY_IGN,	SLKEY_9,	SLKEY_8,    
+SLKEY_PARENRIGHT,	KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_RECORDER,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_EXCLAM,	SLKEY_NUMBERSIGN,	SLKEY_PERCENT,		SLKEY_7,		KEY_IGN,	SLKEY_PARENLEFT,SLKEY_GREATER,
+SLKEY_LESS,		KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_SYNCSTART,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_F10,	SLKEY_F6,		SLKEY_F7,		SLKEY_AMPERSAND,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,  
+SLKEY_F4,		SLKEY_LSHIFT,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_AT,	SLKEY_4,		SLKEY_MINUS,		SLKEY_PLUS,		SLKEY_ACTIVITY,	SLKEY_HOME,	SLKEY_MINUS,
+SLKEY_FRONTLIGHT,	KEY_IGN,	SLKEY_RSHIFT,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_TAB,	SLKEY_SLASH,		SLKEY_ASCIICIRCUM,	SLKEY_EQUAL,		SLKEY_F2,	KEY_IGN,	SLKEY_UP,   
+KEY_IGN,		KEY_IGN,	KEY_IGN,		SLKEY_2ND,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_F5,	SLKEY_DOLLAR,		SLKEY_SPACE,		SLKEY_ASCIITILDE,	SLKEY_MAIL,	SLKEY_LEFT,	SLKEY_DOWN, 
+SLKEY_RIGHT,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_NumlockUpper[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,		KEY_IGN,	SLKEY_2,		KEY_IGN,		KEY_IGN,		KEY_IGN,	SLKEY_ASTERISK,	SLKEY_BACK_SPACE,
+SLKEY_0,		KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_OFF,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_1,	SLKEY_3,		SLKEY_5,		SLKEY_6,		KEY_IGN,	SLKEY_9,	SLKEY_8,    
+SLKEY_PARENRIGHT,	KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_RECORDER,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_EXCLAM,	SLKEY_NUMBERSIGN,	SLKEY_PERCENT,		SLKEY_7,		KEY_IGN,	SLKEY_PARENLEFT,SLKEY_GREATER,
+SLKEY_LESS,		KEY_IGN,	KEY_IGN,		KEY_IGN,		SLKEY_SYNCSTART,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_F10,	SLKEY_F6,		SLKEY_F7,		SLKEY_AMPERSAND,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,  
+SLKEY_F4,		SLKEY_LSHIFT,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_AT,	SLKEY_4,		SLKEY_MINUS,		SLKEY_PLUS,		SLKEY_ACTIVITY,	SLKEY_HOME,	SLKEY_MINUS,
+SLKEY_FRONTLIGHT,	KEY_IGN,	SLKEY_RSHIFT,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_TAB,	SLKEY_QUESTION,		SLKEY_ASCIICIRCUM,	SLKEY_EQUAL,		SLKEY_F2,	KEY_IGN,	SLKEY_UP,   
+KEY_IGN,		KEY_IGN,	KEY_IGN,		SLKEY_2ND,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		SLKEY_F5,	SLKEY_DOLLAR,		SLKEY_SPACE,		SLKEY_ASCIITILDE,	SLKEY_MAIL,	SLKEY_LEFT,	SLKEY_DOWN, 
+SLKEY_RIGHT,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,		KEY_IGN,	KEY_IGN,		KEY_IGN,		KEY_IGN,		KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_Num2ndLower[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_C,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_W,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_K,	SLKEY_DELETE,
+SLKEY_P,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Q,	SLKEY_E,	SLKEY_T,	SLKEY_Y,	KEY_IGN,	SLKEY_O,	SLKEY_I,	
+SLKEY_COMMA,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_A,	SLKEY_D,	SLKEY_G,	SLKEY_U,	KEY_IGN,	SLKEY_L,	SLKEY_ENTER,
+SLKEY_PERIOD,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Z,	SLKEY_F6,	SLKEY_F7,	SLKEY_J,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,	
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_S,	SLKEY_R,	SLKEY_B,	SLKEY_N,	SLKEY_ACTIVITY,	SLKEY_HOME,SLKEY_MINUS,
+SLKEY_FRONTLIGHT,KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_CAPS_LOCK, SLKEY_NUMLOCK,	SLKEY_H,	SLKEY_M,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,	
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F5,	SLKEY_F,	SLKEY_SYM,	SLKEY_APOSTROPHE,SLKEY_MAIL,	SLKEY_LEFT,SLKEY_DOWN,	
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 static unsigned char rawkeytable_table_Num2ndUpper[(NR_KEYCODES+1)] = {
-KEY_IGN,KEY_IGN,SLKEY_W,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_K,SLKEY_BACK_SPACE,SLKEY_P,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_OFF,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Q,SLKEY_E,SLKEY_T,SLKEY_Y,KEY_IGN,SLKEY_O,SLKEY_I,SLKEY_COMMA,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_RECORDER,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_A,SLKEY_D,SLKEY_G,SLKEY_U,KEY_IGN,SLKEY_L,SLKEY_ENTER,SLKEY_PERIOD,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_SYNCSTART,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_Z,SLKEY_PRINTSCREEN,SLKEY_V,SLKEY_J,SLKEY_CONTACTS,SLKEY_F9,SLKEY_F11,SLKEY_F4,SLKEY_LSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_S,SLKEY_R,SLKEY_B,SLKEY_N,SLKEY_ACTIVITY,SLKEY_HOME,SLKEY_MINUS,SLKEY_FRONTLIGHT,KEY_IGN,SLKEY_RSHIFT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_TAB,SLKEY_SLASH,SLKEY_H,SLKEY_M,SLKEY_F2,KEY_IGN,SLKEY_UP,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_2ND,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,SLKEY_X,SLKEY_F,SLKEY_SPACE,SLKEY_APOSTROPHE,SLKEY_MAIL,SLKEY_LEFT,SLKEY_DOWN,SLKEY_RIGHT,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN,KEY_IGN};
+KEY_IGN,	KEY_IGN,	SLKEY_W,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_K,	SLKEY_DELETE,
+SLKEY_P,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_OFF,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Q,	SLKEY_E,	SLKEY_T,	SLKEY_Y,	KEY_IGN,	SLKEY_O,	SLKEY_I,	
+SLKEY_SEMICOLON,KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_RECORDER,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_A,	SLKEY_D,	SLKEY_G,	SLKEY_U,	KEY_IGN,	SLKEY_L,	SLKEY_ENTER,
+SLKEY_COLON,	KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_SYNCSTART,KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_Z,	SLKEY_F6,	SLKEY_F7,	SLKEY_J,	SLKEY_CONTACTS,	SLKEY_F9,	SLKEY_F11,	
+SLKEY_F4,	SLKEY_LSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_S,	SLKEY_R,	SLKEY_B,	SLKEY_N,	SLKEY_ACTIVITY,	SLKEY_HOME,SLKEY_MINUS,
+SLKEY_FRONTLIGHT,KEY_IGN,	SLKEY_RSHIFT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_CAPS_LOCK, SLKEY_NUMLOCK,	SLKEY_H,	SLKEY_M,	SLKEY_F2,	KEY_IGN,	SLKEY_UP,	
+KEY_IGN,	KEY_IGN,	KEY_IGN,	SLKEY_2ND,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	SLKEY_F5,	SLKEY_F,	SLKEY_SYM,	SLKEY_QUOTEDBL,	SLKEY_MAIL,	SLKEY_LEFT,SLKEY_DOWN,	
+SLKEY_RIGHT,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,
+KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN,	KEY_IGN
+};
 
 
 
@@ -334,7 +462,87 @@
 
 
 static unsigned char *state_to_keymap[STATE_NUMS_TOTAL] = {
-rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NormalLower,rawkeytable_table_NormalUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_2ndLower,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockLower,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndLower,rawkeytable_table_Num2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NormalUpper,rawkeytable_table_NormalUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_NumlockUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper,rawkeytable_table_Num2ndUpper};
+rawkeytable_table_NormalLower,	/*S0*/
+rawkeytable_table_NormalUpper,	/*S1*/
+rawkeytable_table_2ndLower,	/*S2*/
+rawkeytable_table_2ndUpper,	/*S3*/
+rawkeytable_table_2ndLower,	/*S4*/
+rawkeytable_table_2ndUpper,	/*S5*/
+rawkeytable_table_2ndLower,	/*S6*/
+rawkeytable_table_2ndUpper,	/*S7*/
+rawkeytable_table_2ndLower,	/*S8*/
+rawkeytable_table_2ndUpper,	/*S9*/
+rawkeytable_table_NormalLower,	/*S10*/
+rawkeytable_table_NormalUpper,	/*S11*/
+rawkeytable_table_2ndLower,	/*S12*/
+rawkeytable_table_2ndUpper,	/*S13*/
+rawkeytable_table_2ndLower,	/*S14*/
+rawkeytable_table_2ndUpper,	/*S15*/
+rawkeytable_table_2ndLower,	/*S16*/
+rawkeytable_table_2ndUpper,	/*S17*/
+rawkeytable_table_2ndLower,	/*S18*/
+rawkeytable_table_2ndUpper,	/*S19*/
+rawkeytable_table_NumlockLower,	/*S20*/
+rawkeytable_table_NumlockUpper,	/*S21*/
+rawkeytable_table_Num2ndLower,	/*S22*/
+rawkeytable_table_Num2ndUpper,	/*S23*/
+rawkeytable_table_Num2ndLower,	/*S24*/
+rawkeytable_table_Num2ndUpper,	/*S25*/
+rawkeytable_table_Num2ndLower,	/*S26*/
+rawkeytable_table_Num2ndUpper,	/*S27*/
+rawkeytable_table_Num2ndLower,	/*S28*/
+rawkeytable_table_Num2ndUpper,	/*S29*/
+rawkeytable_table_NumlockLower,	/*S30*/
+rawkeytable_table_NumlockUpper,	/*S31*/
+rawkeytable_table_Num2ndLower,	/*S32*/
+rawkeytable_table_Num2ndUpper,	/*S33*/
+rawkeytable_table_Num2ndLower,	/*S34*/
+rawkeytable_table_Num2ndUpper,	/*S35*/
+rawkeytable_table_Num2ndLower,	/*S36*/
+rawkeytable_table_Num2ndUpper,	/*S37*/
+rawkeytable_table_Num2ndLower,	/*S38*/
+rawkeytable_table_Num2ndUpper,	/*S39*/
+rawkeytable_table_NormalUpper,	/*S40*/
+rawkeytable_table_NormalUpper,	/*S41*/
+rawkeytable_table_2ndUpper,	/*S42*/
+rawkeytable_table_2ndUpper,	/*S43*/
+rawkeytable_table_2ndUpper,	/*S44*/
+rawkeytable_table_2ndUpper,	/*S45*/
+rawkeytable_table_2ndUpper,	/*S46*/
+rawkeytable_table_2ndUpper,	/*S47*/
+rawkeytable_table_2ndUpper,	/*S48*/
+rawkeytable_table_2ndUpper,	/*S49*/
+rawkeytable_table_NormalUpper,	/*S50*/
+rawkeytable_table_NormalUpper,	/*S51*/
+rawkeytable_table_2ndUpper,	/*S52*/
+rawkeytable_table_2ndUpper,	/*S53*/
+rawkeytable_table_2ndUpper,	/*S54*/
+rawkeytable_table_2ndUpper,	/*S55*/
+rawkeytable_table_2ndUpper,	/*S56*/
+rawkeytable_table_2ndUpper,	/*S57*/
+rawkeytable_table_2ndUpper,	/*S58*/
+rawkeytable_table_2ndUpper,	/*S59*/
+rawkeytable_table_NumlockUpper,	/*S60*/
+rawkeytable_table_NumlockUpper,	/*S61*/
+rawkeytable_table_Num2ndUpper,	/*S62*/
+rawkeytable_table_Num2ndUpper,	/*S63*/
+rawkeytable_table_Num2ndUpper,	/*S64*/
+rawkeytable_table_Num2ndUpper,	/*S65*/
+rawkeytable_table_Num2ndUpper,	/*S66*/
+rawkeytable_table_Num2ndUpper,	/*S67*/
+rawkeytable_table_Num2ndUpper,	/*S68*/
+rawkeytable_table_Num2ndUpper,	/*S69*/
+rawkeytable_table_NumlockUpper,	/*S70*/
+rawkeytable_table_NumlockUpper,	/*S71*/
+rawkeytable_table_Num2ndUpper,	/*S72*/
+rawkeytable_table_Num2ndUpper,	/*S73*/
+rawkeytable_table_Num2ndUpper,	/*S74*/
+rawkeytable_table_Num2ndUpper,	/*S75*/
+rawkeytable_table_Num2ndUpper,	/*S76*/
+rawkeytable_table_Num2ndUpper,	/*S77*/
+rawkeytable_table_Num2ndUpper,	/*S78*/
+rawkeytable_table_Num2ndUpper	/*S79*/
+};
 
 
 #endif /* ! __KEYTABLE_H_INCLUDED__ */