1CHANGES 2 3- 0.3 - Created based off of scanner & INSTALL from the original touchscreen 4 driver on freecode (http://freecode.com/projects/3mtouchscreendriver) 5- Amended for linux-2.4.18, then 2.4.19 6 7- 0.5 - Complete rewrite using Linux Input in 2.6.3 8 Unfortunately no calibration support at this time 9 10- 1.4 - Multiple changes to support the EXII 5000UC and house cleaning 11 Changed reset from standard USB dev reset to vendor reset 12 Changed data sent to host from compensated to raw coordinates 13 Eliminated vendor/product module params 14 Performed multiple successful tests with an EXII-5010UC 15 16SUPPORTED HARDWARE: 17 18 All controllers have the Vendor: 0x0596 & Product: 0x0001 19 20 21 Controller Description Part Number 22 ------------------------------------------------------ 23 24 USB Capacitive - Pearl Case 14-205 (Discontinued) 25 USB Capacitive - Black Case 14-124 (Discontinued) 26 USB Capacitive - No Case 14-206 (Discontinued) 27 28 USB Capacitive - Pearl Case EXII-5010UC 29 USB Capacitive - Black Case EXII-5030UC 30 USB Capacitive - No Case EXII-5050UC 31 32DRIVER NOTES: 33 34Installation is simple, you only need to add Linux Input, Linux USB, and the 35driver to the kernel. The driver can also be optionally built as a module. 36 37This driver appears to be one of possible 2 Linux USB Input Touchscreen 38drivers. Although 3M produces a binary only driver available for 39download, I persist in updating this driver since I would like to use the 40touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the 41logical choice is to use Linux Input. 42 43Currently there is no way to calibrate the device via this driver. Even if 44the device could be calibrated, the driver pulls to raw coordinate data from 45the controller. This means calibration must be performed within the 46userspace. 47 48The controller screen resolution is now 0 to 16384 for both X and Y reporting 49the raw touch data. This is the same for the old and new capacitive USB 50controllers. 51 52Perhaps at some point an abstract function will be placed into evdev so 53generic functions like calibrations, resets, and vendor information can be 54requested from the userspace (And the drivers would handle the vendor specific 55tasks). 56 57TODO: 58 59Implement a control urb again to handle requests to and from the device 60such as calibration, etc once/if it becomes available. 61 62DISCLAIMER: 63 64I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support 65this driver! If you want touch drivers only supported within X, please go to: 66 67http://www.3m.com/3MTouchSystems/ 68 69THANKS: 70 71A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for 72testing! 73