On-screen keyboard support in Ubuntu Frame

We are pleased to announce that the latest stable release of Ubuntu Frame officially supports the Squeekboard-based ubuntu-frame-osk on-screen keyboard snap. This is useful for touchscreen devices, and any other context where an OSK is desirable.

Ubuntu Frame -- now with on-screen keyboard support

Setup

First, update Ubuntu Frame. All channels now have OSK support:

sudo snap refresh ubuntu-frame

If you haven’t installed and set Ubuntu Frame up yet, you may want to follow one of the tutorials linked on the snap listing page.

For OSKs to work, you’ll need an app that supports the zwp_text_input_v3 protocol. GTK apps, Firefox and wpe-webkit-mir-kiosk do. Qt apps, unfortunately, do not (see this bug).

NOTE: at time of writing, the ARM64 version of wpe-webkit-mir-kiosk is having problems. Until an updated, working version is released the OSK won’t work with it on that architecture.

Next, install the on-screen keyboard:

sudo snap install ubuntu-frame-osk

If on a classic system, make sure it’s connected to the Wayland interface:

snap connect ubuntu-frame-osk:wayland

If you want to run Ubuntu Frame OSK as a daemon on a classic system you’ll need to enable it. On Ubuntu Core this is done automatically:

sudo snap set ubuntu-frame-osk daemon=true

Or, you can manually run Ubuntu Frame instead of running it as a daemon:

ubuntu-frame-osk

Once Ubuntu Frame, an OSK-supporting app and Ubuntu Frame OSK are all running on the same Wayland display, the OSK should appear whenever you click a text field.

Configuration

To enable or disable the OSK daemon (which makes it run automatically on startup):

sudo snap set ubuntu-frame-osk daemon=true
sudo snap set ubuntu-frame-osk daemon=false

To set the keyboard layout/language, set the snap’s layout property. For example, to set the layout to arabic:

sudo snap set ubuntu-frame-osk layout=ara

If you’re currently using the layout you want on gnome-based Linux distro, but you don’t know what the abbreviation for it is you can get it with:

gsettings get org.gnome.desktop.input-sources sources | cut -d "'" -f 4

The keyboard might print some No such file or directory errors, but it should still work.x

Authentication (under the hood)

Some of the Wayland extensions required by an on-screen keyboard could be a security problem if exposed to malicious programs. For example, malware could take control of a system by feeding input into some other application without showing a keyboard at all. For this reason, we use apparmor to only expose the OSK protocols (zwp_input_method_manager_v2, zwp_virtual_keyboard_manager_v1, and zwlr_layer_shell_v1) to the ubuntu-frame-osk snap.

2 Likes