Blaž Hrastnik
2dbc6f113a
HID: Improve Windows Precision Touchpad detection.
Per Microsoft spec, usage 0xC5 (page 0xFF) returns a blob containing
data used to verify the touchpad as a Windows Precision Touchpad.
0x85, REPORTID_PTPHQA, // REPORT_ID (PTPHQA)
0x09, 0xC5, // USAGE (Vendor Usage 0xC5)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (0xff)
0x75, 0x08, // REPORT_SIZE (8)
0x96, 0x00, 0x01, // REPORT_COUNT (0x100 (256))
0xb1, 0x02, // FEATURE (Data,Var,Abs)
However, some devices, namely Microsoft's Surface line of products
instead implement a "segmented device certification report" (usage 0xC6)
which returns the same report, but in smaller chunks.
0x06, 0x00, 0xff, // USAGE_PAGE (Vendor Defined)
0x85, REPORTID_PTPHQA, // REPORT_ID (PTPHQA)
0x09, 0xC6, // USAGE (Vendor usage for segment #)
0x25, 0x08, // LOGICAL_MAXIMUM (8)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x01, // REPORT_COUNT (1)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
0x09, 0xC7, // USAGE (Vendor Usage)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (0xff)
0x95, 0x20, // REPORT_COUNT (32)
0xb1, 0x02, // FEATURE (Data,Var,Abs)
By expanding Win8 touchpad detection to also look for the segmented
report, all Surface touchpads are now properly recognized by
hid-multitouch.
Signed-off-by: Blaž Hrastnik <blaz@mxxn.io>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
2019-11-18 10:03:15 +01:00
..
2019-11-02 20:34:10 +01:00
2019-10-16 08:26:55 +02:00
2019-09-22 22:32:23 +02:00
2019-08-05 14:37:15 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-09-04 09:22:55 +02:00
2019-06-05 17:36:37 +02:00
2019-07-14 16:51:47 -07:00
2019-05-21 10:50:45 +02:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-09-24 11:49:32 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:36:37 +02:00
2019-11-18 10:03:15 +01:00
2019-05-30 11:26:32 -07:00
2019-08-22 17:11:58 +02:00
2019-08-19 14:13:00 +02:00
2019-09-03 16:52:04 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:04 +02:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-08-22 17:11:58 +02:00
2019-10-10 21:07:58 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:32 -07:00
2019-08-05 14:18:42 +02:00
2019-05-30 11:26:32 -07:00
2019-10-03 15:36:40 -04:00
2019-10-01 14:49:41 -04:00
2019-05-30 11:26:32 -07:00
2019-10-10 21:07:58 +02:00
2019-05-30 11:26:35 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:10 +02:00
2019-08-22 17:11:58 +02:00
2019-10-03 15:36:40 -04:00
2019-10-03 15:36:40 -04:00
2019-10-03 15:36:40 -04:00
2017-11-02 11:10:55 +01:00
2019-08-22 09:53:08 +02:00
2017-11-02 11:10:55 +01:00
2019-10-03 15:36:40 -04:00
2019-09-22 22:39:01 +02:00
2019-10-18 15:29:56 +02:00
2019-04-03 17:14:13 +02:00
2019-05-30 11:26:32 -07:00
2019-01-14 20:11:01 +01:00
2019-05-30 11:26:37 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-08-22 17:53:16 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:30:28 +02:00
2019-06-05 17:30:28 +02:00
2019-08-22 17:11:58 +02:00
2019-06-05 17:30:28 +02:00
2019-06-28 12:30:08 +02:00
2019-06-05 17:30:28 +02:00
2019-06-05 17:30:28 +02:00
2019-06-05 17:30:28 +02:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:36:37 +02:00
2019-10-01 16:21:04 +02:00
2019-09-03 16:34:18 +02:00
2018-06-25 15:23:40 +02:00
2019-05-30 11:26:32 -07:00
2019-06-13 05:59:05 -10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-14 16:09:19 +03:00
2019-08-22 17:11:58 +02:00
2019-05-30 11:26:35 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-03-18 14:44:20 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:29:19 -07:00
2019-04-17 16:39:43 +02:00
2019-07-10 01:40:23 +02:00
2019-07-10 01:40:23 +02:00
2019-02-21 12:00:54 +01:00
2019-02-21 12:00:54 +01:00
2019-02-21 12:00:54 +01:00
2019-06-05 17:36:37 +02:00
2019-02-21 12:00:53 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-10-03 15:36:40 -04:00
2019-05-30 11:26:32 -07:00
2019-09-22 22:32:23 +02:00
2019-09-23 12:18:13 -07:00
2019-09-03 16:52:04 +02:00
2019-05-30 11:26:32 -07:00
2019-08-22 17:08:09 +02:00
2019-11-06 21:37:29 +01:00
2019-07-10 01:39:57 +02:00
2019-11-06 21:37:29 +01:00