Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8597

Troubleshooting • Re: Onscreen Keyboard don't work with chromium in kiosk or fullscreen(F11)-mode

$
0
0
I have gathered a few insights and am sharing them with you here.

labwc supports the following layer order:
background
bottom
regular application windows
always-on-top windows
top
fullscreen windows
overlay
lockscreen

By default, Squeekboard is hardcoded to appear on the top layer.
However, if you want the keyboard to appear above fullscreen apps or Chromium in kiosk mode, it really should be placed on the overlay layer instead.

You can find the source code here:
🔗 https://gitlab.gnome.org/World/Phosh/squeekboard

Feel free to download it, apply the fix locally, compile it, and enjoy controlling fullscreen or kiosk-mode Chromium with the squeekboard.

There is likely a good reason why Squeekboard was designed to render on top by default and not always use overlay.
I've opened an issue on the Squeekboard project asking whether this behavior could be made configurable or improved.
I'm trying to find where the layering is done in squeekboard, could you point me out in the right direction ?
My solution:

The file to edit: eek/layersurface.c

Looking for function: void phosh_layer_surface_set_layer (PhoshLayerSurface *self, guint32 layer)

Add directly after the" priv = ... Block" following code:
/* Check env var override */
const char *env = g_getenv("SQUEEKBOARD_LAYER");
if (env && g_strcmp0(env, "overlay") == 0) {
layer = 3; // ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY
}

After compiling start with parameter SQUEEKBOARD_LAYER=overlay squeekboard

Statistics: Posted by nfstoney — Wed Aug 06, 2025 5:28 am



Viewing all articles
Browse latest Browse all 8597

Trending Articles