ping https://patchew.org/QEMU/20211126140437.79745-1-n...@statshelix.com/
This patch is really small because all of the necessary functionality is already in place. It's just a matter of setting the respective flags (instead of just ignoring the buttons) and allocating these bits in the HID descriptor. On Sat, Dec 4, 2021 at 12:20 PM Noah Bergbauer <n...@statshelix.com> wrote: > ping https://patchew.org/QEMU/20211126140437.79745-1-n...@statshelix.com/ > > On Fri, Nov 26, 2021 at 3:04 PM Noah Bergbauer <n...@statshelix.com> > wrote: > >> Simply set the respective bits and update the descriptor accordingly. >> >> Signed-off-by: Noah Bergbauer <n...@statshelix.com> >> --- >> hw/input/hid.c | 2 ++ >> hw/usb/dev-hid.c | 6 +++--- >> 2 files changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/hw/input/hid.c b/hw/input/hid.c >> index 8aab0521f4..e7ecebdf8f 100644 >> --- a/hw/input/hid.c >> +++ b/hw/input/hid.c >> @@ -114,6 +114,8 @@ static void hid_pointer_event(DeviceState *dev, >> QemuConsole *src, >> [INPUT_BUTTON_LEFT] = 0x01, >> [INPUT_BUTTON_RIGHT] = 0x02, >> [INPUT_BUTTON_MIDDLE] = 0x04, >> + [INPUT_BUTTON_SIDE] = 0x08, >> + [INPUT_BUTTON_EXTRA] = 0x10, >> }; >> HIDState *hs = (HIDState *)dev; >> HIDPointerEvent *e; >> diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c >> index 1c7ae97c30..bdd6d1ffaf 100644 >> --- a/hw/usb/dev-hid.c >> +++ b/hw/usb/dev-hid.c >> @@ -461,14 +461,14 @@ static const uint8_t >> qemu_mouse_hid_report_descriptor[] = { >> 0xa1, 0x00, /* Collection (Physical) */ >> 0x05, 0x09, /* Usage Page (Button) */ >> 0x19, 0x01, /* Usage Minimum (1) */ >> - 0x29, 0x03, /* Usage Maximum (3) */ >> + 0x29, 0x05, /* Usage Maximum (5) */ >> 0x15, 0x00, /* Logical Minimum (0) */ >> 0x25, 0x01, /* Logical Maximum (1) */ >> - 0x95, 0x03, /* Report Count (3) */ >> + 0x95, 0x05, /* Report Count (5) */ >> 0x75, 0x01, /* Report Size (1) */ >> 0x81, 0x02, /* Input (Data, Variable, Absolute) */ >> 0x95, 0x01, /* Report Count (1) */ >> - 0x75, 0x05, /* Report Size (5) */ >> + 0x75, 0x03, /* Report Size (3) */ >> 0x81, 0x01, /* Input (Constant) */ >> 0x05, 0x01, /* Usage Page (Generic Desktop) */ >> 0x09, 0x30, /* Usage (X) */ >> -- >> 2.34.0 >> >>