qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] hid: trivial change to support side and extra buttons


From: Noah Bergbauer
Subject: [PATCH] hid: trivial change to support side and extra buttons
Date: Sat, 22 Jan 2022 10:57:14 +0100

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]