Guido Günther 9b7e065b0f popover: Move Emoji and Terminal to ui file
This allows them to be translated via po so we don't have to maintain
the translation list by hand or care about empty translation files.

The only downside is that the "overlay layouts" in OVERLAY_NAMES need to
match the ones in the ui file but since a missing one is a clean crash
when selected there's little potential for subtle breackage. We could
even ensure consistency by comparing the two at run time but they change
only slowly this is not much of an issue (compared to how e.g. new
languages can be added now).
2021-12-08 15:27:17 +01:00
2021-12-05 20:57:02 +01:00
2021-08-19 12:22:12 +00:00
2021-08-13 08:36:33 -07:00
2021-12-05 17:31:12 +01:00
2010-06-04 12:09:08 +09:00
2021-12-04 17:58:14 +01:00
2019-10-10 16:13:30 +00:00
2010-06-04 12:09:08 +09:00
2021-12-03 18:58:12 +01:00
2020-02-23 10:42:07 +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

Creating layouts

If you want to work on layouts, check out the guide.

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

Environment Variables

Besides the environment variables supported by GTK and GLib applications squeekboard honors the SQUEEKBOARD_DEBUG environment variable which can contain a comma separated list of:

  • force-show : Show squeekboard on startup independent of any gsettings or compositor requests
  • gtk-inspector: Spawn gtk-inspector

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
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%