Guido Günther d696c9624e Reuse the unused popover ui file for i18n
Since the current code uses a handcoded approach for popup construction
reuse the unused ui file to keep translatable strings. Since UI file in
popover.rs runs through glib the strings get translated.

Future rework will allow us to get rid of this duplication but since the
ui file went unnoticed for so long who could possibly complain.

Closes: #315
2021-12-03 18:58:24 +01:00
2021-05-15 12:46:42 +00:00
2021-08-19 12:22:12 +00:00
2021-12-03 18:58:12 +01:00
2021-08-13 08:36:33 -07:00
2021-12-03 18:58:12 +01:00
2021-11-23 18:16:36 +01:00
2010-06-04 12:09:08 +09:00
2019-07-17 19:39:33 +02: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%