diff options
author | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2016-12-28 04:55:51 +0900 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-01-10 08:14:20 +0100 |
commit | e934644126f214a99bb3b3201f73fe7f0c579ef7 (patch) | |
tree | 0d522d9cb167bee480accc28277401602c724336 /hw | |
parent | f27ff81070b0cc4f5906361964563cc680febe2d (diff) |
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')
-rw-r--r-- | hw/input/ps2.c | 10 |
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] = { |