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.