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