David Boddie 0057c80b2e Release pressed keys when dragging outside the keyboard
If no keys are under the touch position when dragging then release all
existing pressed keys. This fixes the problem where the last pressed key
causes events to be sent while the touch position moves outside the
keyboard extent.
2019-08-02 15:31:18 +00:00
2019-07-04 14:51:00 +02:00
2019-07-23 10:20:02 +02:00
2019-07-04 14:51:00 +02:00
2019-08-01 20:30:57 +00:00
2019-06-26 18:17:54 +02: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
2010-06-04 12:09:08 +09:00
2019-07-30 13:08:12 +00:00

squeekboard - a Wayland virtual keyboard

Squeekboard is a virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.

Features

Present

  • GTK3
  • Custom xml-defined keyboards
  • DBus interface to show and hide

Temporarily dropped

  • A settings interface

TODO

  • Use Wayland virtual keyboard protocol
  • Use Wayland text input protocol
  • 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 install

For development, alter the meson call:

$ meson ../build/ --prefix=../install

and don't skip ninja install before running. The last step is necessary in order to find the keyboard definition files.

Running

$ rootston
$ cd ../build/
$ src/squeekboard

Testing

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