gpm-types - pointer types (mice, tablets, etc.) managed by gpm.
The information below is extracted from the texinfo file, which is the
preferred source of information.
This manpage describes the various pointer types currently
available in gpm. If you look at the source code, you'll find that
pointer-specific code is confined to `mice.c' (while it used to only include
mouse decoders, gpm now supports tablets and touchscreens as well).
The mouse type is specified on command line with the `-t' option.
The option takes an argument, which represents the name of a mouse type.
Each type can be associated to different names. For old mouse types, one
name is the old selection-compatible name, and another is the XFree name.
After version 1.18.1 of gpm, the number of synonyms was made arbitrary and
the actual name being used is made available to the function responsible for
mouse initialization. Therefore it is possible for a mouse decoder to behave
slightly differently according to the name being used for the device (if
this feature was already present, we wouldn't have for example ms+ and ms+lr
as different mouse types).
The initialization procedure of each mouse type can also receive
extra option, by means of the -o command line option. Since interpretation
of the option string is decoder-specific, the allowed options are described
in association to each mouse type. When no description of option strings is
provided, that means the option string is unused for that mouse type and
specifying one generates an error. When the document refer to ``standard
serial options'' it means that one of -o dtr, -o rts, -o both can be
specified to toggle the control lines of the serial port.
The following mouse type are corrently recognized:
- bare Microsoft
- The Microsoft protocol, without any extension. It only reports two
buttons. If your device has three, you should either try running the mman
decoder or msc. In the latter case, you need to tell the mouse to talk msc
protocol by toggling the DTR and RTS lines (with one of -o drt, -o rts or
-o both) or invoking `gpm -t msc' while keeping the middle button pressed.
Very annoying, indeed. This mouse decoder accepts standard serial options,
although they should not be needed.
- ms
- This is the original Microsoft protocol, with a middle-button extension.
Some old two-button devices send some spurious packets which can be
misunderstood as middle-button events. If this is your case, use the
`bare' mouse type. Some new two-button devices are ``plug and play'', and
they don't play fair at all; in this case try -t pnp. Many (most)
three-button devices that use the microsoft protocol fail to report some
middle-button events during mouse motion. Since the protocol does not
distinguish between the middle button going up and the middle button going
down it would be liable to get out of step, so this decoder declares the
middle button to be up whenever the mouse moves. This prevents dragging
with the middle button, so you should probably use `-t ms+lr' instead of
this decoder, especially if you want to use X. This mouse decoder accepts
standard serial options, although they should not be needed.
- ms+
- This is the same as `-t ms' except that the middle button is not reset
during mouse motion. So you can drag with the middle button. However, if
your mouse exhibits the usual buggy behaviour the decoder is likely to get
out of step with reality, thinking the middle button is up when it's down
and vice versa. You should probably use `-t ms+lr' instead of this
decoder. This mouse decoder accepts standard serial options, although they
should not be needed.
- ms+lr
- This is the same as `-t ms+' except that there is an additional facility
to reset the state of the middle button by pressing the other two buttons
together. Do this when the decoder gets into a confused state where it
thinks the middle button is up when it's down and vice versa. (If you get
sick of having to do this, please don't blame gpm; blame your buggy mouse!
Note that most three-button mice that do the microsoft protocol can be
made to do the MouseSystems protocol instead. The ``3 Button Serial Mouse
mini-HOWTO'' has information about this.) This mouse decoder accepts
standard serial options, although they should not be needed.
- msc MouseSystems
- This is the standard protocol for three-button serial devices. Some of
such devices only enter MouseSystem mode if the RTS, DTR or both lines are
pushed low. Thus, you may try -t msc associated with -o rts, -o dtr or -o
both.
- mman Mouseman
- The protocol used by the new Logitech devices with three buttons. It is
backward compatible with the Microsoft protocol, so if your mouse has
three buttons and works with -t ms or similar decoders you may try -t mman
instead to use the middle button. This mouse decoder accepts standard
serial options, although they should not be needed.
- sun
- The protocol used on Sparc computers and a few others. This mouse decoder
accepts standard serial options, although they should not be needed.
- mm MMSeries
- Title says it all. This mouse decoder accepts standard serial options,
although they should not be needed.
- logi Logitech
- This is the protocol used by old serial Logitech mice.
- bm BusMouse
- Some bus devices use this protocol, including those produced by Logitech.
- ps2 PS/2
- The protocol used by most busmice.
- ncr
- This `type' is able to decode the pointing pen found on some laptops (the
NCR 3125 pen)
- wacom
- The protocol used by the Wacom tablet. Since version 1.18.1 we have a new
Wacom decoder, as the old one was not working with new tablets. This
decoder was tested with Ultrapad, PenPartner, and Graphire tablets.
Options: -o relative (default) for relative mode, -o absolute for absolute
mode.
- genitizer
- The This mouse decoder accepts standard serial options, although they
should not be needed.
- logim
- Used to turn Logitech mice into Mouse-Systems-Compatible. Obviously, it
only works with some of the Logitech mice.
- pnp
- This decoder works with the new mice produces by our friend Bill, and
maybe with the old ones as well. The Pnp protocol is hardwired at 1200
baud and is upset by normal initialization, so this is a -t bare decoder
with no initialization at all. This mouse decoder accepts standard serial
options, although they should not be needed.
- ms3
- A decoder for the new serial IntelliMouse devices, the ones with three
buttons and a protocol incompatible with older ones. The wheel is
currently unused.
- imps2
- ``IntelliMouse'' on the ps/2 port. This type can also be used for a
generic 2-button ps/2 mouse too, since it will auto-detect the type.
- netmouse
- Decodes the ``Genius NetMouse'' type of devices on the ps/2 port. For
serial ``Netmouse'' devices, use the ``ms3'' decoder.
- cal
- A decoder of the ``Calcomp UltraSlate device.
- calr
- Same as above, but in relative mode.
- twid
- Support for the twiddler keyboard. As of gpm-1.14 this decoder includes a
char generator for the text console, but doesn't yet support X keycodes.
If used with `-R', `gpm' will anyway repeat mouse events to the X server.
More information about twiddler support can be found in `README.twiddler',
in the gpm distribution.
- syn synaptics
- A decoder for the Synaptics TouchPad connected to the serial port. This
mouse decoder accepts standard serial options, although they should not be
needed.
- synps2
synaptics_ps2
- Same as above, but for the devices attached to the ps2 port.
- brw
- A decoder for the Fellowes Browser, a device with 4 buttons and a wheel.
This mouse decoder accepts standard serial options, although they should
not be needed.
- js Joystick
- This mouse type uses the joystick device to generate mouse events. It is
only available if the header `linux/joystick.h' is found at compile time.
The header (and the device as well) has been introduced only during 2.1
development, and is not present in version 2.0 of the kernel.
- summa
- This is a decode for the Symmagraphics of Genius tablet, run in absolute
mode. A repeater is associated to this decoder, so it can -R summa can be
used to generate X events even for other absolute-pointing devices, like
touchscreens. To use the repeated data from X, you need a modified
xf86Summa.o module.
- mtouch
- A decoder for the MicroTouch touch screen. Please refer to the file
`README.microtouch' in the source tree of gpm for further information. In
the near future, anyways, I plan to fold back to this documentation the
content of that file.
- gunze
- A decoder for the gunze touch screen. Please refer to the file
`README.gunze' in the source tree of gpm for further information. In the
near future, anyways, I plan to fold back to this documentation the
content of that file. The decoder accepts the following options: smooth=,
debounce=. An higher smoothness results in slower motion as well; a
smaller smoothness gives faster motion but, obviously, less smooth. The
default smoothness is 9. The debounce time is express in milliseconds and
is the minimum duration of an up-down event to be taken as a tap. Smaller
bounces are ignored.
- acecad
- The Acecad tablet in absolute mode.
- wp wizardpad
- Genius WizardPad tablet
src/mice.c The source file for pointer decoders
gpm(8) The General Purpose Mouse server
The info file about `gpm', which gives more complete information
and explains how to write a gpm client.