CHANGES

- 0.3 - Created based off of scanner & INSTALL from the original touchscreen
  driver on freshmeat (http://freshmeat.net/projects/3mtouchscreendriver)
- Amended for linux-2.4.18, then 2.4.19

- 0.5 - Complete rewrite using Linux Input in 2.6.3
   Unfortunately no calibration support at this time

- 1.4 - Multiple changes to support the EXII 5000UC and house cleaning
   Changed reset from standard USB dev reset to vendor reset
   Changed data sent to host from compensated to raw coordinates
   Eliminated vendor/product module params
   Performed multiple successfull tests with an EXII-5010UC

SUPPORTED HARDWARE:

        All controllers have the Vendor: 0x0596 & Product: 0x0001


        Controller Description          Part Number
        ------------------------------------------------------

        USB Capacitive - Pearl Case     14-205  (Discontinued)
        USB Capacitive - Black Case     14-124  (Discontinued)
        USB Capacitive - No Case        14-206  (Discontinued)

        USB Capacitive - Pearl Case     EXII-5010UC
        USB Capacitive - Black Case     EXII-5030UC
        USB Capacitive - No Case        EXII-5050UC

DRIVER NOTES:

Installation is simple, you only need to add Linux Input, Linux USB, and the 
driver to the kernel.  The driver can also be optionally built as a module.

This driver appears to be one of possible 2 Linux USB Input Touchscreen
drivers.  Although 3M produces a binary only driver available for
download, I persist in updating this driver since I would like to use the
touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the
logical choice is to use Linux Imput.

Currently there is no way to calibrate the device via this driver.  Even if
the device could be calibrated, the driver pulls to raw coordinate data from
the controller.  This means calibration must be performed within the
userspace.

The controller screen resolution is now 0 to 16384 for both X and Y reporting
the raw touch data.  This is the same for the old and new capacitive USB
controllers.

Perhaps at some point an abstract function will be placed into evdev so 
generic functions like calibrations, resets, and vendor information can be 
requested from the userspace (And the drivers would handle the vendor specific
tasks).

ADDITIONAL INFORMATION/UPDATES/X CONFIGURATION EXAMPLE:

http://groomlakelabs.com/grandamp/code/microtouch/

TODO:

Implement a control urb again to handle requests to and from the device
such as calibration, etc once/if it becomes available.

DISCLAMER:

I am not a MicroTouch/3M employee, nor have I ever been.  3M does not support 
this driver!  If you want touch drivers only supported within X, please go to:

http://www.3m.com/3MTouchSystems/downloads/

THANKS:

A huge thank you to 3M Touch Systems for the EXII-5010UC controllers for
testing!
