Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 1 | ================ |
| 2 | mtouchusb driver |
| 3 | ================ |
| 4 | |
| 5 | Changes |
| 6 | ======= |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | |
| 8 | - 0.3 - Created based off of scanner & INSTALL from the original touchscreen |
Masanari Iida | 1f8ee46 | 2012-02-13 22:42:58 +0900 | [diff] [blame] | 9 | driver on freecode (http://freecode.com/projects/3mtouchscreendriver) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | - Amended for linux-2.4.18, then 2.4.19 |
| 11 | |
| 12 | - 0.5 - Complete rewrite using Linux Input in 2.6.3 |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 13 | Unfortunately no calibration support at this time |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | |
| 15 | - 1.4 - Multiple changes to support the EXII 5000UC and house cleaning |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 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 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 21 | Supported Hardware |
| 22 | ================== |
| 23 | |
| 24 | :: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 40 | Driver Notes |
| 41 | ============ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 43 | Installation is simple, you only need to add Linux Input, Linux USB, and the |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | driver to the kernel. The driver can also be optionally built as a module. |
| 45 | |
| 46 | This driver appears to be one of possible 2 Linux USB Input Touchscreen |
| 47 | drivers. Although 3M produces a binary only driver available for |
| 48 | download, I persist in updating this driver since I would like to use the |
| 49 | touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the |
Matt LaPlante | 2fe0ae7 | 2006-10-03 22:50:39 +0200 | [diff] [blame] | 50 | logical choice is to use Linux Input. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | |
| 52 | Currently there is no way to calibrate the device via this driver. Even if |
| 53 | the device could be calibrated, the driver pulls to raw coordinate data from |
| 54 | the controller. This means calibration must be performed within the |
| 55 | userspace. |
| 56 | |
| 57 | The controller screen resolution is now 0 to 16384 for both X and Y reporting |
| 58 | the raw touch data. This is the same for the old and new capacitive USB |
| 59 | controllers. |
| 60 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 61 | Perhaps at some point an abstract function will be placed into evdev so |
| 62 | generic functions like calibrations, resets, and vendor information can be |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | requested from the userspace (And the drivers would handle the vendor specific |
| 64 | tasks). |
| 65 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 66 | TODO |
| 67 | ==== |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | |
| 69 | Implement a control urb again to handle requests to and from the device |
| 70 | such as calibration, etc once/if it becomes available. |
| 71 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 72 | Disclaimer |
| 73 | ========== |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 74 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 75 | I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 76 | this driver! If you want touch drivers only supported within X, please go to: |
| 77 | |
Justin P. Mattock | 0ea6e61 | 2010-07-23 20:51:24 -0700 | [diff] [blame] | 78 | http://www.3m.com/3MTouchSystems/ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 79 | |
Mauro Carvalho Chehab | d80b500 | 2019-04-15 23:56:01 -0300 | [diff] [blame] | 80 | Thanks |
| 81 | ====== |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | |
| 83 | A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for |
| 84 | testing! |