dc7e84810bd66c4542e14977b38105a11b7a6c20
It seems that is Squeekboard is already running, the next instance will not fail to acquire a bus name, but instead lose it immediately. This message has been reported by users who experiment with Squeekboard for the first time, so let's make it easier for them to find the solution without having to reach out.
squeekboard - a Wayland virtual keyboard
Squeekboard is a virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.
It squeaks because some Rust got inside.
Features
Present
- GTK3
- Custom yaml-defined keyboards
- DBus interface to show and hide
- Use Wayland input method protocol to show and hide
- Use Wayland virtual keyboard protocol
Temporarily dropped
- A settings interface
TODO
- Use Wayland input method protocol
- Pick up DBus interface files from /usr/share
Building
Dependencies
See .gitlab-ci.yml or run apt-get build-dep .
Build from git repo
$ git clone https://source.puri.sm/Librem5/squeekboard.git
$ cd squeekboard
$ mkdir _build
$ meson _build/
$ cd _build
$ ninja
To run tests use ninja test. To install squeekboard run ninja install.
Running
$ phoc # if no compatible Wayland compositor is running yet
$ cd ../build/
$ src/squeekboard
Squeekboard honors the gnome "screen-keyboard-enabled" setting. Either enable this through gnome-settings under accessibility or run:
$ gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
To make the keyboard show you can use either an application that does so automatically, like a text editor or python3 ./tools/entry.py, or you can manually trigger it with:
busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
What the compositor has to support
A compatible compositor has to support the protocols:
- layer-shell
- virtual-keyboard-v1
It's strongly recommended to support:
- input-method-v2
Developing
See doc/hacking.md for this copy, or the official documentation for the current release.
Description
Languages
Rust
68.3%
C
25.7%
Meson
2.7%
Python
1.9%
CSS
1.1%
Other
0.3%