An experimental keyboard for quick prototyping and to debug input related issues in phosh. For a production ready on-screen keyboard see squeekboard.
The purpose of phosh-osk-stub:
- allow experimentation without the risk of breaking end user systems
- be helpful when debugging input-method related issues
- be quick and easy to (cross)compile
- allow to move GObject bits and Widgets over to squeekboard easily if desired (hence provide API documentation)
Features:
- easy to swap out with squeekboard (implements phosh's sm.puri.OSK0 DBus interface) for low risk experimentation
- easy to temporarily replace running instance (
--replace
option) - no language boundaries within the codebase to lower the entrance barrier
- use current GTK and GObject patterns (actions, bindings, …)
- use GNOME libs and technologies wherever possible (GSettings, json-glib, …)
- character popover
- emoji layout
- cursor navigation via space-bar long-press
- word correction via hunspell
- use any program as completer via a
pipe
completer (Example) - experimental word completion based on the presage library
- experimental input of Indic languages using varnam
- allow to prevent keyboard unfold for certain apps (via app-id)
- allow to prevent keyboard unfold when a hardware keyboard is present
phosh-osk-stub is licensed under the GPLv3+.
git clone https://gitlab.gnome.org/guidog/phosh-osk-stub
cd phosh-osk-stub
The main branch has the current development version.
On a Debian based system run
sudo apt-get -y install build-essential
sudo apt-get -y build-dep .
For an explicit list of dependencies check the Build-Depends
entry in the
debian/control file.
We use the meson (and thereby Ninja) build system for phosh-osk-stub. The quickest way to get going is to do the following:
meson setup -Dgtk_doc=false _build
meson compile -C _build
meson test -C _build
We're disabling the doc build above as it reduces build time a lot.
When running from the source tree first start phosh. Then start phosh-osk-stub using:
_build/run --replace
Note that there's no need to install any files outside the source tree. The
--replace
option temporarily replaces a running phosh-osk-stub
so there's
no need to stop a running instance.
The result should look something like this:
phosh-osk-stub
has support for word completion. There are different
completers built in and it's easy to add more. See the manpage on
available completers and how to configure them.
The API documentation is available at https://guidog.pages.gitlab.gnome.org/phosh-osk-stub.
For end user documentation see the manpage (or in the installed
system via man phosh-osk-stub
).