[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