From: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
QemuInputEvent now stores Linux key codes for key events. Use those
codes directly instead of translating between internal key code
representations.
Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260520-input-v3-10-7c9e4c7abe34@rsg.ci.i.u-tokyo.ac.jp>
---
hw/display/xenfb.c | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 218f37f0740..ae302b217fe 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -191,29 +191,14 @@ static int xenfb_send_position(struct XenInput *xenfb,
return xenfb_kbd_event(xenfb, &event);
}
-/*
- * Send a key event from the client to the guest OS
- * QEMU gives us a QCode.
- * We have to turn this into a Linux Input layer keycode.
- *
- * Wish we could just send scancodes straight to the guest which
- * already has code for dealing with this...
- */
+/* Send a key event from the client to the guest OS */
static void xenfb_key_event(DeviceState *dev, QemuConsole *src,
QemuInputEvent *evt)
{
struct XenInput *xenfb = (struct XenInput *)dev;
- int qcode = qemu_input_linux_to_qcode(evt->key.key);
- int lnx;
- if (qcode < qemu_input_map_qcode_to_linux_len) {
- lnx = qemu_input_map_qcode_to_linux[qcode];
-
- if (lnx) {
- trace_xenfb_key_event(xenfb, lnx, evt->key.down);
- xenfb_send_key(xenfb, evt->key.down, lnx);
- }
- }
+ trace_xenfb_key_event(xenfb, evt->key.key, evt->key.down);
+ xenfb_send_key(xenfb, evt->key.down, evt->key.key);
}
/*
--
2.54.0