Package: grub2 Version: 1.99-22.1 Severity: normal Tags: patch Hello,
I tried to setup japanese keyboard layout then some problem occuerd: $ grub-kbdcomp jp Unknown keycode 0x7c Unknown keycode 0x59 # cp jp.gkb /boot/grub/ "grub.cfg" insmod at_keyboard insmod keylayouts terminal_input at_keyboard keymap /boot/grub/jp.gkb grub> (no echo at hit '\' keys: upper right side and lower right side) So, I made patch. it modifies grub-mklayout and at_keyboard.mod. Thanks, Hiroyuki YAMAMORI
--- grub-1.99~2.00/grub-core/term/at_keyboard.c 2011-05-14 07:47:57.000000000 +0900 +++ new/grub-core/term/at_keyboard.c 2012-07-09 22:48:33.000000000 +0900 @@ -97,7 +97,17 @@ /* OLPC keys. Just mapped to normal keys. */ /* 0x64 */ 0, GRUB_KEYBOARD_KEY_UP, /* 0x66 */ GRUB_KEYBOARD_KEY_DOWN, GRUB_KEYBOARD_KEY_LEFT, - /* 0x68 */ GRUB_KEYBOARD_KEY_RIGHT + /* 0x68 */ GRUB_KEYBOARD_KEY_RIGHT, 0, + /* 0x6a */ 0, 0, + /* 0x6c */ 0, 0, + /* 0x6e */ 0, 0, + /* 0x70 */ 0, 0, + /* 0x72 */ 0, GRUB_KEYBOARD_KEY_JPBACKSLASH, + /* 0x74 */ 0, 0, + /* 0x76 */ 0, 0, + /* 0x78 */ 0, 0, + /* 0x7a */ 0, 0, + /* 0x7c */ 0, GRUB_KEYBOARD_KEY_JPYEN }; static const struct --- grub-1.99~2.00/include/grub/keyboard_layouts.h 2010-12-01 23:45:43.000000000 +0900 +++ new/include/grub/keyboard_layouts.h 2012-07-09 22:30:35.000000000 +0900 @@ -129,6 +129,8 @@ GRUB_KEYBOARD_KEY_NUM0 = 0x62, GRUB_KEYBOARD_KEY_NUMDOT = 0x63, GRUB_KEYBOARD_KEY_102ND = 0x64, + GRUB_KEYBOARD_KEY_JPBACKSLASH = 0x70, + GRUB_KEYBOARD_KEY_JPYEN = 0x71, GRUB_KEYBOARD_KEY_LEFT_CTRL = 0xe0, GRUB_KEYBOARD_KEY_LEFT_SHIFT = 0xe1, GRUB_KEYBOARD_KEY_LEFT_ALT = 0xe2, --- grub-1.99~2.00/util/grub-mklayout.c 2011-01-12 04:41:07.000000000 +0900 +++ new/util/grub-mklayout.c 2012-07-09 22:37:13.000000000 +0900 @@ -242,7 +242,7 @@ /* 0x52 */ GRUB_KEYBOARD_KEY_NUMDOT, GRUB_KEYBOARD_KEY_NUMDOT, /* 0x54 */ 0, 0, /* 0x56 */ GRUB_KEYBOARD_KEY_102ND, GRUB_KEYBOARD_KEY_F11, - /* 0x58 */ GRUB_KEYBOARD_KEY_F12, 0, + /* 0x58 */ GRUB_KEYBOARD_KEY_F12, GRUB_KEYBOARD_KEY_JPBACKSLASH, /* 0x5a */ 0, 0, /* 0x5c */ 0, 0, /* 0x5e */ 0, 0, @@ -253,7 +253,14 @@ /* 0x68 */ GRUB_KEYBOARD_KEY_PPAGE, GRUB_KEYBOARD_KEY_LEFT, /* 0x6a */ GRUB_KEYBOARD_KEY_RIGHT, GRUB_KEYBOARD_KEY_END, /* 0x6c */ GRUB_KEYBOARD_KEY_DOWN, GRUB_KEYBOARD_KEY_NPAGE, - /* 0x6e */ GRUB_KEYBOARD_KEY_INSERT, GRUB_KEYBOARD_KEY_DELETE + /* 0x6e */ GRUB_KEYBOARD_KEY_INSERT, GRUB_KEYBOARD_KEY_DELETE, + /* 0x70 */ 0, 0, + /* 0x72 */ 0, 0, + /* 0x74 */ 0, 0, + /* 0x76 */ 0, 0, + /* 0x78 */ 0, 0, + /* 0x7a */ 0, 0, + /* 0x7c */ GRUB_KEYBOARD_KEY_JPYEN }; static void