KarsMulder / evsieve

A utility for mapping events from Linux event devices.
GNU General Public License v2.0
199 stars 11 forks source link

Multi-touch finger count #24

Open icedman opened 1 year ago

icedman commented 1 year ago

How does one filter for 3 finger multi-touch events? I wanted to convert a three finger multi-touch motion into a mouse drag. (Like in macOS)

--print doesn't seem to provide info on number of fingers

KarsMulder commented 1 year ago

The Linux kernel reports which finger is responsible for multitouch events by sending an ABS_MT_SLOT event (documentation).

However, evsieve currently does not contain any useful abstractions that make it easy to work with such events. I've kinda considered them to be out of scope for now.

I have considered that in the future ABS_MT events should contain the slot as part of the event code (e.g. abs:mt_position_x(0):1 might mean "an EV_ABS, ABS_MT_POSITION_X event for slot 0 and value 1) which is why evsieve gives a warning that ABS_MT support is unstable whenever you try to use them.