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 <[email protected]> --- Changes in v2: - warn on qemu_input_handler_register() unused result, suggested by Philippe Mathieu-Daudé - related extra fixes - rebased, collect patch trailers - Link to v1: https://lore.kernel.org/qemu-devel/[email protected] To: [email protected] Cc: Philippe Mathieu-Daudé <[email protected]> Cc: "Dr. David Alan Gilbert" <[email protected]> Cc: Marc-André Lureau <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Richard Henderson <[email protected]> Cc: "Michael S. Tsirkin" <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Jan Kiszka <[email protected]> Cc: Peter Maydell <[email protected]> Cc: [email protected] Cc: Mark Cave-Ayland <[email protected]> Cc: [email protected] Cc: Thomas Huth <[email protected]> --- Marc-André Lureau (22): 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/arm: keep QemuInputHandlerState in musicpal hw/input: keep QemuInputHandlerState in adb-kbd hw/input: keep QemuInputHandlerState in stellaris hw/m68k: keep QemuInputHandlerState in next-kbd ui/input: qemu_input_handler_register to warn for unused result 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/hw/input/stellaris_gamepad.h | 2 + include/ui/console.h | 30 ----- include/ui/input.h | 7 +- ui/vnc.h | 2 +- hw/arm/musicpal.c | 13 +- hw/i386/vmmouse.c | 115 ++++++++++++----- hw/input/adb-kbd.c | 17 ++- hw/input/hid.c | 3 +- hw/input/ps2.c | 28 ++++- hw/input/stellaris_gamepad.c | 12 +- hw/input/virtio-input-hid.c | 15 ++- hw/m68k/next-kbd.c | 11 +- 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 - 24 files changed, 404 insertions(+), 430 deletions(-) --- base-commit: cc329c491768b2d91eb0b0984f3baa0bf805776d change-id: 20260609-ui-input-f4b63f6d6af3 Best regards, -- Marc-André Lureau <[email protected]>
