Hi
This series cleans up the QEMU input subsystem by converting the last
legacy mouse API consumers and reworking how keyboard LED state (Caps
Lock, Num Lock, Scroll Lock) flows from emulated devices to UI backends.
The first patches are preparatory cleanups and fixes. Then legacy mouse
API consummers are converted. The second half introduces per-handler LED
state tracking in QemuInputHandlerState, convert the users, and drop the
old broadcast queue in the final patch.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
Marc-André Lureau (17):
hmp-commands.hx: fix button_state doc
ui/hmp: move index_from_key() where it is used
hw/i386/vmmouse: convert to QemuInputHandler API
hw/usb/dev-wacom: convert to modern QemuInputHandler API
ui: move LED and key utilities to input.c, delete input-legacy.c
hw/input: replace fprint with LOG_GUEST_ERROR
ui/input: remove double-notification on qemu_mouse_set()
ui/input: remove dead declaration
ui/input: add LED state tracking to QemuInputHandlerState
hw/input/ps2: keep QemuInputHandlerState in PS2State
hw/input/ps2: use qemu_input_handler_set_led() for LED state
hw/input/hid: use qemu_input_handler_set_led() for LED state
hw/input/virtio-input-hid: use qemu_input_handler_set_led() for LED state
ui/vnc: switch LED handling to Notifier-based input API
ui/spice: switch LED handling to Notifier-based input API
ui/dbus: switch LED handling to Notifier-based input API
ui/input: remove old LED handler broadcast queue
include/hw/input/ps2.h | 2 +
include/ui/console.h | 30 ------
include/ui/input.h | 6 +-
ui/vnc.h | 2 +-
hw/i386/vmmouse.c | 115 +++++++++++++++------
hw/input/hid.c | 3 +-
hw/input/ps2.c | 28 +++++-
hw/input/virtio-input-hid.c | 15 +--
hw/usb/dev-wacom.c | 155 +++++++++++++++++------------
tools/qemu-vnc/input.c | 49 ++++-----
ui/dbus-console.c | 11 ++-
ui/input-legacy.c | 236 --------------------------------------------
ui/input.c | 76 +++++++++++++-
ui/spice-input.c | 10 +-
ui/ui-hmp-cmds.c | 22 ++++-
ui/vnc.c | 11 ++-
hmp-commands.hx | 4 +-
hw/i386/trace-events | 2 +-
ui/meson.build | 1 -
19 files changed, 352 insertions(+), 426 deletions(-)
---
base-commit: cc329c491768b2d91eb0b0984f3baa0bf805776d
change-id: 20260609-ui-input-f4b63f6d6af3
Best regards,
--
Marc-André Lureau <marcandre.lureau@redhat.com>