[PATCH 3/4] server: Add RIM_TYPEHID type / hid member to rawinput union.

Rémi Bernon rbernon at codeweavers.com
Thu May 6 05:57:32 CDT 2021


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 server/protocol.def | 8 ++++++++
 server/trace.c      | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/server/protocol.def b/server/protocol.def
index 6263f7a544e..813b0dc7374 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -295,6 +295,14 @@ union rawinput
         int            y;       /* y coordinate */
         unsigned int   data;    /* mouse data */
     } mouse;
+    struct
+    {
+        int            type;    /* RIM_TYPEHID */
+        unsigned int   device;  /* rawinput device index */
+        unsigned int   param;   /* rawinput message param */
+        unsigned short usage_page;/* HID usage page */
+        unsigned short usage;   /* HID usage */
+    } hid;
 };
 
 struct hardware_msg_data
diff --git a/server/trace.c b/server/trace.c
index cddeaa2d769..39178b8434c 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -406,6 +406,11 @@ static void dump_rawinput( const char *prefix, const union rawinput *rawinput )
         fprintf( stderr, "%s{type=KEYBOARD,message=%04x,vkey=%04hx,scan=%04hx}", prefix,
                  rawinput->kbd.message, rawinput->kbd.vkey, rawinput->kbd.scan );
         break;
+    case RIM_TYPEHID:
+        fprintf( stderr, "%s{type=HID,device=%04x,param=%04x,page=%04hx,usage=%04hx}",
+                 prefix, rawinput->hid.device, rawinput->hid.param, rawinput->hid.usage_page,
+                 rawinput->hid.usage );
+        break;
     default:
         fprintf( stderr, "%s{type=%04x}", prefix, rawinput->type );
         break;
-- 
2.31.0




More information about the wine-devel mailing list