From b771f470f3e2f99f585eaae68147f0c849fd1f8d Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 26 May 2015 10:39:10 +0200 Subject: kbd: add brazil kbd keys to qemu The brazilian computer keyboard layout has two extra keys (compared to the usual 105-key intl ps/2 keyboard). This patch makes these two keys known to qemu. For historic reasons qemu has two ways to specify a key: A QKeyCode (name-based) or a number (ps/2 scancode based). Therefore we have to update multiple places to make new keys known to qemu: (1) The QKeyCode definition in qapi-schema.json (2) The QKeyCode <-> number mapping table in ui/input-keymap.c This patch does just that. With this patch applied you can send those two keys to the guest using the send-key monitor command. Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann Reviewed-by: Markus Armbruster Reviewed-by: Daniel P. Berrange Reviewed-by: Michael Tokarev --- ui/input-keymap.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ui') diff --git a/ui/input-keymap.c b/ui/input-keymap.c index 5d299353a8..7635cb0dc4 100644 --- a/ui/input-keymap.c +++ b/ui/input-keymap.c @@ -128,6 +128,10 @@ static const int qcode_to_number[] = { [Q_KEY_CODE_INSERT] = 0xd2, [Q_KEY_CODE_DELETE] = 0xd3, + + [Q_KEY_CODE_RO] = 0x73, + [Q_KEY_CODE_KP_COMMA] = 0x7e, + [Q_KEY_CODE_MAX] = 0, }; -- cgit v1.2.3 From 33aa30cafcce053b833f9fe09fbb88e2f54b93aa Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 26 May 2015 13:12:54 +0200 Subject: kbd: add brazil kbd keys to x11 evdev map This patch adds the two extra brazilian keys to the evdev keymap for X11. This patch gets the two keys going with the vnc, gtk and sdl1 UIs. The SDL2 library complains it doesn't know these keys, so the SDL2 library must be fixed before we can update ui/sdl2-keymap.h Cc: qemu-stable@nongnu.org Signed-off-by: Gerd Hoffmann Reviewed-by: Markus Armbruster Reviewed-by: Daniel P. Berrange Reviewed-by: Michael Tokarev --- ui/x_keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ui') diff --git a/ui/x_keymap.c b/ui/x_keymap.c index b9b0944180..1a773174f6 100644 --- a/ui/x_keymap.c +++ b/ui/x_keymap.c @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = { */ static const uint8_t evdev_keycode_to_pc_keycode[61] = { - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */ + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */ 0, /* 98 EVDEV - KATA (Katakana) */ 0, /* 99 EVDEV - HIRA (Hiragana) */ 0x79, /* 100 EVDEV - HENK (Henkan) */ @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = { 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */ 0, /* 127 EVDEV - PAUS */ 0, /* 128 EVDEV - ???? */ - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */ + 0x7e, /* 129 EVDEV - KP_COMMA (brazilian) */ 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */ 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */ 0x7d, /* 132 AE13 (Yen)*/ -- cgit v1.2.3