This is what I deduce, but i'm not too sure about the last 3 items, as they don't specify a report size, only report count. Also, what is the point of the last const report?
Ok, got it working. Had to remove the ReportID field. Other than that it works...
Attached is a project for the CY8KIT-059 board. Pressing the button will draw around the edge of the screen.
Design01.cyprj_.Archive01.zip 600.5 K
Thank you for sharing the project. As from c-code, my understanding that it works as a mouse emulator for Windows. Can you elaborate what it can be used for?
It looks superficially like a mouse, yes, but windows 7 and up sees it as a touch screen device. Windows enables touch screen functionality, including Flicks and tablet features like touch screen calibration. The HID descriptor is based on Microsoft's recomended HID for a single touch touch screen.
It enables a Tablet PC Settings option in the control panel where you can do the calibration and selection of which screen the touch is connected to etc
I created this project because I am tired of touch screen controller vendors that implement their own USB protocol and then write their own crappy drivers and calibration tools that crash or does not support multi monitor etc. So I'm busy developing my own firmware for the PSOC3 touch screen controller board that ships with the touch screens that we buy.
This might also work under linux but I have not tested it yet.