Commit e9346441 authored by OGAWA Hirofumi's avatar OGAWA Hirofumi Committed by Gerd Hoffmann
Browse files

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: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Reviewed-by: default avatarHervé Poussineau <hpoussin@reactos.org>
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent f27ff810
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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] = {
+5 −1
Original line number Diff line number Diff line
@@ -3618,6 +3618,9 @@
# @kp_comma: since 2.4
# @kp_equals: since 2.6
# @power: since 2.6
# @hiragana: since 2.9
# @henkan: since 2.9
# @yen: since 2.9
#
# An enumeration of key name.
#
@@ -3642,7 +3645,8 @@
            'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end',
            'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again',
            'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut',
            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause', 'ro',
            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
            'ro', 'hiragana', 'henkan', 'yen',
            'kp_comma', 'kp_equals', 'power' ] }

##
+3 −0
Original line number Diff line number Diff line
@@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
    [Q_KEY_CODE_DELETE] = 0xd3,

    [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,

    [Q_KEY_CODE__MAX] = 0,