Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# Qt/Embedded Pointer Handling

Pointer handling in Qt/Embedded works for any mouse or mouse-like device such as touchpanels and trackballs.

Usually only one pointer device is supported in an embedded device, but for demonstration purposes, Qt/Embedded 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, Qt/Embedded 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

Qt/Embedded ships with support for the NEC Vr41XX touchpanel and the emerging linux touchpanel standard used by the iPAQ and Zaurus. These are subclasses of QCalibratedMouseHandler which is in turn a subclass of QMouseHandler in `kernel/qwsmouse_qws.cpp`.