Summary of changes
- Add hwdb for wakeup keys that allow e.g. Wayland compositors to figure out
whether a key should unblank the screen. See gmobile.udev(5) for details.
- Contributors:
- Guido Günther
- nee
- Guido Günther
Detailed changes
gmobile (0.2.0) experimental; urgency=medium
.
[ Guido Günther ]
* util: Fix copyright header.
Fixes: e8d3fa8 ("treewide: Use consistent copyright headers")
* packaging: Update package descriptions
* README: Mention that we can be used as a shared lib
* build-howto: Explain how to use as a shared library
* build: Don't use str for boolean argument. This is deprecated in meson
* ci: No need to remove lcov anymore
* ci: Use build dependencies. Instead of open coding these use what we have
in packaging
* ci: Add workaround for broken gcovr in Debian.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1070172
* ci: Add style checks
* packaging: Handle nocheck
* packaging: Handle nodoc
* packaging: Ignore package dirs
* build: Prefer '/' over join_paths()
* data: Introduce udev rules and hwdb to track wakeup keys.
On phones and tablets the only key that should usually unidle a device
is the power button while other exposed hardware keys like the volume
buttons shouldn't e.g. take the device out of idle / unblank the screen.
Allow to specify whether an input device has wakeup keys (default is
1) and to specify whether individual keys on that device are wakeup
keys or not. E.g.
gmobile:…
GM_WAKEUP_KEY_DEFAULT=0
GM_WAKEUP_KEY_116=1
would mark all keys on the matching input device as non-wakeup keys
with the exception of the power button. This would be a typical setting
for phones. Whereas on a convertible that has a single keyboard device
containing both the exposed volume keys as well as the regular input
keys
gmobile:…
GM_WAKEUP_KEY_114=0
GM_WAKEUP_KEY_115=0
would allow all keys to unidle the device except for the exposed volume
rocker.
See https://github.com/systemd/systemd/pull/32261 for details
Device tree devices can't match via dmi modalias. The corresponding
thing there is the DT compatible. Allow to match by the most specific
part of the device tree compatible. This allows to e.g. match the volume
keys on a Librem 5 like:
gmobile:name:gpio-keys:dt:purism,librem5*
matching on a specific model would look like
gmobile:name:gpio-keys:dt:purism,librem5r4
See https://github.com/systemd/systemd/pull/32362 for details
* data/hwdb: Add wakeup keys for the Librem 11 tablet
* data/hwdb: Add wakeup keys for the Librem 5 phone
* doc: Add manpage explaining the hwdb entries.
This text based on parts of the libinput documentation.
.
[ nee ]
* data/hwdb: Add wakeup keys for the PinePhone beta
based on outputs with postmarket-os edge gnome-mobile:
pine64-pinephone:~$ sudo libinput debug-events
-event4 KEYBOARD_KEY +4294967.294s KEY_VOLUMEUP (115) pressed
event4 KEYBOARD_KEY +0.193s KEY_VOLUMEUP (115) released
event4 KEYBOARD_KEY +1.586s KEY_VOLUMEDOWN (114) pressed
event4 KEYBOARD_KEY +1.817s KEY_VOLUMEDOWN (114) released
pine64-pinephone:~$ cat /sys/class/input/event4/device/name
1c21800.lradc
pine64-pinephone:~$ cat /sys/firmware/devicetree/base/compatible
pine64,pinephone-1.2pine64,pinephoneallwinner,sun50i-a64