Virtual Keyboard - Kiosk Mode

A great feature would be a virtual keyboard for use in kiosk mode as with Volumio 2 with the new touchscreen plugin. Something implemented via javascript would be ideal and would minimize overhead.


+1, I think when using the touchscreen, an onscreen keyboard is a must-have, but like on a smartphone, it should only appear when the cursor is in a text field to improve usability

This virtual keyboard is really a must have for those who want to use a touch screen. I tried to install a virtual keyboard on Chromuim in the touch_display plugin (had to disable kiosk mode at chromium startup). First problem was that the virtual keyboard didn’t show just after the extension installation. So tried to reboot … but then the extension is not installed anymore. As if extension installation was done in memory …
Do you plan to add this feature to the touch_diplay plugin ? do you know another option to add a virtual keyboard that appear only when neeeded ?

Thanks in advance !

The touch display plug-in is from a third party (I believe). I guess you would need to direct these enquiries towards them atm.

It’s fairly simple to get a javascript based keyboard to display onscreen. The part I am having difficulty with is getting it to trigger the search when you press the button. It looks like this is using angular and I have never used it before to kinda stuck. It would be good to see an official plugin for this.

edit: I finally got it working, I was using jQuery and I had to change it so it loaded it before anuglar otherwise I could use the .trigger function.

I found a solution to this by installing matchbox-window-manager and matchbox-keyboard and editing a file:


  • (ssh) login to the volumio box

change the file to the following:

reboot. voilá – onscreen keyboard.

Brilliant @matika!
Just what I wanted!

@matika: excellent work!! Thanks for helping with this.

Could anyone using this, give a little feedback please.
When it appears to work well, we will replace openbox as long as the new window manager is not too much bigger in size.

– Gé –

I’ve tried it but the file says that I can’t write to it… I tried the same approach using sudo nano before creating the new file and on reboot volumio still worked but the touchscreen booted to chrome web browser instead… where might I be going wrong?

I got this working about 90% by your instructions.

I am using

  • RPi2
  • Waveshare 7" Touchscreen (working with touch)
  • Volumio 2.0 (vanilla) - no changes made yet other than enabling the touch driver for video output

What happens is, when the keyboard pops up, and I press a letter, it spams the search box - ie) touch “j” result is “jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj…” until I press another letter.

Have you encountered this at all?


Resolved by adding this to the file.

xset r off

works like a charm … excellent work, matika

I too am having this problem. Any help would be much appreciated

I’ve followed the instructions and my file looks exactly like the instructions you posted…

However, when I reboot I am met with this error message:

“Please restart Chromium as a normal user. If you need to run as root for development, rerun with the --no-sandbox flag.”

Any thoughts?

Add --no-sandbox to that last line of

thank you it works great:
raspi 2.0 , volumio 2.141, tft waveshare 7 inch, looks like:
xset +dpms
xset s blank
xset 0 0 120
matchbox-keyboard -d &
matchbox-window-manager -use_titlebar no &

openbox-session &
while true; do
–no-sandbox localhost:3000

Works well, screen might be slightly slower but well worth it for added functionality.


Just added the following lines to after installing packages:

matchbox-keyboard -d &
matchbox-window-manager -use_titlebar no &

and commented out openbox like below;
#openbox-session &

Rassberry PI 3 B and official 7" touchscreen

I did same as last poster, just added 2 obvious lines:
matchbox-keyboard -d &
matchbox-window-manager -use_titlebar no &

& commented out the following:
#openbox-session &

Search works for me using a 5" display. The on-screen keyboard is slightly too small (unless you have sharpened your fingertips to points) although there is plenty of spare space that could be used more effectively. The main killer is that the display has gone mostly red with a patterned vertical line texture. hmmm, think I’ll have to stick with the wireless keyboard. Pity. I liked the idea.

An update on my last post.

  1. I didn’t comment out the original “openbox-session &”. Why remove it?
  2. red display - loose HDMI cable - duh
  3. to maximize keyboard on 5" display I deleted top (numeric) & bottom (ctrl/ alt/ space) rows, and put the numeric keys alongside alpha keys. Good enough now.

Contrary to other comments ~/.matchbox/keyboard.xml seems to be ignored. I had to edit /usr/share/matchbox-keyboard/keyboard.xml.

FWIW I’ve attached my cut down keyboard. (482 Bytes)

I’ve found a solution:

disable the touch plugin
enables ssh (Volumio-IP/dev)
log in with SSH (volumio:volumio)
type sudo su and enter volumio as pass
type startx &
type DISPLAY=:0 /usr/bin/chromium-browser --no-touch-pinch --no-first-run --user-data-dir=’/data/volumiokiosk’ --no-sandbox
install this application
close chrome
enable touch plugin

Works perfectly :slight_smile:
In my case, just needed to desactivate again plugin after keyboard settings done

Thanks !

While I was testing that, I done this mod to remove cursor :

sudo apt-get install unclutter

edit :

sudo nano /opt/

add :

unclutter -idle 0$