Hi, This patchset is a welcome cleanup of scancodes used in PS/2 keyboard emulation.
- Patches 1 and 2 are fixes to let Linux use set 3 if instructed so. - Patch 3 makes scancodes untranslated by default and translates them if required, instead of receiving translated scancodes by default and untranslating them if required. - Patch 4 switches to use qcodes instead of scancodes. - Patch 5 is a small cleanup, to prevent sending invalid keycodes to the OS. See each patch commit for details about what changed. Missing part are handling of following commands in set 3: - 0xf7: set all keys to typematic/autorepeat only - 0xf8: set all keys to make/release - 0xf9: set all keys to make only - 0xfa: set all keys to typematic/autorepeat make/release - 0xfb: set specific key to typematic/autorepeat only - 0xfc: set specific key to make/release - 0xfd: set specific key to make only Translated set 2 and untranslated sets 2 and 3 have been tested with Linux, using kernel parameters "i8042.direct=1" and "atkbd.set=3". Set 1 has been tested with MIPS Magnum emulation. Patch 4 doesn't pass checkpatch.pl, due to some key mappings not implemented because of missing an equivalent qcode. Changes since v1: - fix checkpatch.pl warning (patch 3) - fix compilation with mingw (patch 5) Hervé Hervé Poussineau (5): ps2: reject unknown commands, instead of blindly accepting them ps2: correctly handle 'get/set scancode' command ps2: allow keycode translation for all scancode sets ps2: use QEMU qcodes instead of scancodes ps2: do not generate invalid key codes for unknown keys hw/input/ps2.c | 612 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 558 insertions(+), 54 deletions(-) -- 2.1.4