74479ff2266f12b3c8e2f9149af0dd1ee0f44718
If you have a keyboard layout like the following: A B C D E F G H I J K The E and G keys here should be pressed when clicking in the empty space next to them. This is achieved by not checking the bounding boxes of each key and instead just using the button and row offset to extend buttons/rows to the edges of the view. Caching for the size and position of rows is introduced to simplify implementation and possibly improve performance. Fixes #191
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.
Build from git repo
$ git clone https://source.puri.sm/Librem5/squeekboard.git
$ cd squeekboard
$ mkdir ../build
$ meson ../build/
$ cd ../build
$ ninja test
$ ninja install
Running
$ phoc # if no compatible Wayland compositor is running yet
$ cd ../build/
$ src/squeekboard
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%