I was wondering if you can configure a synaptics or libinput powered touchpad to also expose its touch events, so that an API such as Xinput2.2 can consume them. Using evtest I can see that five fingers will generate what you would expect, each finger outputs its own positions, however listing the devices via Xinput2.2 displays that the touchpad does not have a touchclass and it won't generate TouchBegin/Update/End events.

  • So this is the question about "Xinput2.2". Kernel generates events as expected. Is "Xinput2.2" used in Ubuntu? – Pilot6 Dec 22 '19 at 12:47
  • Xinput2 is the interface used by gtk, qt etc on ubuntu to interface with the drivers. The question refers to how it may be possible to configure the ubuntu drivers for libinput/synaptics to what I would think is just handing over the touch events to that interface so that applications can consume it. – Tom Dec 22 '19 at 13:16
  • That is not about libinput or synapics. These user space drivers get kernel events that you can see in evdev. Based on these events they interpret them as gestures. kernel events are available to all user space applications. Nothing is to configure. – Pilot6 Dec 22 '19 at 13:36
  • To my understanding the user space drivers act as intermediary from the xserver, taking in the raw events as seen in evtest, and doing a translation before then forwarding new events to the GUI applications running under X11 in the case of Xinput2.2. The problem now is that the drivers only appear to forward a subset of those events. – Tom Dec 23 '19 at 6:39
  • User space drivers don't "forward" kernel events. They take raw kernel events, interpret them and create other events like "tap", "scroll", etc. And it is true that not all kernel events are used. Applications can read raw events too if needed. – Pilot6 Dec 23 '19 at 6:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.