Generic plug-in for evdev multiple touch (ABS_MT) events. Supports protocol type A & B. Type B is supported both directly and via libmtdev. Single-touch devices reporting ABS_X and Y only are not supported by this plugin. Use tslib or evdevmouse instead. The protocol type will be detected automatically. To enable libmtdev support uncomment the USE_MTDEV define in evdevtouch.pro. Tested with the following kernel drivers: bcm5974 (type A) hid_magicmouse (type A with ABS_MT_TRACKING_ID) (type B over libmtdev) wacom (type B) To use this "driver", pass -plugin EvdevTouch on the command line. If automatic detection does not work, use -plugin EvdevTouch:/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, pass force_window in the plugin specification as shown in the example above. This will cause mapping the touch surface to the active window instead. For example: ./fingerpaint -plugin EvdevTouch:force_window Only touch events are generated, mouse events are not. Be aware however that ignored touch events will generate a mouse event from the first touch point by default. See AA_SynthesizeMouseForUnhandledTouchEvents. If no evdev events are read, X may be grabbing the device. Disable the synaptics driver from X or temporarily disable the device by running xinput set-prop 0. Use xinput list and xinput list-props to figure out the values. When not running on a windowing system (eglfs, kms, etc.) and having a touchpad, the evdevmouse and touch plugins can be combined to get both mouse and touch events: ./app -platform kms -plugin EvdevTouch -plugin EvdevMouse If the input device cannot be accessed, set up a udev rule. For example: sudo cp 70-qtouchscreen.rules /etc/udev/rules.d sudo udevadm trigger --subsystem-match=input The sample udev rule matches any touchpad or touchscreen device. If there are multiple ones, specify the device manually as described above.