From ceca6ddf26fd0a3a775c7b91679f09d344c5b754 Mon Sep 17 00:00:00 2001 From: Hiroyuki YAMAMORI <> Date: Thu, 17 Oct 2013 00:49:05 +0200 Subject: [PATCH] Handle Japanese special keys. Reported by: Hiroyuki YAMAMORI. Codes supplied by: Hiroyuki YAMAMORI. --- ChangeLog | 6 ++++++ grub-core/term/at_keyboard.c | 3 ++- include/grub/keyboard_layouts.h | 1 + util/grub-mklayout.c | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 47ea279bf..127e532f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-10-16 Hiroyuki YAMAMORI + + Handle Japanese special keys. + Reported by: Hiroyuki YAMAMORI. + Codes supplied by: Hiroyuki YAMAMORI. + 2013-10-16 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added. diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c index e773206e9..2bfa5c815 100644 --- a/grub-core/term/at_keyboard.c +++ b/grub-core/term/at_keyboard.c @@ -108,6 +108,7 @@ static const grub_uint8_t set1_mapping[128] = /* 0x78 */ 0, 0, /* 0x7a */ 0, 0, /* 0x7c */ 0, GRUB_KEYBOARD_KEY_JP_YEN, + /* 0x7e */ GRUB_KEYBOARD_KEY_KPCOMMA }; static const struct @@ -187,7 +188,7 @@ static const grub_uint8_t set2_mapping[256] = /* 0x66 */ GRUB_KEYBOARD_KEY_BACKSPACE, 0, /* 0x68 */ 0, GRUB_KEYBOARD_KEY_NUM1, /* 0x6a */ GRUB_KEYBOARD_KEY_JP_YEN, GRUB_KEYBOARD_KEY_NUM4, - /* 0x6c */ GRUB_KEYBOARD_KEY_NUM7, 0, + /* 0x6c */ GRUB_KEYBOARD_KEY_NUM7, GRUB_KEYBOARD_KEY_KPCOMMA, /* 0x6e */ 0, 0, /* 0x70 */ GRUB_KEYBOARD_KEY_NUMDOT, GRUB_KEYBOARD_KEY_NUM0, /* 0x72 */ GRUB_KEYBOARD_KEY_NUM2, GRUB_KEYBOARD_KEY_NUM5, diff --git a/include/grub/keyboard_layouts.h b/include/grub/keyboard_layouts.h index 8d94490c8..1bad286f9 100644 --- a/include/grub/keyboard_layouts.h +++ b/include/grub/keyboard_layouts.h @@ -129,6 +129,7 @@ typedef enum grub_keyboard_key GRUB_KEYBOARD_KEY_NUM0 = 0x62, GRUB_KEYBOARD_KEY_NUMDOT = 0x63, GRUB_KEYBOARD_KEY_102ND = 0x64, + GRUB_KEYBOARD_KEY_KPCOMMA = 0x85, GRUB_KEYBOARD_KEY_JP_RO = 0x87, GRUB_KEYBOARD_KEY_JP_YEN = 0x89, GRUB_KEYBOARD_KEY_LEFT_CTRL = 0xe0, diff --git a/util/grub-mklayout.c b/util/grub-mklayout.c index 94d1fa553..b90546e12 100644 --- a/util/grub-mklayout.c +++ b/util/grub-mklayout.c @@ -266,7 +266,7 @@ static grub_uint8_t linux_to_usb_map[128] = { /* 0x72 */ 0, GRUB_KEYBOARD_KEY_JP_RO, /* 0x74 */ 0, 0, /* 0x76 */ 0, 0, - /* 0x78 */ 0, 0, + /* 0x78 */ 0, GRUB_KEYBOARD_KEY_KPCOMMA, /* 0x7a */ 0, 0, /* 0x7c */ GRUB_KEYBOARD_KEY_JP_YEN, };