New features:
- evfb and evfbo backend (!4)
- configurable colors (!7)
Fixes:
- meta and switch layout keys are pressable even when they can't be emitted as key presses
- keysym modifiers correctly update which key presses can be emitted
- keep imgref and polling dependencies up-to-date
During a normal boot in the postmarketOS initramfs, the TTY is not
easily accessible. The on-screen keyboard is expected to send the
password to stdout instead of to a uinput device. Add the evfbo backend
to support full-disk encryption.
Outside of a terminal emulator or web browser, this typing experience
can be useful outside the DE, such as in the TTY or when entering a
password for full-disk encryption. Add a target that uses the bare
hardware to allow the keyboard to be deployed in more flexible
environments.
The imgref and polling dependencies have an API that shouldn't break
without a major version change. Rely solely on the major version number
to tell Cargo which package to use.
The zbus and tokio dependencies have an API that shouldn't break without
a major version change. Rely solely on the major version number to tell
Cargo which package to use.
For bindgen, macro version numbers should be omitted.
Key presses can be sent to kwin with the EI (Emulated Input) protocol.
Connecting is handled by the xdg-desktop-portal D-Bus APIs and the
current D-Bus implementation is large. Add a separate target for KDE.
The ashpd and reis dependencies are required for using an
xdg-desktop-portal to connect to an Emulated Input Server. Add them to
prepare for better support on KDE.
The SXMO (sway) environment expects that the on-screen keyboard does not
handle visibility by itself. Add a new target that ignores the program's
own show/hide requests and shows the keyboard on startup.
It should be possible to build both Wayland (sans D-Bus) and GNOME
versions simultaneously. Add a Wayland target, and, for consistency,
rename the GNOME target.
The D-Bus interfaces used by Phosh are org.gnome.SessionManager for
recovering critical services from crashes and sm.puri.OSK0 for manual
on-screen keyboard activation. Add support for them.