Ubuntu Frame OSK Documentation

Ubuntu Frame OSK is the easiest way to add on-screen keyboard support to Ubuntu Frame. To create Ubuntu Frame OSK, we selected Squeekboard, an on-screen keyboard built by Purism for the Librem 5. We chose Squeekboard because it’s modern, stable, and actively maintained. Maintainers and contributors also made Squeekboard really easy to work with, plus it supports a large and growing number of languages and layouts, such as US, German, Russian, Arabic, and many more.

Setup System

Make sure you’ve installed and refreshed Ubuntu Frame.

For the on-screen keyboard to work, you’ll need to use it with an app that supports a text input Wayland protocol (zwp_text_input_v3 or zwp_text_input_v2). Some apps and toolkits known to work are: Firefox, wpe-webkit-mir-kiosk, GTK, Flutter and Qt. Legacy X11 apps do not work with the OSK.

Install Ubuntu Frame OSK

To install the snap, run:

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

On Ubuntu Core, Ubuntu Frame OSK runs automatically on startup. By default it does not do this on classic systems. If you want to turn this behavior on or off:

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

You can also manually run Ubuntu Frame:

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

Daemon

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

Theme

You can switch between light and dark mode with the theme option:

sudo snap set ubuntu-frame-osk theme=dark
sudo snap set ubuntu-frame-osk theme=light

Layout

To list all available languages/keyboard layouts:

ubuntu-frame-osk.list-layouts

To change the layout, set the layout option to the desired ID. For example, to use Arabic:

sudo snap set ubuntu-frame-osk layout=ara

You can enable multiple layouts. For example, to set layouts used in Switzerland:

sudo snap set ubuntu-frame-osk layout=ch,ch+fr,us

The first is used by default, and the other’s are available in the menu opened by the layout button in the bottom left. The emoji and terminal layouts are always available.

1 Like

Hi @wmww,

I believe the following config must be added to get it working:

snap set ubuntu-frame config "
add-wayland-extensions=zwlr_layer_shell_v1:zwp_virtual_keyboard_manager_v1:zwp_text_input_manager_v3:zw 
p_input_method_manager_v2
"

Hi @viniciusoliveira,

Hi, that shouldn’t be necessary and I need a bit more information to work out what’s happening.

  1. What operating system are you using?
  2. How are you running Ubuntu Frame and Ubuntu Frame OSK? From the command line? As daemons?

[edit]

This probably duplicates the discussion at

https://github.com/MirServer/ubuntu-frame/issues/77

1 Like

Is it possible to hide the keyboard if no input has focus?

That’s how it works.

1 Like

A post was split to a new topic: Ubuntu Frame OSK not showing up

This doesn’t work for me. I’ve installed ubuntu-frame and ubuntu-frame osk on Ubuntu Core 22, and I’ve set the URL for wpe-webkit-mir-kiosk to my local AdGuard Home URL. I’ve logged in using the on-screen keyboard, but after logging in the OSK stays on top of the dashboard page although there’s no input widget anymore on that page. Even navigating to other pages doesn’t hide the OSK.

I’ve installed wpe-webkit-mir-kiosk, ubuntu-frame and ubuntu-frame-osk and set the url to https://www.google.co.uk/.

If I click on the search entry, the keyboard appears, if I click elsewhere it disappears.

I can’t know what your local website is doing, but I would guess it is indicating to the browser that it is expecting text input.

1 Like

Ok, then it’s a bug in AdGuard Home, I’ll investigate and report there. Thanks!