cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mtouchusb.rst (2829B)


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