84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
*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
|
|
|
|
```bash
|
|
$ 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
|
|
-------
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
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`](doc/hacking.md) for this copy, or the [official documentation](https://developer.puri.sm/projects/squeekboard/) for the current release.
|