[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/11] ps2: accept 'Set Key Make and Break' commands
From: |
Richard Henderson |
Subject: |
[PULL 03/11] ps2: accept 'Set Key Make and Break' commands |
Date: |
Tue, 21 Jan 2020 16:32:48 -1000 |
From: Sven Schnelle <address@hidden>
HP-UX sends both the 'Set key make and break (0xfc) and
'Set all key typematic make and break' (0xfa). QEMU response
with 'Resend' as it doesn't handle these commands. HP-UX than
reports an PS/2 max retransmission exceeded error. Add these
commands and just reply with ACK.
Signed-off-by: Sven Schnelle <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
hw/input/ps2.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 67f92f6112..0b671b6339 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -49,6 +49,8 @@
#define KBD_CMD_RESET_DISABLE 0xF5 /* reset and disable scanning */
#define KBD_CMD_RESET_ENABLE 0xF6 /* reset and enable scanning */
#define KBD_CMD_RESET 0xFF /* Reset */
+#define KBD_CMD_SET_MAKE_BREAK 0xFC /* Set Make and Break mode */
+#define KBD_CMD_SET_TYPEMATIC 0xFA /* Set Typematic Make and Break mode */
/* Keyboard Replies */
#define KBD_REPLY_POR 0xAA /* Power on reset */
@@ -573,6 +575,7 @@ void ps2_write_keyboard(void *opaque, int val)
case KBD_CMD_SCANCODE:
case KBD_CMD_SET_LEDS:
case KBD_CMD_SET_RATE:
+ case KBD_CMD_SET_MAKE_BREAK:
s->common.write_cmd = val;
ps2_queue(&s->common, KBD_REPLY_ACK);
break;
@@ -592,11 +595,18 @@ void ps2_write_keyboard(void *opaque, int val)
KBD_REPLY_ACK,
KBD_REPLY_POR);
break;
+ case KBD_CMD_SET_TYPEMATIC:
+ ps2_queue(&s->common, KBD_REPLY_ACK);
+ break;
default:
ps2_queue(&s->common, KBD_REPLY_RESEND);
break;
}
break;
+ case KBD_CMD_SET_MAKE_BREAK:
+ ps2_queue(&s->common, KBD_REPLY_ACK);
+ s->common.write_cmd = -1;
+ break;
case KBD_CMD_SCANCODE:
if (val == 0) {
if (s->common.queue.count <= PS2_QUEUE_SIZE - 2) {
--
2.20.1
- [PULL 00/11] target/hppa patch queue, Richard Henderson, 2020/01/21
- [PULL 01/11] hw/hppa/dino.c: Improve emulation of Dino PCI chip, Richard Henderson, 2020/01/21
- [PULL 03/11] ps2: accept 'Set Key Make and Break' commands,
Richard Henderson <=
- [PULL 05/11] hppa: Switch to tulip NIC by default, Richard Henderson, 2020/01/21
- [PULL 04/11] hppa: add emulation of LASI PS2 controllers, Richard Henderson, 2020/01/21
- [PULL 02/11] hppa: Add support for LASI chip with i82596 NIC, Richard Henderson, 2020/01/21
- [PULL 08/11] hw/hppa/machine: Correctly check the firmware is in PDC range, Richard Henderson, 2020/01/21
- [PULL 09/11] hw/hppa/machine: Restrict the total memory size to 3GB, Richard Henderson, 2020/01/21
- [PULL 07/11] hppa: Add emulation of Artist graphics, Richard Henderson, 2020/01/21
- [PULL 10/11] hw/hppa/machine: Map the PDC memory region with higher priority, Richard Henderson, 2020/01/21
- [PULL 11/11] target/hppa: Allow, but diagnose, LDCW aligned only mod 4, Richard Henderson, 2020/01/21
- Re: [PULL 00/11] target/hppa patch queue, Richard Henderson, 2020/01/21