Multitouch USB

Has anyone experience of using the USBHost library to get touch information from a USB infra-red touch frame? I can get the first touch, equivalent to a mouse click, but I cannot get simultaneous touches from multiple fingers. The frame is a 10-point multitouch frame from Greenspan - works fine in Windows so it is capable of this. The output from the hid descriptor example is:

VID 1FF7 PID 0013
0000: 06 00 FF 09 00 A1 01 85 FD 06 00 FF 09 01 09 02
0010: 09 03 09 04 09 05 09 06 15 00 26 FF 00 75 08 95
0020: 06 81 02 85 FE 06 00 FF 09 01 09 02 09 03 09 04
0030: 15 00 26 FF 00 75 08 95 04 B1 02 C0 05 01 09 02
0040: A1 01 09 01 A1 00 85 01 05 09 19 01 29 03 15 00
0050: 25 01 95 03 75 01 81 02 95 01 75 05 81 03 05 01
0060: 09 30 09 31 15 00 26 FF 7F 35 00 46 FF 7F 75 10
0070: 95 02 81 02 05 0D 09 33 15 00 26 FF 00 35 00 46
0080: FF 00 75 08 95 01 81 02 05 01 09 38 15 81 25 7F
0090: 35 81 45 7F 95 01 81 06 C0 C0 06 00 FF 09 00 A1
00A0: 01 85 FC 15 00 26 FF 00 09 01 75 08 95 3F 81 02
00B0: 09 01 91 02 C0 06 00 FF 09 00 A1 01 85 FB 15 00
00C0: 26 FF 00 09 01 75 08 95 3F 81 02 09 01 91 02 C0
00D0: 05 0D 09 04 A1 01 85 02 09 22 A1 02 09 42 15 00
00E0: 25 01 75 01 95 01 81 02 09 32 81 02 09 47 81 02
00F0: 95 05 81 03 75 08 09 51 95 01 81 02 05 01 15 00

Usage Page Undef(00)
Usage
Collection Application
Report Id(FD)
Usage Page Undef(00)
Usage
Usage
Usage
Usage
Usage
Usage
Logical Min(00)
Logical Max(FF00)
Report Size(08)
Report Count(06)
Input(00000010)
Report Id(FE)
Usage Page Undef(00)
Usage
Usage
Usage
Usage
Logical Min(00)
Logical Max(FF00)
Report Size(08)
Report Count(04)
Feature(00000010)
End Collection
Usage Page Gen Desktop Ctrls(01)
Usage
Collection Application
Usage
Collection Physical
Report Id(01)
Usage Page Button(09)
Usage Min(01)
Usage Max(03)
Logical Min(00)
Logical Max(01)
Report Count(03)
Report Size(01)
Input(00000010)
Report Count(01)
Report Size(05)
Input(00000011)
Usage Page Gen Desktop Ctrls(01)
Usage
Usage
Logical Min(00)
Logical Max(FF7F)
Physical Min(00)
Physical Max(FF7F)
Report Size(10)
Report Count(02)
Input(00000010)
Usage Page Digitizer(0D)
Usage Touch
Logical Min(00)
Logical Max(FF00)
Physical Min(00)
Physical Max(FF00)
Report Size(08)
Report Count(01)
Input(00000010)
Usage Page Gen Desktop Ctrls(01)
Usage
Logical Min(81)
Logical Max(7F)
Physical Min(81)
Physical Max(7F)
Report Count(01)
Input(00000110)
End Collection
End Collection
Usage Page Undef(00)
Usage
Collection Application
Report Id(FC)
Logical Min(00)
Logical Max(FF00)
Usage
Report Size(08)
Report Count(3F)
Input(00000010)
Usage
Output(00000010)
End Collection
Usage Page Undef(00)
Usage
Collection Application
Report Id(FB)
Logical Min(00)
Logical Max(FF00)
Usage
Report Size(08)
Report Count(3F)
Input(00000010)
Usage
Output(00000010)
End Collection
Usage Page Digitizer(0D)
Usage Touch Scr
Collection Application
Report Id(02)
Usage Finger
Collection Logical
Usage Tip Sw
Logical Min(00)
Logical Max(01)
Report Size(01)
Report Count(01)
Input(00000010)
Usage In Range
Input(00000010)
Usage Undef
Input(00000010)
Report Count(05)
Input(00000011)
Report Size(08)
Usage Undef
Report Count(01)
Input(00000010)
Usage Page Gen Desktop Ctrls(01)
Logical Min(00)

and a few touches spits out:

(01)(01)(0C)(1A)(49)(3C)
(01)(00)(00)
(00)
(0C)(49)
Touch(00)
(00)
(01)(0C)(1A)(49)(3C)(01)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
(00)(01)(0C)(1A)(49)(3C)(01)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
Touch Scr Finger Tip Sw(00)
In Range
Undef
(00)(00)(00)(00)(00)
Undef(00)
(01)(00)(0C)(1A)(49)(3C)
(01)(00)(00)
(00)
(0C)(49)
Touch(00)
(00)
(00)(0C)(1A)(49)(3C)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
(00)(00)(0C)(1A)(49)(3C)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)(00)
Touch Scr Finger Tip Sw(00)
In Range
Undef
(00)(00)(00)(00)(00)
Undef(00)

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.