|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# Qtopia Core Pointer Handling

Pointer handling in Qtopia Core works for any mouse or mouse-like device such as touch panels and trackballs.

Usually only one pointer device is supported in an embedded device, but for demonstration purposes, Qtopia Core includes a large number of supported devices.

## Mouse Protocols

Mouse drivers can be enabled/disabled via the configure script. Running `./configure` `-help` lists the available mouse drivers. Only the "pc" mouse driver is enabled in the default configuration.

Provided the "pc" mouse driver is enabled, Qtopia Core auto-detects the mouse type and device if it is one of the supported types on `/dev/psaux` or one of the `/dev/ttyS`? serial lines. If multiple mice are detected, all may be used simultaneously.

Alternatively, you may set the environment variable `QWS_MOUSE_PROTO` to determine which mouse to use. This environment variable may be set to:

> <protocol>`:`<device>

where <protocol> is one of:

- MouseMan
- IntelliMouse
- Microsoft

and <device> is the mouse device, often `/dev/mouse`. If no such variable is specified, the built-in default is `Auto`, which enables auto-detection of the mouse protocol and device.

To add another protocol, new subclasses of QWSMouseHandler and QMouseDriverPlugin can be written and installed as plugins.

## Touch Panels

Qtopia Core ships with support for the NEC Vr41XX touch panel and the emerging linux touch panel standard used by the iPAQ and Zaurus. These are subclasses of QWSCalibratedMouseHandler which is in turn a subclass of QWSMouseHandler in `src/gui/kernel/qmouse_qws.cpp`.