MoonlightWave-12 3387154ac1 scaling: Improve scaling
Issues fixed by this change:

- Empty space above and below layouts.
- The compact shape, which is supposed to be used on small screens,
  did not scale up until it reached the border of the screen, on some
  screens, resulting in empty space next to it, and smaller buttons.
- The compact shape was used on some screens in horizontal orientation,
  instead of the wide shape.
- The panel was rather small on large screens.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/677>
2024-09-21 10:21:42 +00:00
2023-02-16 12:59:23 +00:00
2024-04-14 17:49:06 +02:00
2024-09-01 11:20:28 +00:00
2023-02-04 18:03:54 +00:00
2024-09-21 10:21:42 +00:00
2024-03-11 17:45:57 +01:00
2010-06-04 12:09:08 +09:00
2024-08-17 13:08:58 +00:00
2019-10-10 16:13:30 +00:00
2024-09-20 23:22:52 +00:00
2024-08-17 12:48:01 +00:00

squeekboard - a Wayland on-screen keyboard

Squeekboard is the on-screen-keyboard input-method for Phosh. It is primarily designed for smartphones, tablet-PCs, and other devices with touchscreens.

It squeaks because some Rust got inside.

Features

Present

  • GTK3
  • Custom keyboard layouts defined in yaml
  • Input purpose dependent keyboard layouts
  • DBus interface to show and hide
  • Use Wayland input method protocol to submit text
  • Use Wayland virtual keyboard protocol

TODO

Creating layouts

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

Nightly builds

For testing the latest commits of the main-branch, one can install the nightly builds of Squeekboard. For more information about the nightly builds, read the "Phosh Nightly Package Builds"-blog-post.

Building

Dependencies

See .gitlab-ci.yml or run apt-get build-dep .

Build from git repo

$ git clone https://gitlab.gnome.org/World/Phosh/squeekboard.git
$ cd squeekboard
$ mkdir _build
$ meson setup _build/
$ cd _build
$ ninja

To run tests use ninja test. To install squeekboard run ninja install.

Running

$ cd ../build/
$ src/squeekboard

If no compatible Wayland compositor is running yet, you can use Phoc (after installing it):

$ phoc --exec 'src/squeekboard'

Squeekboard's panel will appear whenever a compatible application requests an input method. Click a text field in any GTK application, like python3 ./tools/entry.py.

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

Alternatively, force panel visibility manually with:

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

or by using the environment-variable SQUEEKBOARD_DEBUG=force_show.

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%