This site provides documentation about the synaptiks API.
The basic touchpad functionality is provided by synaptiks::Touchpad. This class provides access to the configuration of touchpads controlled bythe xf86-input-synaptics driver. Many of the properties of the driver are wrapped in a convenient interface. The underlying class is QXDevice, which provides a high-level, but still generic interface to X11 XInput properties.
Aside of these touchpad centric classes three other classes are important. The first two, synaptiks::KeyboardMonitor and synaptiks::MouseDevicesMonitor monitor the environment. The former polls the keyboard for activity, the second monitors plugged mouse devices.
Together with synaptiks::Touchpad these two classes are combined in synaptiks::TouchpadManager. This central class controls the touchpad and switches it on or off according to the state of the keyboard and plugged mouses.
The synaptiks::SynaptiksDaemon class plugs this management functionality into KDED and into the KDE 4 workspace. It emits notifications about touchpad switches and provides a global hotkey for touchpad switching.
Moreover it configures the touchpad based on the user settings.
The daemon registers the D-Bus service de.lunaryorn.synaptiks and exports some of its objects:
/de/lunaryorn/TouchpadManager (synaptiks::TouchpadManager) /de/lunaryorn/MouseDevicesMonitor (synaptiks::MouseDevicesMonitor) /de/lunaryorn/Touchpad (synaptiks::Touchpad)The synaptiks::SynaptiksKCM class provides a module for System Settings. This module provides different user interface pages for touchpad and daemon configuration.
These pages are implemented using a set of custom widgets:
These widgets make use of some utility classes. synaptiks::MouseDevicesModel provides a model for the synaptiks::MouseDevicesMonitor on /de/lunaryorn/MouseDevicesMonitor, synaptiks::MouseDevicesView is a ready-to-use view implementation based on this model.
1.6.3