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