diff options
Diffstat (limited to 'src/plugins/generic/touchscreen/README')
-rw-r--r-- | src/plugins/generic/touchscreen/README | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/plugins/generic/touchscreen/README b/src/plugins/generic/touchscreen/README new file mode 100644 index 0000000000..76f695371d --- /dev/null +++ b/src/plugins/generic/touchscreen/README @@ -0,0 +1,45 @@ +Generic plug-in for evdev touch events + +(a) Using as a QPA generic plug-in + +1. set up the touch device +2. sudo apt-get install libmtdev-dev libudev-dev +3. build this plug-in (qmake && make) +4. sudo cp 70-qtouchscreen.rules /etc/udev/rules.d +5. sudo udevadm trigger --subsystem-match=input +6. run apps like this: app -platform xcb -plugin LinuxTouchScreen + +If automatic detection does not work, use -plugin +LinuxTouchScreen:/dev/input/eventN to explicitly set the device file +name. + +By default the surface of the touch device is mapped to the entire +screen. If this is not desired, define FORCE_TO_ACTIVE_WINDOW in +qtoucheventsenderqpa.cpp. This will map the touch surface to the +active window instead. + +Only touch events are generated (via +QWindowSystemInterface::handleTouchEvent), mouse events are not. This +is because on desktop the touch device will usually act as a +single-touch mouse replacement anyway. For pointer-less systems the +code needs to be extended to generate also mouse events (by calling +handleMouseEvent too). + +(b) Using in a compositor + +The classes (QTouchScreenHandler, QTouchScreenHandlerThread) are also +suitable for direct inclusion into an application, e.g. a Wayland +compositor. The compositor will then usually register its own +QTouchScreenObserver because relying on the QTouchEvents generated by +the QPA event sender is often not satisfactory, as some low-level +details may get lost, and due to performance reasons. + + +Known issues: + +The udev rule matches any touchpad device. If there are multiple ones, +specify the device as described above. + +On recent distributions (e.g. Ubuntu 11.04) you may need to remove +50-synaptics.conf from /usr/share/X11/xorg.conf.d (followed by +logout/login) otherwise no evdev events can be read. |