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