Back to home page

OSCL-LXR

 
 

    


0001 ================
0002 mtouchusb driver
0003 ================
0004 
0005 Changes
0006 =======
0007 
0008 - 0.3 - Created based off of scanner & INSTALL from the original touchscreen
0009   driver on freecode (http://freecode.com/projects/3mtouchscreendriver)
0010 - Amended for linux-2.4.18, then 2.4.19
0011 
0012 - 0.5 - Complete rewrite using Linux Input in 2.6.3
0013   Unfortunately no calibration support at this time
0014 
0015 - 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
0016   Changed reset from standard USB dev reset to vendor reset
0017   Changed data sent to host from compensated to raw coordinates
0018   Eliminated vendor/product module params
0019   Performed multiple successful tests with an EXII-5010UC
0020 
0021 Supported Hardware
0022 ==================
0023 
0024 ::
0025 
0026         All controllers have the Vendor: 0x0596 & Product: 0x0001
0027 
0028 
0029         Controller Description          Part Number
0030         ------------------------------------------------------
0031 
0032         USB Capacitive - Pearl Case     14-205  (Discontinued)
0033         USB Capacitive - Black Case     14-124  (Discontinued)
0034         USB Capacitive - No Case        14-206  (Discontinued)
0035 
0036         USB Capacitive - Pearl Case     EXII-5010UC
0037         USB Capacitive - Black Case     EXII-5030UC
0038         USB Capacitive - No Case        EXII-5050UC
0039 
0040 Driver Notes
0041 ============
0042 
0043 Installation is simple, you only need to add Linux Input, Linux USB, and the
0044 driver to the kernel.  The driver can also be optionally built as a module.
0045 
0046 This driver appears to be one of possible 2 Linux USB Input Touchscreen
0047 drivers.  Although 3M produces a binary only driver available for
0048 download, I persist in updating this driver since I would like to use the
0049 touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
0050 logical choice is to use Linux Input.
0051 
0052 Currently there is no way to calibrate the device via this driver.  Even if
0053 the device could be calibrated, the driver pulls to raw coordinate data from
0054 the controller.  This means calibration must be performed within the
0055 userspace.
0056 
0057 The controller screen resolution is now 0 to 16384 for both X and Y reporting
0058 the raw touch data.  This is the same for the old and new capacitive USB
0059 controllers.
0060 
0061 Perhaps at some point an abstract function will be placed into evdev so
0062 generic functions like calibrations, resets, and vendor information can be
0063 requested from the userspace (And the drivers would handle the vendor specific
0064 tasks).
0065 
0066 TODO
0067 ====
0068 
0069 Implement a control urb again to handle requests to and from the device
0070 such as calibration, etc once/if it becomes available.
0071 
0072 Disclaimer
0073 ==========
0074 
0075 I am not a MicroTouch/3M employee, nor have I ever been.  3M does not support
0076 this driver!  If you want touch drivers only supported within X, please go to:
0077 
0078 http://www.3m.com/3MTouchSystems/
0079 
0080 Thanks
0081 ======
0082 
0083 A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
0084 testing!