@samitouri / QOSamiQemu / commits / 45a933bacf

ui/input-barrier: Use Linux key codes

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-20-7c9e4c7abe34@rsg.ci.i.u-tokyo.ac.jp>

Akihiko Odaki committed May 20, 2026 at 15:48 UTC 45a933bacf99c05c7304721a05d21debd136cfb7
1 file changed +13 -13
ui/input-barrier.c
+13 -13
@@ -84,11 +84,11 @@ static const char *cmd_names[] = {
84
85 static kbd_layout_t *kbd_layout;
86
87 -static int input_barrier_to_qcode(uint16_t keyid, uint16_t keycode)
87 +static unsigned int input_barrier_to_linux(uint16_t keyid, uint16_t keycode)
88 {
89 /* keycode is optional, if it is not provided use keyid */
90 - if (keycode && keycode <= qemu_input_map_xorgkbd_to_qcode_len) {
91 - return qemu_input_map_xorgkbd_to_qcode[keycode];
90 + if (keycode && keycode <= qemu_input_map_xorgkbd_to_linux_len) {
91 + return qemu_input_map_xorgkbd_to_linux[keycode];
92 }
93
94 if (keyid >= 0xE000 && keyid <= 0xEFFF) {
@@ -99,10 +99,10 @@ static int input_barrier_to_qcode(uint16_t keyid, uint16_t keycode)
99 if (kbd_layout) {
100 keycode = keysym2scancode(kbd_layout, keyid, NULL, false);
101
102 - return qemu_input_key_number_to_qcode(keycode);
102 + return qemu_input_key_number_to_linux(keycode);
103 }
104
105 - return qemu_input_map_x11_to_qcode[keyid];
105 + return qemu_input_map_x11_to_linux[keyid];
106 }
107
108 static int input_barrier_to_mouse(uint8_t buttonid)
@@ -431,23 +431,23 @@ static gboolean writecmd(InputBarrier *ib, struct barrierMsg *msg)
431
432 /* keyboard */
433 case barrierCmdDKeyDown:
434 - qemu_input_event_send_key_qcode(NULL,
435 - input_barrier_to_qcode(msg->key.keyid, msg->key.button),
434 + qemu_input_event_send_key_linux(NULL,
435 + input_barrier_to_linux(msg->key.keyid, msg->key.button),
436 true);
437 break;
438 case barrierCmdDKeyRepeat:
439 for (i = 0; i < msg->repeat.repeat; i++) {
440 - qemu_input_event_send_key_qcode(NULL,
441 - input_barrier_to_qcode(msg->repeat.keyid, msg->repeat.button),
440 + qemu_input_event_send_key_linux(NULL,
441 + input_barrier_to_linux(msg->repeat.keyid, msg->repeat.button),
442 false);
443 - qemu_input_event_send_key_qcode(NULL,
444 - input_barrier_to_qcode(msg->repeat.keyid, msg->repeat.button),
443 + qemu_input_event_send_key_linux(NULL,
444 + input_barrier_to_linux(msg->repeat.keyid, msg->repeat.button),
445 true);
446 }
447 break;
448 case barrierCmdDKeyUp:
449 - qemu_input_event_send_key_qcode(NULL,
450 - input_barrier_to_qcode(msg->key.keyid, msg->key.button),
449 + qemu_input_event_send_key_linux(NULL,
450 + input_barrier_to_linux(msg->key.keyid, msg->key.button),
451 false);
452 break;
453 default: