Я пытаюсь декодировать поток данных HID RAW мультитач-экрана, который я читаю из / dev / hidraw2 при подключении к компьютеру с Linux.
У меня уже есть дескриптор отчета HIDмоего мультитач-экрана и 64-байтового потока, идущего с моего экрана. 1 прикосновение пальца до сих пор я могу понять, что 02 - сообщить идентификатор / 04 - 07, если нажата или не нажата / xx - я не знаю // xx xx corinates // yy yy cordinates.но это должен быть способ прочитать дескриптор hid и перевести его для этого потока данных, который я получаю.
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Touchscreen), ; Touch screen (04h, application collection)
Collection (Application),
Report ID (2),
Usage (Finger), ; Finger (22h, logical collection)
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Collection (Logical),
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (Tip Switch), ; Tip switch (42h, momentary control)
Logical Minimum (0),
Logical Maximum (1),
Report Size (1),
Report Count (1),
Input (Variable),
Usage (In Range), ; In range (32h, momentary control)
Input (Variable),
Usage (47h),
Input (Variable),
Report Count (5),
Input (Constant, Variable),
Report Size (8),
Usage (51h),
Report Count (1),
Input (Variable),
Usage Page (Desktop), ; Generic desktop controls (01h)
Logical Minimum (0),
Logical Maximum (32767),
Report Size (16),
Usage (X), ; X (30h, dynamic value)
Input (Variable),
Usage (Y), ; Y (31h, dynamic value)
Input (Variable),
End Collection,
Usage Page (Digitizer), ; Digitizer (0Dh)
Usage (54h),
Report Count (1),
Report Size (8),
Input (Variable),
Usage (55h),
Logical Maximum (10),
Feature (Variable),
End Collection,
Usage (0Eh),
Collection (Application),
Report ID (4),
Usage (23h),
Collection (Logical),
Usage (52h),
Logical Minimum (0),
Logical Maximum (10),
Report Size (8),
Report Count (1),
Feature (Variable),
End Collection,
End Collection,
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (01h),
Collection (Application),
Report ID (250),
Usage (01h),
Usage Minimum (01h),
Usage Maximum (3Fh),
Logical Minimum (0),
Logical Maximum (-1),
Report Size (8),
Report Count (63),
Input (Variable),
Report ID (18),
Usage (02h),
Usage Minimum (01h),
Usage Maximum (3Fh),
Output (Variable),
Report ID (16),
Usage (03h),
Usage Minimum (01h),
Usage Maximum (3Fh),
Logical Minimum (0),
Logical Maximum (-1),
Report Size (8),
Report Count (7),
Feature (Variable),
End Collection