[PATCH libinput 0/8] Add libinput_device_suspend() to disable devices
Peter Hutterer
peter.hutterer at who-t.net
Tue Aug 19 20:18:48 PDT 2014
This patchset adds two new API hooks, libinput_device_suspend() and
libinput_device_resume() which do what it says on the box. No special event
is sent when suspending or resuming, so this is really the hook to ignore a
specific device.
The main idea here is two-fold:
some devices simply shouldn't send events, in which case suspending them
means fewer wakeup calls. The other use-case is touchpads. GNOME and other
DE's provide hooks to disable the touchpad altogether - suspending it
achieves that.
Now, there are some issues that we should discuss:
* the touchpad use-case seems to be mainly caused by bad palm detection in
the synaptics driver. Presumably having near-perfect palm detection
would remove the need for that toggle (except on the
devices that have that magic "disable touchpad button" on the touchpad
itself). So there's an argument that we don't necessarily need this, but I
don't know yet how good palm detection can be.
* the second problem: I don't think we provide enough information to
callers to identify which device we don't need. Short of name matching
there is no way currently to a touchpad before disabling it. Same goes for
identifying any other device we don't care about.
To allow that, we'd need some sort of device identification system beyond
simple capabilities.
* the third problem: the T440s. Users want to disable the touchpad but allow
the top software buttons need to continue to work. That would be fairly
trivial to implement in libinput, but we'd have to send the top software
buttons through the trackstick device. And to be consistent here, we'd
have to do that in the non-suspended state too, which opens a can of
worms.
discuss, because I'm rather stuck now.
Cheers,
Peter
More information about the wayland-devel
mailing list