3M Touch Systems, Inc.
TouchWare for Linux
Version 5.64, April 2006
Copyright 2001-2006 3M. All rights reserved.
---------------------------------
PRODUCT SUMMARY
---------------------------------
TouchWare for Linux is the software for your 3M Touch Systems touch
screen. It allows you to select, launch, and drag objects using the
touch screen.
TouchWare provides full touch screen functionality for all applications
running under Linux 2.4 and 2.6 kernels running XFree86 4.
---------------------------------
FEATURES AND ENHANCEMENTS
---------------------------------
* Added multiple monitor support.
* Added support for the MicroTouch IST and DST series touch screens.
* Added support for kernel 2.6.
* Changed distribution from a tar.gz file to an RPM. This eases the
installation of the product.
* Added support for the MicroTouch SC series USB touch screens.
* Moved the automated searching of the serial ports for touch controllers
from kernel driver to an optional daemon program. This eliminates
conflicts and workarounds found in systems that run Red Hat Fedora Core 2
or 3 and with systems that do not have serial ports. This also eliminates
some delays in booting the system.
* Added support of init scripts that automatically install the driver and
modify the XF86Config file. This eliminates the manual setup used in
previous versions.
---------------------------------
RETRIEVING THE FILES
---------------------------------
TouchWare for Linux Kit is a source RPM file. This kit contains the required
files to build a kernel driver specific to your kernel. This RPM works with
any kernel 2.4 and 2.6 system. Before you can build the driver, you must
create a custom built RPM for your system.
* Open a terminal window if you are not already at a command line prompt.
* Change your working directory to the location of the distribution RPM file.
* Issue the command "rpm -ivh TWDrv.src.rpm" where is the
rest of the source RPM file name.
---------------------------------
BUILDING THE DRIVER
---------------------------------
Before building the driver, you must have your kernel sources prepared for
your system.
* Open a terminal window if you are not already at a command line prompt.
* Change your working directory to the location of the RPM spec files for
your system. This is usually /usr/src//SPECS. The
placeholder for is system specific. For example,
this directory is "redhat" for most Red Hat systems.
* Issue the command "rpmbuild -ba TWDrv.spec". This builds a driver specific
to your kernel version. This results in a custom built RPM file which is
located in /usr/src//RPMS/i686.
---------------------------------
BUILDING FOR OTHER KERNELS
---------------------------------
* It is possible to build the driver for kernels other than the one you are
currently running. To do so, you must specify the environment variable
KERNEL_RELEASE to define which kernel source to use. For example, the
following lines build a driver for a 2.6.10-1.1 kernel source on a system.
> KERNEL_RELEASE=2.6.10-1.1
> export KERNEL_RELEASE
> rpmbuild -ba --define "kernel $KERNEL_RELEASE" TWDrv.spec
---------------------------------
INSTALLING THE DRIVER
---------------------------------
* Open a terminal window if you are not already at a command line prompt.
* Change your working directory to the location of the custom built RPM file.
* Issue the command "rpm -i TWDrv.rpm" where is the rest
of the custom built RPM file name.
---------------------------------
UNINSTALLING THE DRIVER
---------------------------------
* Open a terminal window if you are not already at a command line prompt.
* Issue the command "rpm -e TWDrv". This command does not remove the kernel
module. To finish the uninstall, you need to reboot the system.
---------------------------------
RUNNING THE CALIBRATION UTILITY
---------------------------------
* The calibration utility is named TwCalib and is in the directory
/etc/twscreen/TwCalib. This program may be moved to any location
for your convenience, for example /usr/bin.
* Run this program with the command "/etc/twscreen/TwCalib/TWCalib" or
equivalent to calibrate your touch screen. Note that this is an
X Windows program and must be run while the X Server is running.
* TWCalib presents two targets (three for some SC controllers), one at a
time, for you to touch. Touch these targets to calibrate the touch screen.
* TWCalib now has multiple command line arguments. To get information on
command line arguments issue "/etc/twscreen/TwCalib/TWCalib -?". Most of
the arguments are used to override programs default behaviour in multiple
monitor situation, But, if multiple monitor configuration is correctly
done TWCalib does not require any arguments.
* In multiple monitor setup, you must configure the touch screens prior to
running TWCalib. Refer to section "MULTIPLE MONITOR SUPPORT" for
instructions.
* There is one command line argument for TWCalib that specifies the device
to which the touch screen controller is attached. The default is
/dev/twscreen1, which is the first touch screen controller supported by
the driver. You may specify other devices as appropriate, such as
/dev/ttyS0.
* If the calibration utility fails to open a port even if it appears touch is
working, there are two known issues. The first issue is that the SC USB
controllers are supported and recognized by the HID module provided by
kernel. This module conflicts with the TouchWare kernel module. The second
issue is a conflict with the "mtouchusb" module. To resolve this situation,
refer to "DISABLING HID SUPPORT" and "KNOWN ANOMALIES" sections below.
---------------------------------
MULTIPLE MONITOR SUPPORT
---------------------------------
* TouchWare 5.64 now supports multiple monitor configurations.
* Before you start with touch screen multimonitor configuration, you have to
identify video display configuration. This includes number of displays, and
their physical position with regard to touch screens. System information
about video displays is usually located in the Xwindows configuration file.
In case of clones (same image on all displays) multiple monitor configuration
is not required.
* All touch screens have to be attached and the system rebooted before
proceeding to next step.
* The multi-monitor configuration utility is named MultiMonitorTool and is
found in the directory /etc/twscreen/TwCalib. This program may be moved to
any location for your convenience, for example /usr/bin.
* Run this program with the command "/etc/twscreen/TwCalib/MultiMonitorTool"
or equivalent to configure your touch screen mapping. Note that this is a
command line program and must be run in terminal window.
* MultiMonitorTool will present previous configuration (if available) and
ask permission to continue. Next, it will ask how many video displays and
touch screens are present on the system. This tool relies on you to enter
correct numbers.
* Next, the tool will ask you to touch every touch screen (one at a time) and
enter the number of each display. For example, if you have two displays and
two touch screens, touch the primary display and enter 0, then touch the
second display and enter 1.
* After all information is entered, you have the option to save configuration
or discard it. After saving new configuration, you have to restart X server
or reboot the system.
* If the tool fails to start, confirm that the driver is installed.
* If the tool doesn't recognize your touch when you are touching the screen, it
usually means one of the touch screens is captured by the HID or "mtouchusb"
module. To resolve this situation, refer to "DISABLING HID SUPPORT" and
"KNOWN ANOMALIES" sections below.
---------------------------------
TOUCH MODE SETTINGS
---------------------------------
* TouchWare 5.64 now supports diferent touch modes. The available touch Mode
options are Draw, Touchdown and Liftoff. Default mode is Draw. To set touch
mode you need to add one of these three lines to Config file.
Option "TouchMode" "draw"
Option "TouchMode" "touchdown"
Option "TouchMode" "liftoff"
---------------------------------
DISABLING HID SUPPORT
---------------------------------
* SC series controllers are HID compliant devices therefore they are
recognized by HID kernel module. This module does not correctly support the
MicroTouch devices and conflicts with the TouchWare kernel module. To
resolve this conflict, recompile the HID module and include the MicroTouch
devices in module's black list. MicroTouch's vendor ID is 0x0596 and the
device IDs are 0x0100 for the SC400 and SC800 controllers, 0x0102 for the
SC500 controller, 0x0200 for IST controller, and 0x0300 for DST controller.
---------------------------------
HANDLING MONITOR ROTATION
---------------------------------
* Most monitors are used in landscape mode, where the display is wider than
it is tall. This is the normal situation. If your system is like this, you
should not need to make any adjustments. However, if your display is oriented
differently, such as in portrait mode where the display is taller than it is
wide, follow the instructions below to add options to the "InputDevice"
section.
* First, always test your system without making any adjustments. Calibrate the
touch screen. Touch the display in a corner. If the cursor appears under your
finger, then you need no further changes. Otherwise, follow these steps.
* In the "InputDevice" section, add the option "AutoRotate" and set it to "off".
Save the changes and restart the X Windows server. Calibrate the touch screen
and test a corner. If the touch is still off, proceed to the next step. The
line you need to add to turn autorotation off is as follows.
Option "AutoRotate" "off"
* Finally, keeping the "AutoRotate" option "off", add the option "Rotate" and
give it a value of "CW", "CCW", or "UD". Use "CW" if your monitor is rotated
90 degrees clockwise, "CCW" if your monitor is rotated 90 degrees
counterclockwise, and "UD" if your monitor is upside down. Save the changes,
restart the X Windows server, and calibrate the touch screen in normal
landscape mode. You need to add one of these three lines.
Option "Rotate" "CW"
Option "Rotate" "CCW"
Option "Rotate" "UD"
---------------------------------
KNOWN ANOMALIES
---------------------------------
* The calibration utility uses the library libstdc++.so.5. You need to
download and install a package with this version, that supplies this
library if it is not already on your system. The RPM cannot install
until this is installed.
* The calibration utility uses X window functionality to detect display
resolution. In multiple monitor situation with Clone or Xinerama options
enabled calibration could ,in certain situations, display calibration
targets in wrong places. We recommend you edit the Xwindows Config file
(FX86 Config) to turn off the Clone and Xinerama options, calibrate the
touch screens, and change Xwindows Config file to previous state.
* At this time, there are versions of the X Input module that are built
against XFree86 versions 4.0.3 and 4.1.0. The version built against
XFree86 version 4.1.0 also works on systems using versions 4.2.0 and 4.3.0.
* The driver requires exclusive access to the serial portís IRQ. If the IRQ
must be shared, the driver may not work. If you need shared access, you
need to edit the init script /etc/init.d/TWDrvStartup. Locate the line
that defines the variable SEARCH_OPTIONS. Change the argument "-iexclusive"
to "-ishared".
* In some Linux distributions, the "mtouchusb" module is enabled to support
MicroTouch devices. This module conflicts with the TouchWare kernel module.
To resolve this problem, disable the "mtouchusb" either in the kernel or
simply delete it from kernel modules tree.
___________________________________________________________________________
MicroTouch, the MicroTouch logo, and TouchWare are either registered
trademarks or trademarks of 3M in the United States and/or other countries.
Linux is a registered trademark of Linus Torvalds in the U.S. and/or other
countries.
X Window System is a trademark of X Consortium, Inc.
Red Hat is a registered trademark of Red Hat, Inc.
Fedora(TM) is a trademark of Red Hat, Inc.
___________________________________________________________________________