Index: sdl.c
===================================================================
RCS file: /sources/qemu/qemu/sdl.c,v
retrieving revision 1.23
diff -u -r1.23 sdl.c
--- sdl.c	30 Oct 2005 23:19:10 -0000	1.23
+++ sdl.c	26 Feb 2006 07:14:30 -0000
@@ -92,6 +92,10 @@
     keysym = ev->keysym.sym;
     if (keysym == 0 && ev->keysym.scancode == 113)
         keysym = SDLK_MODE;
+    /* For Japanese key '\' and '|' */
+    if (keysym == 92 && ev->keysym.scancode == 133) {
+        keysym = 0xa5;
+    }
     return keysym2scancode(kbd_layout, keysym);
 }
 
@@ -106,7 +110,7 @@
 
 #else
 
-static const uint8_t x_keycode_to_pc_keycode[61] = {
+static const uint8_t x_keycode_to_pc_keycode[115] = {
    0xc7,      /*  97  Home   */
    0xc8,      /*  98  Up     */
    0xc9,      /*  99  PgUp   */
@@ -130,10 +134,10 @@
    0x0,         /* 117 */
    0x0,         /* 118 */
    0x0,         /* 119 */
-   0x70,         /* 120 Hiragana_Katakana */
+   0x0,         /* 120 */
    0x0,         /* 121 */
    0x0,         /* 122 */
-   0x73,         /* 123 backslash */
+   0x0,         /* 123 */
    0x0,         /* 124 */
    0x0,         /* 125 */
    0x0,         /* 126 */
@@ -168,6 +172,24 @@
    0x51,         /* 155 KP_PgDn */
    0x52,         /* 156 KP_Ins */
    0x53,         /* 157 KP_Del */
+   0x0,         /* 158 */
+   0x0,         /* 159 */
+   0x0,         /* 160 */
+   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,         /* 170 */
+   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,         /* 180 */
+   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,         /* 190 */
+   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,         /* 200 */
+   0x0,         /* 201 */
+   0x0,         /* 202 */
+   0x0,         /* 203 */
+   0x0,         /* 204 */
+   0x0,         /* 205 */
+   0x0,         /* 206 */
+   0x0,         /* 207 */
+   0x70,         /* 208 Hiragana_Katakana */
+   0x0,         /* 209 */
+   0x0,         /* 210 */
+   0x73,         /* 211 backslash */
 };
 
 static uint8_t sdl_keyevent_to_keycode(const SDL_KeyboardEvent *ev)
@@ -180,7 +202,7 @@
         keycode = 0;
     } else if (keycode < 97) {
         keycode -= 8; /* just an offset */
-    } else if (keycode < 158) {
+    } else if (keycode < 212) {
         /* use conversion table */
         keycode = x_keycode_to_pc_keycode[keycode - 97];
     } else {
Index: keymaps/ja
===================================================================
RCS file: /sources/qemu/qemu/keymaps/ja,v
retrieving revision 1.1
diff -u -r1.1 ja
--- keymaps/ja	12 Dec 2004 16:56:30 -0000	1.1
+++ keymaps/ja	26 Feb 2006 07:14:30 -0000
@@ -97,6 +97,7 @@
 Execute 0x54 shift
 Kanji 0x70
 backslash 0x73
+yen 0x7d
 bar 0x7d shift
 underscore 0x73 shift
 Henkan_Mode 0x79
