I followed Alan D. Moore's step-by-step guide to have my Raspberry Pi running in kiosk mode.

I did my own configuration as I needed it to run on a touchscreen with no physical keyboard and mouse.

Here's how my ~/.xinitrc file looks.

xset s off
xset -dpms
matchbox-window-manager &
matchbox-keyboard &
while true; do
    rsync -qr --delete --exclude='.Xauthority' /opt/kiosk/ $HOME/
    midori -i 600 -e Fullscreen -e Navigationbar -a http://myport.ac.uk

I used apt-get install for the matchbox-keyboard to be used as an on-screen virtual keyboard solution.

Just look at how small the keys are! Barely touchable and super inaccurate... example

The real question is if anyone knows of a way to make the keyboard bigger, could recommend other solutions or tweak the config? I am a total debian newbie so I really hope I get some help here. :)

  • Have you tried adjusting the --font-size and --geometry UI options for matchbox-keyboard command? Commented Apr 3, 2013 at 14:43
  • @emcconville matchbox-keyboard --font-size --geometry & ? I can't seem to find any documentation on this (or I don't know where to look). Commented Apr 3, 2013 at 14:53
  • Apologies. I was referencing Matchbox 1.5 fork. Original matchbox-keyboard should support a few UI options, like font-point size & column/row spacing Commented Apr 3, 2013 at 15:47
  • I tried them but I'm not very confident about my execution of the solution. What I did was just add --fontptsize 30 & to the above code but this time the keyboard doesn't even appear... I think I'm doing something wrong with the code. Any ideas? Commented Apr 3, 2013 at 16:04
  • 1
    Any progress? We're trying to clean up the site and this question hasn't been touched for a while...@emcconville Have you anything to add? Commented Jan 11, 2014 at 4:52

4 Answers 4


Try to reduce the resolution of your screen for X or for RPI overall to something smaller, ie 1024x768 or similar, based on connected monitor aspect ratio.

Typically in linux you can do it in X-server(xorg.conf) settings, but for RPI just edit /boot/config.txt to force a specific video mode, ie:

# Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60)

All modes (including non-HDMI) are listed here for your reference: http://elinux.org/RPi_config.txt


You should be able to control where matchbox-keyboard shows using the --geometry argument. This page suggests that the appropriate call would be something like this:

matchbox-keyboard --geometry HxW.y.x

x and y are the on-screen coordinates of the top-left corner of the keyboard window (from the top left corner of the screen), and W and H are the width and height of the keyboard.

There's an application called devilspie2 that lets you mess around with where windows go when the application is first launched if they don't support the --geometry command line argument (that's most applications).

What you need to do is first install:

sudo apt-get install devilspie2

And then add it to the .xinitrc file so that it starts when X does:

matchbox-window-manager &
devilspie2 &
matchbox-keyboard &

Finally, you need to configure devilspie2 so that it knows what to do about matchbox-keyboard. You need to edit ~/.config/devilspie2/keyboard.lua:

if (get_window_name() == "matchbox-keyboard") then

x,y,W,H are the same as above. Assuming 1920x1080, I'd suggest something like 0,600,1920,480.


Since you are making a web app, how about javascript virtual keyboard, or sometimes called on screen keyboard, as discussed here


matchbox is a very primitive virtual keyboard. If you're open to other options I recommend checking out Onboard which makes theming & customization much easier. On raspbian you will also need the at-spi2-core module

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.