While I am waiting for Teensy 4 multi touch to be fixed, I bought a Teensy 3.2, and multi touch is working... kinda.
Windows 10 is not really seeing multiple concurrent touches, but instead sees many single touches firing quickly, consecutively, which gives the illusion of multi touch, but breaks when you try to emulate certain multi touch features.
This site here shows it perfectly
( http://dev.openlayers.org/examples/multitouch.html ). A regular multi touch screen puts the count up to 10 on that site, but the Teensy stays at one, sometimes flickers between 1 and 2, but never more.
I was looking through the teensy 3 report descriptor in usb_desc.c and followed the link to MSFT site detailing hybrid mode report - https://msdn.microsoft.com/en-us/library/windows/hardware/jj151563(v=vs.85).aspx
There it gives an example on the bottom 'The following example shows 2 frames of 5 reports each for single-finger hybrid device representing 5 counts.' Where the report includes a Contact Count.
Looking in the report descriptor in teensy, the contact count is emitted.
So, I have added the contact count to the descriptor
But I can't see where to actually pass the contact count.
I can get the contact count by checking the values in the pressure array in usb_touch.c, but I just don't know where to add that count to the report!?! I tried adding it to the end of tx_packet->buf in usb_touchscreen_update_callback (usb_touch.c) and updating the report size in the descriptor from 8 to 9, but that doesn't work.
So, where can I add the Contact count?
Thanks in advance
Windows 10 is not really seeing multiple concurrent touches, but instead sees many single touches firing quickly, consecutively, which gives the illusion of multi touch, but breaks when you try to emulate certain multi touch features.
This site here shows it perfectly
( http://dev.openlayers.org/examples/multitouch.html ). A regular multi touch screen puts the count up to 10 on that site, but the Teensy stays at one, sometimes flickers between 1 and 2, but never more.
I was looking through the teensy 3 report descriptor in usb_desc.c and followed the link to MSFT site detailing hybrid mode report - https://msdn.microsoft.com/en-us/library/windows/hardware/jj151563(v=vs.85).aspx
There it gives an example on the bottom 'The following example shows 2 frames of 5 reports each for single-finger hybrid device representing 5 counts.' Where the report includes a Contact Count.
Looking in the report descriptor in teensy, the contact count is emitted.
So, I have added the contact count to the descriptor
Code:
0x09, 0x54, // USAGE (Contact count)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
But I can't see where to actually pass the contact count.
I can get the contact count by checking the values in the pressure array in usb_touch.c, but I just don't know where to add that count to the report!?! I tried adding it to the end of tx_packet->buf in usb_touchscreen_update_callback (usb_touch.c) and updating the report size in the descriptor from 8 to 9, but that doesn't work.
So, where can I add the Contact count?
Thanks in advance