1
0

add scroll + notifications

oh my god it took far too long to get notifications working...
This commit is contained in:
Daniel Prilik
2020-10-29 19:31:32 -04:00
parent c4039edc55
commit cf1b0a4eb4
19 changed files with 810 additions and 53 deletions

View File

@@ -0,0 +1,234 @@
# extracted using hid-example.c + https://eleccelerator.com/usbdescreqparser/
0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x0E, // Usage (0x0E)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
0x05, 0x0D, // Usage Page (Digitizer)
0x09, 0x21, // Usage (Puck)
0xA1, 0x02, // Collection (Logical)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x75, 0x01, // Report Size (1)
0x95, 0x01, // Report Count (1)
0xA1, 0x00, // Collection (Physical)
0x05, 0x09, // Usage Page (Button)
0x09, 0x01, // Usage (0x01)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0D, // Usage Page (Digitizer)
0x09, 0x33, // Usage (Touch)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x06, // Report Count (6)
0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xA1, 0x02, // Collection (Logical)
0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x37, // Usage (Dial)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x35, 0x00, // Physical Minimum (0)
0x46, 0x10, 0x0E, // Physical Maximum (3600)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x10, 0x0E, // Logical Maximum (3600)
0x09, 0x48, // Usage (0x48)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x45, 0x00, // Physical Maximum (0)
0xC0, // End Collection
0x55, 0x0E, // Unit Exponent (-2)
0x65, 0x11, // Unit (System: SI Linear, Length: Centimeter)
0x46, 0x00, 0x00, // Physical Maximum (0)
0x26, 0x00, 0x00, // Logical Maximum (0)
0x09, 0x30, // Usage (X)
0x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
0x09, 0x31, // Usage (Y)
0x46, 0x00, 0x00, // Physical Maximum (0)
0x26, 0x00, 0x00, // Logical Maximum (0)
0x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
0x05, 0x0D, // Usage Page (Digitizer)
0x09, 0x48, // Usage (0x48)
0x15, 0x3A, // Logical Minimum (58)
0x25, 0x3A, // Logical Maximum (58)
0x75, 0x08, // Report Size (8)
0x55, 0x0F, // Unit Exponent (-1)
0x35, 0x3A, // Physical Minimum (58)
0x45, 0x3A, // Physical Maximum (58)
0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x55, 0x00, // Unit Exponent (0)
0x65, 0x00, // Unit (None)
0x35, 0x00, // Physical Minimum (0)
0x45, 0x00, // Physical Maximum (0)
0x05, 0x0E, // Usage Page (Reserved 0x0E)
0x09, 0x01, // Usage (0x01)
0xA1, 0x02, // Collection (Logical)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x09, 0x24, // Usage (0x24)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x09, 0x24, // Usage (0x24)
0x91, 0x42, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x15, 0x01, // Logical Minimum (1)
0x25, 0x07, // Logical Maximum (7)
0x09, 0x20, // Usage (0x20)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x09, 0x21, // Usage (0x21)
0x91, 0x42, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x25, 0x0A, // Logical Maximum (10)
0x09, 0x28, // Usage (0x28)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x75, 0x10, // Report Size (16)
0x26, 0xD0, 0x07, // Logical Maximum (2000)
0x09, 0x25, // Usage (0x25)
0xB1, 0x42, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x09, 0x25, // Usage (0x25)
0x91, 0x42, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State,Non-volatile)
0x85, 0x02, // Report ID (2)
0x75, 0x20, // Report Size (32)
0x17, 0x37, 0x00, 0x01, 0x00, // Logical Minimum (65590)
0x27, 0x37, 0x00, 0x01, 0x00, // Logical Maximum (65590)
0x09, 0x22, // Usage (0x22)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x09, 0x11, // Usage (0x11)
0xA1, 0x02, // Collection (Logical)
0x05, 0x0A, // Usage Page (Ordinal)
0x95, 0x03, // Report Count (3)
0x09, 0x03, // Usage (0x03)
0x09, 0x04, // Usage (0x04)
0x09, 0x05, // Usage (0x05)
0x75, 0x08, // Report Size (8)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x05, 0x0E, // Usage Page (Reserved 0x0E)
0x09, 0x10, // Usage (0x10)
0xA1, 0x02, // Collection (Logical)
0x05, 0x0A, // Usage Page (Ordinal)
0x95, 0x01, // Report Count (1)
0x15, 0x03, // Logical Minimum (3)
0x25, 0x03, // Logical Maximum (3)
0x36, 0x03, 0x10, // Physical Minimum (4099)
0x46, 0x03, 0x10, // Physical Maximum (4099)
0x09, 0x03, // Usage (0x03)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x15, 0x04, // Logical Minimum (4)
0x25, 0x04, // Logical Maximum (4)
0x36, 0x04, 0x10, // Physical Minimum (4100)
0x46, 0x04, 0x10, // Physical Maximum (4100)
0x09, 0x04, // Usage (0x04)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x15, 0x05, // Logical Minimum (5)
0x25, 0x05, // Logical Maximum (5)
0x36, 0x04, 0x10, // Physical Minimum (4100)
0x46, 0x04, 0x10, // Physical Maximum (4100)
0x09, 0x05, // Usage (0x05)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x35, 0x00, // Physical Minimum (0)
0x45, 0x00, // Physical Maximum (0)
0xC0, // End Collection
0xC0, // End Collection
0xC0, // End Collection
0xC0, // End Collection
0xC0, // End Collection
0x06, 0x07, 0xFF, // Usage Page (Vendor Defined 0xFF07)
0x09, 0x70, // Usage (0x70)
0xA1, 0x01, // Collection (Application)
0x85, 0x30, // Report ID (48)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0x09, 0x00, // Usage (0x00)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x09, 0x71, // Usage (0x71)
0xA1, 0x01, // Collection (Application)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x48, // Report Count (72)
0x85, 0x2A, // Report ID (42)
0x09, 0xC6, // Usage (0xC6)
0x82, 0x02, 0x01, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes)
0x09, 0xC7, // Usage (0xC7)
0x92, 0x02, 0x01, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x95, 0x34, // Report Count (52)
0x09, 0xC8, // Usage (0xC8)
0xB2, 0x03, 0x01, // Feature (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x85, 0x2B, // Report ID (43)
0x09, 0xC9, // Usage (0xC9)
0x82, 0x02, 0x01, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes)
0x09, 0xCA, // Usage (0xCA)
0x92, 0x02, 0x01, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x09, 0xCB, // Usage (0xCB)
0xB2, 0x02, 0x01, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x17, 0x00, 0x00, 0x00, 0x80, // Logical Minimum (-2147483649)
0x27, 0xFF, 0xFF, 0xFF, 0x7F, // Logical Maximum (2147483646)
0x75, 0x20, // Report Size (32)
0x95, 0x04, // Report Count (4)
0x85, 0x2C, // Report ID (44)
0x19, 0xCC, // Usage Minimum (0xCC)
0x29, 0xCF, // Usage Maximum (0xCF)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x04, // Report Count (4)
0x85, 0x2D, // Report ID (45)
0x19, 0xD8, // Usage Minimum (0xD8)
0x29, 0xDB, // Usage Maximum (0xDB)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x04, // Report Count (4)
0x19, 0xDC, // Usage Minimum (0xDC)
0x29, 0xDF, // Usage Maximum (0xDF)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0xE0, // Usage Minimum (0xE0)
0x29, 0xE3, // Usage Maximum (0xE3)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x2E, // Report ID (46)
0x19, 0xE4, // Usage Minimum (0xE4)
0x29, 0xE7, // Usage Maximum (0xE7)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0xE8, // Usage Minimum (0xE8)
0x29, 0xEB, // Usage Maximum (0xEB)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x0B, // Report Count (11)
0x19, 0xEC, // Usage Minimum (0xEC)
0x29, 0xEF, // Usage Maximum (0xEF)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x04, // Report Count (4)
0x85, 0x2F, // Report ID (47)
0x19, 0xF0, // Usage Minimum (0xF0)
0x29, 0xF3, // Usage Maximum (0xF3)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0xF4, // Usage Minimum (0xF4)
0x29, 0xF7, // Usage Maximum (0xF7)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0xF8, // Usage Minimum (0xF8)
0x29, 0xFB, // Usage Maximum (0xFB)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x80, // Usage (Sys Control)
0xA1, 0x01, // Collection (Application)
0x85, 0x32, // Report ID (50)
0x09, 0x82, // Usage (Sys Sleep)
0x09, 0x83, // Usage (Sys Wake Up)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x95, 0x02, // Report Count (2)
0x75, 0x01, // Report Size (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x06, // Report Count (6)
0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x09, 0x72, // Usage (0x72)
0xA1, 0x01, // Collection (Application)
0x85, 0x31, // Report ID (49)
0x95, 0x0A, // Report Count (10)
0x75, 0x08, // Report Size (8)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x09, 0xC6, // Usage (0xC6)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x09, 0xC7, // Usage (0xC7)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection