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