Infrared Touch Frame with USB-HID Interface on USBHost (Teensy 4.1)

lokki

Well-known member
I have connected a USB infrared touch frame to the host port on a teensy 4.1 and I am running the HIDDeviceInfo Sketch to gather some info, below is the Serial output from the startup and then a finger and later two fingers moving in the frame. The touch frame works out of the box on Linux and OSX (single touch only) and Android (multitouch). From a quick glance at the Serial output it looks like the teensy only "sees" data for a single touch... I would be interested in multitouch operation on teensy. Has somebody already worked with these infrared touch frames and teensy? I am using this model: https://de.aliexpress.com/item/3302...st_main.4.2d165c5f7wB3Gs&gatewayAdapt=glo2deu

Code:
USBDeviceInfo claim this=2000CF68

****************************************
** Device Level **
  vid=1FF7
  pid=9
  bDeviceClass = 0
  bDeviceSubClaes = 3 Interrupt
    size = 64
    interval = 1
  endpoint = 2
    attributes = 3 Interrupt
    size = 64
    interval = 1

USBDeviceInfo claim this=2000CF68

****************************************
** Interface Level **
09 04 01 00 01 03 00 00 00 09 21 11 01 00 01 22 66 00 07 05 83 03 09 00 01
 bInterfaceNumber = 1
 number end points = 1
 bInterfaceClass =    3
 bInterfaceSubClass = 0
    HID
 bInterfaceProtocol = 0
    None
report descriptor size = 102
  endpoint = 83
    attributes = 3 Interrupt
    size = 9
    interval = 1
*** Device HID1 1ff7:9 - connected ***
  manufacturer: IrScreen ca
*** Device HID2 1ff7:9 - connected ***
  manufacturer: IrScreen ca
HIDDumpController(1 : 0x20004220 : 0x20009680) Claim: 1ff7:9 usage: d0004 SubClass: 0 Protocol: 0 - Yes

HID Report Descriptor (0x20009a18) size: 595
  05 0D    // Usage Page(d) - Digitizer
  09 04    // Usage(4) -
  A1 01    // Collection(1) top Usage(d0000)
    85 02    // Report ID(2)
    09 22    // Usage(22) -
    A1 00    // Collection(0)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    //)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Min    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09  05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // UsagUsage(4) -
  A1 01    // Collection(1) top Usage(d0000)
    85 02    // Report ID(2)
    09 22    // Usage(22) -
    A1 00    // Collection(0)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // InAbsolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Repoariable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) neric Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 54    // Usage(54)   15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 08    // Report Size(8)
    95 3F    // Report Count(3f)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 02    // Usage(2) -
    15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 08    // Report Size(8)
    95 3F    // Report Count(3f)
    91 02    // Output(2)    // (Data, Variable, Absolute)
    C0    // End Collection
HIDDumpController(1 : 0x20004220 : 0x20009680) Claim: 1ff7:9 usage: ff000000 SubClass: 0 Protocol: 0 - NO (Usage: d0004)
HIDDumpController(2 : 0x20005300 : 0x20009680) Claim: 1ff7:9 usage: ff000000 SubClass: 0 Protocol: 0 - NO (Usage: d000e)
HIDDumpController(3 : 0x200063e0 : 0x20009680) Claim: 1ff7:9 usage: ff000000 SubClass: 0 Protocol: 0 - Yes

HID Report Descriptor (0x20009a18) size: 595
  05 0D    // Usage Page(d) - Digitizer
  09 04    // Usage(4) -
  A1 01    // Collection(1) top Usage(d0000)
    85 02    // Report ID(2)
    09 22    // Usage(22) -
    A1 00    // Collection(0)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(ata, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, AAbsolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    /Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 54    // Usage(54) -
    15 00    // Logical Minimum(0)
    25 1F    // Logical maximum(1f)
    75 08/ Report Size(8)
    95 3F    // Report Count(3f)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 02    // Usage(2) -
    15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 08    // Report Size(8)
    95 3F    // Report Count(3f)
    91 02    // Output(2)    // (Data, Variable, Absolute)
    C0    // End Collection
HIDDumpController(1 : 0x20004220 : 0x20009dc0) Claim: 1ff7:9 usage: 10002 SubClass: 0 Protocol: 0 - NO (Usage: d0004)
HIDDumpController(2 : 0x20005300 : 0x20009dc0) Claim: 1ff7:9 usage: 10002 SubClass: 0 Protocol: 0 - NO (Usage: d000e)
HIDDumpController(3 : 0x200063e0 : 0x20009dc0) Claim: 1ff7:9 usage: 10002 SubClass: 0 Protocol: 0 - NO (Usage: ff000000)
HIDDumpController(4 : 0x200074c0 : 0x20009dc0) Claim: 1ff7:9 usage: 10002 SubClass: 0 Protocol: 0 - Yes

HID Report Descriptor (0x2000a158) size: 102
  05 01    // Usage Page(1) - Generic Desktop
  09 02    // Usage(2) -(Mouse)
  A1 01    // Collection(1) top Usage(10000)
    85 01    // Report ID(1)
    09 01    // Usage(1) -(?)
    A1 00    // Collection(0)
    05 09    // Usage Page(9) - Button
    19 01    // Usage Minimum(1) -  (BUTTON 1)
    29 03    // Usage Maximum(3) -  (BUTTON 3)
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    95 03    // Report Count(3)
    75 01    // Report Size(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 01    // Report Count(1)
    75 05    // Report Size(5)
    81 01    // Input(1)    // (Constant, Array, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    09 30    // Usage(30) -(X)
    09 31    // Usage(31) -(Y)
    16 00 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    36 00 00    // Physical Minimum(0)
    46 FF 7F    // Physical Maximum(7fff)
    75 10    // Report Size(10)
    95 02    // Report Count(2)
    81 62    // Input(62)    // (Data, Variable, Absolute, No Preferred, Null State)
    C0    // End Collection
  C0    // End Collection
  05 01    // Usage Page(1) - Generic Desktop
  09 06    // Usage(6) -(Keyboard)
  A1 01    // Collection(1) top Usage(10000)
    85 06    /, No Preferred, Null State)
    C0    // End Collection
  C0    // End Collection
  05 01    // Usage Page(1) - Generic Desktop
  09 06    // Usage(6) -(Keyboard)
  A1 01    // Collection(1) top Usage(10000)
    85 06    // Report ID(6)
    05 07    // Usage Page(7) - Keycode
    19 E0    // Usage Minimum(e0) - (Left Control)
    29 E7    // Usage Maximum(e7) - (Right GUI)
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 08    // Report Count(8)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    75 08    // Report Size(8)HID(4 : 10002): 01 00 A0 59 28 3E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22944 (X)
    usage=10031, value=15912 (Y)
  END:
END:
HID(4 : 10002): 01 00 A0 59 28 3E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1n:0 max:32767
    usage=10030, value=22944 (X)
    usage=10031, value=15912 (Y)
  END:
END:
HID(4 : 10002): 01 00 A0 59 28 3E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22944 (X)
    usage=10031, value=15912 (Y)
  END:
END:
HID(4 : 10002): 01 00 A0 59 28 3E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22944 (X)
    usage=10031, value=15912 (Y)
  END:
END:
ON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22944 (X)
    usage=10031, value=15912 (Y)
  END:
END:
min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begi  usage=90002, value=0  (BUue=15912 (Y)
  END:
END:
HID(4 : 10002): 01 00 A0 59 28 3E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usag
  usage=90001, vmax:32767
    usage=10030, value=22656 (X)
    usage=10031, value=16024 (Y)
  END:
END:
 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=0, value=22608 (X)
    usage=10031, value=16072 (Y)
  END:
END:
HID(4 : 10002): 01 00 20 58 00 3F 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTOHID(4 : 10002): 01 00 E0 57 40 3F 00 00 00
Begin topusage:10000 type:2 mi
    usage=10030, value=22496 (X)
    usage=10031, value=16192 (Y)
  END:
END:
HID(4 : 10002): 01 00 98 57 88 3F 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  HID(4 : 10002): 01 00 48 57 C8 3F 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usag90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22344 (X)
    usage=10031, value=16328 (Y)
  END:
END:
HID(4 : 10002): 01 00 F0 56 10 40 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22256 (X)
    usage=10031, value=16400 (Y)
  END:
END:
BUTTON 1)
  usHID(4 : 10002): 01 00 28 56 C0 40 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=22056 (X)
    usage=10031, value=16576 (Y)
  END:
END:
  usage=90002, value=0  (BUTTON 2)
  usage=90003,usage:10000 type:62 min:0 max:32767
    usage=10030, value=21784 (X)
    usage=10031, value=16792 (Y)
  END:
END:
type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUHID(4 : 10002): 01 00 B8 53 98 42 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=21432 (X)
    usage=10031, value=17048 (Y)
  END:
END:
4 : 10002): 01 00 F8 52 18 43 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:HID(4 : 10002): 01 00 38 52 B0 43 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=21048 (X)
    usage=10031, value=17328 (Y)
  END:
END:
n topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90032767
    usage=10030, value=20616 (X)
    usage=10031, value=17672 (Y)
  END:
END:
HID(4 : 10002): 01 00 A8 4F 98 45 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUT17816 (Y)
  END:
END:
4E 30 46 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10, value=0  (BUTTON 3)
  Begin topusage:10000 tyHID(4 : 10002): 01 00 88 4B 58 48 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=19336 (X)
    usage=10031, value=18520 (Y)
  END:
END:

  usage=90003, value=0  (BUTTON 3)
  Begin topusagHID(4 : 10002): 01 00 E0 49 38 49 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage: Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18720 (X)
    usage=10031, value=18848 (Y)
  END:
END:
HID(4 : 10002): 01 00 60 48 F8 49 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18528 (X)
    usage=10031, value=18936 (Y)
  END:
END:
HID(4 : 10002): 01 00 88 47 48 4A 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18312 (X)
    usage=10031, value=19016 (Y)
  END:
END:
ge=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18120 (X)
    usage=10031, value=19112 (Y)
  END:
END:
0000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usageHID(4 : 10002): 01 00 58 45 50 4B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90   usage=10031, value=19280 (Y)
  END:
END:
gin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=17560 (X)
    usage=10031, value=19312 (Y)
  END:
END:
max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  uHID(4 : 10002): 01 00 38 43 B8 4B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage  usage=10031, value=19384 (Y)
  END:
END:
egin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:100HID(4 : 10002): 01 00 A8 41 F8 4B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, vasage=10030, value=16808 (X)
    usage=10031, value=19448 (Y)
  END:
END:
000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, HID(4 : 10002): 01 00 38 3F E0 4C 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 , value=16184 (X)
    usage=10031, value=19680 (Y)
  END:
END:
HID(4 : 10002): 01 00 A0 3D 68 4D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
sage=10031, value=19816 (Y)
  END:
END:

Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=9000HID(4 : 10002): 01 00 D0 3B 18 4E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  ge=10031, value=19992 (Y)
  END:
END:
HID(4 : 10002): 01 00 08 3B A0 4E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=5112 (X)
    usage=10031, value=20128 (Y)
  END:
END:
HID(4 : 10002): 01 00 98 3A E0 4E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=15000 (X)
    usage=10031, value=20192 (Y)
  END:
END:
HID(4 : 10002): 01 00 98 3A E0 4E 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
0030, value=15000 (X)
    usage=10031, value=20192 (Y)
  END:
END:


USB HID Device Info Program

This Sketch shows information about plugged in HID devices

*** You can control the output by simple character ing else> - toggles showing the Hid formatted breakdown of the data

*******
** Device Level **
  vid=1FF7
  pid=9
  bDeviceClass = 0
  bDeviceSubClass = 0
  bDeviceProtocol = 0
09 04 00 00 02 03 00 00 00 09 21 11 01 00 01 22 53 02 07 05 81 03 40 00 01 07 05 02 03 40 00 01
09 04 01 00 01 03 00 00 00 09 21 11 01 00 01 22 66 00 07 05 83 03 09 00 01

USBDeviceInfo claim this=20eport descriptor size = 102
  endpoint = 83
    attributes = 3 Interrupt
    size = 9
    interval = 1
*** Device HID1 1ff7:9 - connected ***
  manufacturer: IrScreen ca
*** Device HID2 1ff7:9 - connected ***
  manufacturer: IrScreen ca
mpController(1 : 0x20004220 : 0x20009680) Claim: 1ff7:9 usage: d0004 SubClass: 0 Protocol: 0 - Yes

HID Report Descriptor (0x20009a18) size: 595
  05 0D    // Usage Page(d) - Digitizer
  09 04    // Usage(4) -
  A1 01    // Collection(1) top Usage(d0000)
    85 02    // Rep32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Inpu   15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Abso(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
 nit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data,ariable, Absolute)
    C0    // End Collection
HIDDumpController(1 : 0x20004220 : 0x20009680) Claim: 1ff7:9 usage: d000e SubClass: 0 Protocol: 0 - NO (Usage: d0004)
HIDDumpController(2 : 0x20005300 : 0x20009680) Claim: 1ff7:9 usage: d000e SubClass: 0 Protocol: 0 - Yes

HID Report Descriptor (0x20009a18) size: 595
  05 0D    // Usage Page(d) - Digitizer
  09 04    // Usage(4) -
  A1 01    // Collection(1) top Usage(d0000)
    85 02    // Report ID(2)
    09 22    // Usage(22) -
    A1 00    // Collection(0)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08       81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // U) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Cxponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Varizer
    09 54    // Usage(54) -
    15 00    // Logical Minimum(0)
    25 1F    // Logical maximum(1f)
    75 08    // Report Size(8)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  09 55    // Usage(55) -
  85 03    // Report ID(3)
  15 00    // Logical Minimum(0)
  26 FF 00    // Logical maximum(ff)
  75 08    // Report Size(8)
  95 01    // Report Count(1)
  B1 02    // Feature(2)    // (Data, Variable, Absolute)
  C0    // End Collection
  05 0D    // Usage Page(d) - Digitizer
  09 0E    // Usage(e) -
  A1 01    // Collection(1) top Usage(d0000)
    85 04    // Report ID(4)
    09 52    // Usage(52) -
    09 53    // Usage(53) -
    15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 08    // Report Size(8)
    95 02    // Report Count(2)
    B1 02    // Feature(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  06 00 FF    // Usage Page(ff00) -   15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absol// Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 05    // Report Count(5)
    81 03    // Input(3)    // (Constant, Variable, Absolute)
    75 08    // Report Size(8)
    09 51    // Usage(51) -
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    15 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 42    // Usage(42) -
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 32    // Usage(32) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 47    // Usage(47) -
    81 02    // Input(2)    // (Data, Variable, A
    75 10    // Report Size(10)
    55 00    // Unit Exponent(0)
    65 00    // Unit(0)
    09 30    // Usage(30) -(X)
    35 00    // Physical Minimum(0)
    46 00 00    // Physical Maximum(0)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 31    // Usage(31) -(Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Y)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    05 0D    // Usage Page(d) - Digitizer
    09 48    // Usage(48) -
    55 0E    // Unit Exponent(e)
    65 33    // Unit(33)
    35 00    // Physical Minimum(0)
    46 1D 08    // Physical Maximum(81d)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    09 49    // Usage(49) -
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  A1 00    // Collection(0) top Usage(d0000)
    05 0D    // Usage Page(d) - Digitizer
    09 54    // Usage(54) -
    15 00    // Logical Minimum(0)
    25 1F    // Logical maximum(1f)
    75 08    // Report Size(8)
    95 01    // Report Count(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  09 55    // Usage(55) -
  85 03    // Report ID(3)
  15 00    // Logical Minimum(0)
  26 FF 00    // Logical maximum(ff)
  75 08    // Report Size(8)
  95 01    // Report Count(1)
  B1 02    // Feature(2)    // (Data, Variable, Absolute)
  C0    // End Collection
  05 0D    // Usage Page(d) - Digitizer
  09 0E    // Usage(e) -
  A1 01    // Collection(1) top Usage(d0000)
    85 04    // Report ID(4)
    09 52    // Usage(52) -
    09 53    // Usage(53) -
    15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 08    // Report Size(8)
    95 02    // Report Count(2)
    B1 02    // Feature(2)    // (Data, Variable, Absolute)
    C0    // End Collection
  06 00 FF    // Usage Page(ff00) - Vendor Defined
  09 00    // Usage(0) -
  A1 01    // Collection(1) top Usage(ff000000)
    85 05    // Report ID(5)
    09 01    // Usage(1) -
    15 00    // Logical Minimum(0)
    26 FF 00    // Logical maximum(ff)
    75 0    A1 00    // Collection(0)
    05 09    // Usage Page(9) - Button
    19 01    // Usage Minimum(1) -  (BUTTON 1)
    29 03    // Usage Maximum(3) -  (BUTTON 3)
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    95 03    // Report Count(3)
    75 01    // Report Size(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 01    // Report Count(1)
    75 05    // Report Size(5)
    81 01    // Input(1)    // (Constant, Array, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    09 30    // Usage(30) -(X)
    09 31    // Usage(31) -(Y)
    16 00 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    36 00 00    // Physical Minimum(0)
    46 FF 7F    // Physical Maximum(7fff)
    75 10    // Report Size(10)
    95 02    // Report Count(2)
    81 62    // Input(62)    // (Data, Variable, Absolute, No Preferred, Null State)
    C0    // End Collection
  C0    // End Collection
  05 01    // Usage Page(1) - Generic Desktop
  09 06    // Usage(6) -(Keyboard)
  A1 01    // Collection(1) top Usage(10000)
    85 0sage: ff000000)
HIDDumpController(4 : 0x200074c0 : 0x20009dc0) Claim: 1ff7:9 usage: 10006 SubClass: 0 Protocol: 0 - NO (Usage: 10002)
HIDDumpController(5 : 0x200085a0 : 0x20009dcTON 1)
    29 03    // Usage Maximum(3) -  (BUTTON 3)
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    95 03    // Report Count(3)
    75 01    // Report Size(1)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    95 01    // Report Count(1)
    75 05    // Report Size(5)
    81 01    // Input(1)    // (Constant, Array, Absolute)
    05 01    // Usage Page(1) - Generic Desktop
    09 30    // Usage(30) -(X)
    09 31    // Usage(31) -(Y)
    16 00 00    // Logical Minimum(0)
    26 FF 7F    // Logical maximum(7fff)
    36 00 00    // Physical Minimum(0)
    46 FF 7F    // Physical Maximum(7fff)
    75 10    // Report Size(10)
    95 02    // Report Count(2)
    81 62    // Input(62)    // (Data, Variable, Absolute, No Preferred, Null State)
    C0    // End Collection
  C0    // End Collection
  05 01    // Usage Page(1) - Generic Desktop
  09 06    // Usage(6) -(Keyboard)
  A1 01    // Collection(1) top Usage(10000)
    85 06    // Report ID(6)
    05 07    // Usage Page(7) - Keycode
    19 E0    // Usage Minimum(e0) - (Left Control)
    29 E7    // Usage Maximum(e7) - (Right GUI)
    15 00    // Logical Minimum(0)
    25 01    // Logical maximum(1)
    75 01    // Report Size(1)
    95 08    // Report Count(8)
    81 02    // Input(2)    // (Data, Variable, Absolute)
    75 08    // Report Size(8)
    95 01    // Report Count(1)
    81 01    // Input(1)    // (Constant, Array, Absolute)
    19 00    // Usage Minimum(0) - (Keycode 0)
    29 91    // Usage Maximum(91)HID(4 : 10002): 01 00 C0 6B 88 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTT=28040 (Y)
  END:
END:
HID(4 : 10002): 01 00 C0 6B 88 6D 00 00 00
Begin topusage:10000 type:2 min:0 max  usage=10031, value=28040 (Y)
  END:
END:
HID(4 : 10002): 01 00 C0 6B 88 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1ge=10031, value=28040 (Y)
  END:
END:
HID(4 : 10002): 01 00 C0 6B 88 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27584 (X)
    usage=10031, value=28040 (Y)
  END:
END:
0
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27584 (X)
    usage=10031, value=28040 (Y)
  END:
END:
, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27536 (X)
    usage=10031, value=27728 (Y)
  END:
END:
1, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTHID(4 : 10002): 01 00 68 6B E8 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27496 (X)
    usage=10031, value=27624 (Y)
  END:
END:
HID(4 : 10002): 01 00 60 6B B0 6B 00 00 00
Begin topusage:10000 typ1, value=27568 (Y)
  END:
END:
 10002): 01 00 48 6B 78 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=9000HID(4 : 10002): 01 00 28 6B 40 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=10030, value=27432 (X)
    usage=10031, value=27456 (Y)
  END:
END:
HID(4 : 10002): 01 00 F0 6A 10 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27376 (X)
    usage=10031, value=27408 (Y)
  END:
END:
  (BUTTON 3)
  Begin topusage:1000HID(4 : 10002): 01 00 80 6A A8 6A 00 00 00
Begin topuage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:1HID(4 : 10002): 01 00 38 6A 70 6A 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27192 (X)
    usage=10031, value=27248 (Y)
  END:
END:
ID(4 : 10002): 01 00 F8 69 38 6A 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27128 (X)
    usage=10031, value=27192 (Y)
  END:
END:
HID(4 : 10002): 01 00 C8 69 00 6A 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=27080 (X)
    usage=10031, value=27136 (Y)
  END:
END:
HID(4 : 10002): 01 00 98 69 D0 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 typeHID(4 : 10002): 01 00 68 69 98 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26984 (X)
    usage=10031, value=27032 (Y)
  END:
END:
HID(4 : 10002): 01 00 38 69 60 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26936 (X)
    usage=10031, value=26976 (Y)
  END:
END:
HID(4 : 10002): 01 00 08 69 30 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26888 (X)
    usage=10031, value=26928 (Y)
  END:
END:
ue=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003HID(4 : 10002): 01 00 A0 68 D0 68 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)END:
: 10002): 01 00 60 68 90 68 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26720 (X)
    usage=10031, value=26768 (Y)
  END:
END:
00 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin HID(4 : 10002): 01 00 D0 67 38 68 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=9 value=26680 (Y)
  END:
END:
8 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26496 (X)
    usage=10031, value=26632 (Y)
  END:
END:
01, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 typeusage:10000 type:62 min:0 max:32767
    usage=10030, value=26344 (X)
    usage=10031, value=26528 (Y)
  END:
END:

Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=26272 (X)
    usage=10031, value=26488 (Y)
  END:
END:
lue=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, vaHID(4 : 10002): 01 00 00 66 28 67 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
 
  END:
END:
 01 00 C8 65 00 67 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  us002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTOHID(4 : 10002): 01 00 50 65 E8 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25936 (X)
    usage=10031, value=26344 (Y)
  END:
END:
gin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=UTTON 2)
  usage=90003, value=0  (HID(4 : 10002): 01 00 90 64 C8 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topu:
(4 : 10002): 01 00 50 64 B8 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0 HID(4 : 10002): 01 00 08 64 A8 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25608 (X)
    usage=10031, value=26280 (Y)
  END:
END:
HID(4 : 10002): 01 00 D0 63 98 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25552 (X)
    usage=10031, value=26264 (Y)
  END:
END:
 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, valueHID(4 : 10002): 01 00 60 63 70 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25440 (X)
    usage=10031, value=26224 (Y)
  END:
END:
0002): 01 00 38 63 60 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 HID(4 : 10002): 01 00 18 63 58 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25368 (X)
    usage=10031, value=26200 (Y)
  END:
END:
HID(4 : 10002): 01 00 E8 62 48 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusa=10030, value=25320 (X)
    usage=10031, value=26184 (Y)
  END:
END:
:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BHID(4 : 10002): 01 00 A8 62 30 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0 HID(4 : 10002): 01 00 88 62 28 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=00031, value=26152 (Y)
  END:
END:
HID(4 : 10002): 01 00 70 62 20 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25200 (X)
    usage=10031, value=26144 (Y)
  END:
END:
00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, HID(4 : 10002): 01 00 28 62 10 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25128 (X)
    usage=10031, value=26128 (Y)
  END:
END:
HID(4 : 10002): 01 00 18 62 10 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90, value=25112 (X)
    usage=10031, value=26128 (Y)
  END:
END:
ype:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=25088 (X)
    usage=10031, value=26128 (Y)
  END:
END:
HID(4 : 10002): 01 00 E8 61 18 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON X)
    usage=10031, value=26136 (Y)
  END:
END:
opusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1HID(4 : 10002): 01 00 D8 61 18 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON   usage=10031, value=26136 (Y)
  END:
END:
egin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTOHID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=9000HID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18776 (X)
    usage=10031, value=28080 (Y)
  END:
END:
HID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0 usage=10031, value=28080 (Y)
  END:
END:
HID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18776 (X)
    usage=10031, value=28080 (Y)
  END:
END:
HID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTHID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTOND:
END:
HID(4 : 10002): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18776 (X)
    usage=10031, value=28080 (Y)
  END:
END:
02): 01 00 58 49 B0 6D 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usHID(4 : 10002): 01 00 B8 49 60 6C 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, valuge=10031, value=27744 (Y)
  END:
END:
0
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18888 (X)
    usage=10031, value=27632 (Y)
  END:
END:
HID(4 : 10002): 01 00 D8 49 80 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin  END:
END:
HID(4 : 10002): 01 00 E8 49 10 6B 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18920 (X)
    usage=10031, value=27408 (Y)
  END:
END:
): 01 00 08 4A A0 6A 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  03, value=0  (BUTTON 3)
  Begin topusageHID(4 : 10002): 01 00 10 4A E8 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18960 (X)
    usage=10031, value=27112 (Y)
  END:
END:
ype:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
 HID(4 : 10002): 01 00 08 4A 68 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON )
  END:
END:
1 00 08 4A 28 69 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90HID(4 : 10002): 01 00 08 4A F0 68 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTT952 (X)
    usage=10031, value=26864 (Y)
  END:
END:
egin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)HID(4 : 10002): 01 00 10 4A 58 68 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:D:
4 : 10002): 01 00 18 4A F8 67 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUHID(4 : 10002): 01 00 18 4A 90 67 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10HID(4 : 10002): 01 00 18 4A 30 67 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003,lue=26416 (Y)
  END:
END:
0 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18976 (X)
    usage=10031, value=26320 (Y)
  END:
END:
:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  HID(4 : 10002): 01 00 20 4A 28 66 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18976 (X)
    usage=10031, value=26152 (Y)
  END:
END:
age:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUHID(4 : 10002): 01 00 20 4A B8 65 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin, value=0  (BUTTON 3)
  Begin topusage:10000 type:6HID(4 : 10002): 01 00 18 4A 50 65 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  BHID(4 : 10002): 01 00 08 4A 30 65 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON030, value=18952 (X)
    usage=10031, value=25904 (Y)
  END:
END:
HID(4 : 10002): 01 00 F0 49 08 65 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (HID(4 : 10002): 01 00 E0 49 D0 64 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, alue=18912 (X)
    usage=10031, value=25808 (Y)
  END:
END:
HID(4 : 10002): 01 00 C8 49 88 64 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, vaopusage:10000 type:62 min:0 max:32767
    usage=10030, value=18888 (X)
    usage=10031, value=25736 (Y)
  END:
END:
 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18872 (X)
    usage=10031, value=25664 (Y)
  END:
END:
in topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usHID(4 : 10002): 01 00 98 49 A0 63 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, v
    usage=10031, value=25504 (Y)
  END:
END:
gin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18832 (X)
    usage=10031, value=25416 (Y)
  END:
END:
00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18832 (X)
    usage=10031, value=25336 (Y)
  END:
END:
HID(4 : 10002): 01 00 90 49 C0 62 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=900 value=18832 (X)
    usage=10031, value=25280 (Y)
  END:
END:
type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0HID(4 : 10002): 01 00 80 49 70 62 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begi:
(4 : 10002): 01 00 80 49 38 62 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTHID(4 : 10002): 01 00 78 49 00 62 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90 (X)
    usage=10031, value=25088 (Y)
  END:
END:
usage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin HID(4 : 10002): 01 00 40 49 80 61 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (BUTTON 2)
  usage=90003, value=0  (BUTTON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18752 (X)
    usage=10031, value=24960 (Y)
  END:
END:
TON 3)
  Begin topusage:10000 type:62 min:0 max:32767
    usage=10030, value=18744 (X)
    usage=10031, value=24928 (Y)
  END:
END:
HID(4 : 10002): 01 00 38 49 60 61 00 00 00
Begin topusage:10000 type:2 min:0 max:1
  usage=90001, value=0  (BUTTON 1)
  usage=90002, value=0  (031, value=24928 (Y)
  END:
END:
 
ok, if I upload the mouse sketch from the USBhost examples, the frame acts just like a mouse, spitting out x and y values, again obviously no multitouch. I guess I will have to enable multitouch output by sending some specific USB-packets to the frame....
 
Back
Top