summaryrefslogtreecommitdiffstats
path: root/hw/input/ps2.c
diff options
context:
space:
mode:
authorOGAWA Hirofumi2016-12-27 20:55:51 +0100
committerGerd Hoffmann2017-01-10 08:14:20 +0100
commite934644126f214a99bb3b3201f73fe7f0c579ef7 (patch)
tree0d522d9cb167bee480accc28277401602c724336 /hw/input/ps2.c
parentcurses: Fix compiler warnings (Mingw-w64 redefinition of macro KEY_EVENT) (diff)
downloadqemu-e934644126f214a99bb3b3201f73fe7f0c579ef7.tar.gz
qemu-e934644126f214a99bb3b3201f73fe7f0c579ef7.tar.xz
qemu-e934644126f214a99bb3b3201f73fe7f0c579ef7.zip
ps2: Fix lost scancodes by recent changes
With "ps2: use QEMU qcodes instead of scancodes", key handling was changed to qcode base. But all scancodes are not converted to new one. This adds some missing qcodes/scancodes what I found in using. [set1 and set3 are from <hpoussin@reactos.org>] Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Reviewed-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/input/ps2.c')
-rw-r--r--hw/input/ps2.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 0d14de08a6..8485a4edaf 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -252,6 +252,9 @@ static const uint16_t qcode_to_keycode_set1[Q_KEY_CODE__MAX] = {
[Q_KEY_CODE_ASTERISK] = 0x37,
[Q_KEY_CODE_LESS] = 0x56,
[Q_KEY_CODE_RO] = 0x73,
+ [Q_KEY_CODE_HIRAGANA] = 0x70,
+ [Q_KEY_CODE_HENKAN] = 0x79,
+ [Q_KEY_CODE_YEN] = 0x7d,
[Q_KEY_CODE_KP_COMMA] = 0x7e,
};
@@ -394,6 +397,9 @@ static const uint16_t qcode_to_keycode_set2[Q_KEY_CODE__MAX] = {
[Q_KEY_CODE_LESS] = 0x61,
[Q_KEY_CODE_SYSRQ] = 0x7f,
[Q_KEY_CODE_RO] = 0x51,
+ [Q_KEY_CODE_HIRAGANA] = 0x13,
+ [Q_KEY_CODE_HENKAN] = 0x64,
+ [Q_KEY_CODE_YEN] = 0x6a,
[Q_KEY_CODE_KP_COMMA] = 0x6d,
};
@@ -504,6 +510,10 @@ static const uint16_t qcode_to_keycode_set3[Q_KEY_CODE__MAX] = {
[Q_KEY_CODE_COMMA] = 0x41,
[Q_KEY_CODE_DOT] = 0x49,
[Q_KEY_CODE_SLASH] = 0x4a,
+
+ [Q_KEY_CODE_HIRAGANA] = 0x87,
+ [Q_KEY_CODE_HENKAN] = 0x86,
+ [Q_KEY_CODE_YEN] = 0x5d,
};
static uint8_t translate_table[256] = {