Rémi Bernon : ntoskrnl.exe/tests: Add some buttons and hatswitch controls.

Alexandre Julliard julliard at winehq.org
Wed Jun 9 16:43:06 CDT 2021


Module: wine
Branch: master
Commit: 21fa04194ca99fe664d6eb37058718940bc11b68
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=21fa04194ca99fe664d6eb37058718940bc11b68

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Fri Jun  4 11:12:17 2021 +0200

ntoskrnl.exe/tests: Add some buttons and hatswitch controls.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/tests/driver_hid.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/tests/driver_hid.c b/dlls/ntoskrnl.exe/tests/driver_hid.c
index b34ba7f19ae..1fe644250f7 100644
--- a/dlls/ntoskrnl.exe/tests/driver_hid.c
+++ b/dlls/ntoskrnl.exe/tests/driver_hid.c
@@ -100,6 +100,27 @@ static const unsigned char report_descriptor[] =
         REPORT_SIZE(1, 8),
         REPORT_COUNT(1, 2),
         INPUT(1, Data|Var|Abs),
+
+        USAGE_PAGE(1, HID_USAGE_PAGE_BUTTON),
+        USAGE_MINIMUM(1, 1),
+        USAGE_MAXIMUM(1, 8),
+        LOGICAL_MINIMUM(1, 0),
+        LOGICAL_MAXIMUM(1, 1),
+        PHYSICAL_MINIMUM(1, 0),
+        PHYSICAL_MAXIMUM(1, 1),
+        REPORT_COUNT(1, 8),
+        REPORT_SIZE(1, 1),
+        INPUT(1, Data|Var|Abs),
+
+        USAGE_PAGE(1, HID_USAGE_PAGE_GENERIC),
+        USAGE(1, HID_USAGE_GENERIC_HATSWITCH),
+        LOGICAL_MINIMUM(1, 1),
+        LOGICAL_MAXIMUM(1, 8),
+        PHYSICAL_MINIMUM(1, 0),
+        PHYSICAL_MAXIMUM(1, 8),
+        REPORT_SIZE(1, 4),
+        REPORT_COUNT(1, 2),
+        INPUT(1, Data|Var|Abs),
     END_COLLECTION,
 };
 
@@ -181,7 +202,7 @@ static NTSTATUS WINAPI driver_internal_ioctl(DEVICE_OBJECT *device, IRP *irp)
 
         case IOCTL_HID_READ_REPORT:
         {
-            ULONG expected_size = 2;
+            ULONG expected_size = 4;
             ok(!in_size, "got input size %u\n", in_size);
             if (!test_failed) todo_wine ok(out_size == expected_size, "got output size %u\n", out_size);
             if (out_size != expected_size) test_failed = TRUE;




More information about the wine-cvs mailing list