
This file tells how to use gpm and X with a touch screen (this is
being written as an addition to gpm 1.17.5 and currently the only
supported touchscreen is the MicroTouch).


		USER INTERFACE
		--------------

The decoder currently implemented in gpm is quite simple: it only
supports mouse motion and button-1 events.

When a user touches the screen, the decoder generates mouse motion
events. Tapping on the screen generates button-press (as well as drag and
release) events.

A "tap" is a finger-down event generated quickly after a finger-up
(half a secon at most). This means that you'll usually move the
pointer to the desired position and then tap on it.

Double-and triple clicks are easily generated by repeated tapping.

Since tapping is usually accompanied by a small movement, the decoder
will use the coordinates of the finger-up event for the button-press.
Further dragging will be relative to the tapping position (i.e., the
finger-up position). Moreover, the last coordinate pair received on
finger-up is discarded, because it usually is slightly offset (due to
the non-negligible area of the fingertip)


		GPM OPERATION
		-------------

In order to run the touchscreen with gpm, you need to update the
/dev/mouse symbolic link to point to the right serial port; then
invoke gpm with a command line like

	gpm -t mtouch

Unfortunately, there is currently no way to paste text. I think some
modifier key should be eligible to this role but this would mean an
in-depth modification to gpm. We have to discuss about it to make the
right choice.


		Calibration
		-----------

To calibrate the touchscreen, use the program "microtouch-setup" found
in the source tree of gpm. The gpm daemon must already be running in
order for the program to work flawlessly, as the program stops and
restarts gpm internally (it depends on gpm for correct serial port
initialization). "microtouch-setup" uses /dev/mouse to access the
serial port, so /dev/mouse should point to a "ttyS" device.


		X OPERATION
		-----------

In order to use the touchscreen in X, you should install in your
system the "Summa" module, as modified by Frank Holtz (the driver is
available from http://www.hof-berlin.de/tablet/tablet.html).

Gpm must run in repeater mode, with a command line like:
	gpm -t mtouch -Rsumma
, which instructs gpm to repeat packets according to the Summa protocol.

Then, you need to add the following sections to your XF86config:

	Section "module"
	        Load "xf86Summa.so"
	EndSection
	
	Section "Xinput"
	    Subsection "SummaSketch"
	        Port "/dev/gpmdata"
	        DeviceName "touchscreen"
	        Mode Absolute
	        AlwaysCore
	    EndSubSection
	EndSection


Moreover, you should disable the "Pointer" section. I used a trick
like this one:

	Section "Pointer"
	    Protocol    "MouseSystems"
	    Device      "/dev/fifo"
	EndSection

Where /dev/fifo is just a plain unused fifo ("mknod /dev/fifo p")

	Calibration
	-----------

To calibrate the touchscreen, use the program "microtouch-setup" found
in the source tree of gpm (yes, it is the same program used for the
text mode). The gpm daemon must already be running in order for the
program to work flawlessly, as the program stops and restarts gpm
internally (it depends on gpm for correct serial port
initialization). "microtouch-setup" uses /dev/mouse to access the
serial port, so /dev/mouse should point to a "ttyS" device.
