mtouchusb driver

Changes

  • 0.3 - Created based off of scanner & INSTALL from the original touchscreendriver on freecode (http://freecode.com/projects/3mtouchscreendriver)
  • Amended for linux-2.4.18, then 2.4.19
  • 0.5 - Complete rewrite using Linux Input in 2.6.3Unfortunately no calibration support at this time
  • 1.4 - Multiple changes to support the EXII 5000UC and house cleaningChanged reset from standard USB dev reset to vendor resetChanged data sent to host from compensated to raw coordinatesEliminated vendor/product module paramsPerformed multiple successful tests with an EXII-5010UC

Supported Hardware

All controllers have the Vendor: 0x0596 & Product: 0x0001Controller Description          Part Number------------------------------------------------------USB Capacitive - Pearl Case     14-205  (Discontinued)USB Capacitive - Black Case     14-124  (Discontinued)USB Capacitive - No Case        14-206  (Discontinued)USB Capacitive - Pearl Case     EXII-5010UCUSB Capacitive - Black Case     EXII-5030UCUSB Capacitive - No Case        EXII-5050UC

Driver Notes

Installation is simple, you only need to add Linux Input, Linux USB, and thedriver to the kernel. The driver can also be optionally built as a module.

This driver appears to be one of possible 2 Linux USB Input Touchscreendrivers. Although 3M produces a binary only driver available fordownload, I persist in updating this driver since I would like to use thetouchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel thelogical choice is to use Linux Input.

Currently there is no way to calibrate the device via this driver. Even ifthe device could be calibrated, the driver pulls to raw coordinate data fromthe controller. This means calibration must be performed within theuserspace.

The controller screen resolution is now 0 to 16384 for both X and Y reportingthe raw touch data. This is the same for the old and new capacitive USBcontrollers.

Perhaps at some point an abstract function will be placed into evdev sogeneric functions like calibrations, resets, and vendor information can berequested from the userspace (And the drivers would handle the vendor specifictasks).

TODO

Implement a control urb again to handle requests to and from the devicesuch as calibration, etc once/if it becomes available.

Disclaimer

I am not a MicroTouch/3M employee, nor have I ever been. 3M does not supportthis driver! If you want touch drivers only supported within X, please go to:

http://www.3m.com/3MTouchSystems/

Thanks

A huge thank you to 3M Touch Systems for the EXII-5010UC controllers fortesting!