2019-09-16 17:07:41 +02:00
2019-09-12 11:26:03 +00:00
2019-07-04 14:51:00 +02:00
2019-09-13 15:25:48 +00:00
2019-06-26 18:17:54 +02:00
2019-09-13 19:52:19 +00:00
2010-06-04 12:09:08 +09:00
2019-07-17 19:39:33 +02:00
2011-03-08 11:25:19 +09:00
2019-09-11 12:03:57 +00:00
2019-09-11 12:03:57 +00:00
2010-06-04 12:09:08 +09:00
2019-09-13 09:09:17 +00:00
2019-09-13 15:55:26 +00:00

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

Maintenance

Use the cargo.sh script for maintaining the Cargo part of the build. The script takes the usual Cargo commands, after the first 2 positionsl arguments: source directory, and output artifact. So, cargo test becomes:

cd build_dir
/source_path/cargo.sh /source_path '' test

Testing

Testing with an application:

python3 tests/entry.py

Testing visibility:

$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false

Testing layouts:

$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ua')]"
$ gsettings set org.gnome.desktop.input-sources current 1
Description
An on-screen-keyboard input method for Wayland
Readme 4.4 MiB
Languages
Rust 68.3%
C 25.7%
Meson 2.7%
Python 1.9%
CSS 1.1%
Other 0.3%