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