hw/input/hid.c | 2 ++ hw/usb/dev-hid.c | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-)
Simply set the respective bits and update the descriptor accordingly.
Signed-off-by: Noah Bergbauer <noah@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
ping https://patchew.org/QEMU/20211126140437.79745-1-noah@statshelix.com/ On Fri, Nov 26, 2021 at 3:04 PM Noah Bergbauer <noah@statshelix.com> wrote: > Simply set the respective bits and update the descriptor accordingly. > > Signed-off-by: Noah Bergbauer <noah@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 > >
ping https://patchew.org/QEMU/20211126140437.79745-1-noah@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 <noah@statshelix.com> wrote: > ping https://patchew.org/QEMU/20211126140437.79745-1-noah@statshelix.com/ > > On Fri, Nov 26, 2021 at 3:04 PM Noah Bergbauer <noah@statshelix.com> > wrote: > >> Simply set the respective bits and update the descriptor accordingly. >> >> Signed-off-by: Noah Bergbauer <noah@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 >> >>
Gerd, if you acknowledge the patch I can merge it via the trivial branch. Thanks, Laurent Le 22/01/2022 à 10:57, Noah Bergbauer a écrit : > ping https://patchew.org/QEMU/20211126140437.79745-1-noah@statshelix.com/ > <https://patchew.org/QEMU/20211126140437.79745-1-noah@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 <noah@statshelix.com <mailto:noah@statshelix.com>> wrote: > > ping https://patchew.org/QEMU/20211126140437.79745-1-noah@statshelix.com/ > <https://patchew.org/QEMU/20211126140437.79745-1-noah@statshelix.com/> > > On Fri, Nov 26, 2021 at 3:04 PM Noah Bergbauer <noah@statshelix.com > <mailto:noah@statshelix.com>> wrote: > > Simply set the respective bits and update the descriptor accordingly. > > Signed-off-by: Noah Bergbauer <noah@statshelix.com <mailto:noah@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 >
On Tue, Feb 22, 2022 at 10:32:49AM +0100, Laurent Vivier wrote: > Gerd, > > if you acknowledge the patch I can merge it via the trivial branch. Acked-by: Gerd Hoffmann <kraxel@redhat.com> thanks, Gerd
Le 26/11/2021 à 15:04, Noah Bergbauer a écrit : > Simply set the respective bits and update the descriptor accordingly. > > Signed-off-by: Noah Bergbauer <noah@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) */ Applied to my trivial-patches branch. Thanks, Laurent
© 2016 - 2024 Red Hat, Inc.