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.