On OSX you can have an onscreen keyboard shown (Preferences > Language & Text > Input Sources > mark "Keyboard & Character Viewer". You'll then have a new icon in the menu bar with the item "Show Keyboard Viewer")

From time to time I find this useful to figure out which modifier key to press to get a certain character, as the online keyboard changes when you press modifier keys (alt, ctrl, etc.). The latter is critical for me.

Is there something similar on Ubuntu?

enter image description here

  • No answers here answer the question. The virtual keyboards are not substitutes of keyboard viewers because they can conflict with your current keyboard settings, while keyboard viewer not. Another thread about the topic here unix.stackexchange.com/q/382987/16920 – Léo Léopold Hertz 준영 Aug 1 '17 at 19:35

Onboard is installed by default, not sure if it is exactly what you are looking for but it is an option.enter image description here

  • 2
    Was promising as it was available by default. Unfortunately, the keys don't change when pressing a modifier key on my real physical keyboard – Rabarberski Sep 4 '11 at 8:21
  • Bummer sorry this won't help then. – TheXed Sep 5 '11 at 2:59
  • By accident +1, but really -1. The OP wants virtual keyboard viewer, not virtual keyboard. This software caused my system to restart because misconfigured the keyboard, although I closed the app. – Léo Léopold Hertz 준영 Aug 1 '17 at 19:23
  • You just down voted a 6 year old answer. kudos to you. – TheXed Aug 1 '17 at 19:24
  • 1
    @TheXed Time does not matter because the answers are here completely wrong. The OP wants keyboard viewer, not virtual keyboard. Your solution causes serious problems in many settings so should not be used for the task. - - I upvoted you by accident, but it should be down vote so comment for it. – Léo Léopold Hertz 준영 Aug 1 '17 at 19:38

xvkbd is an option... http://packages.ubuntu.com/dapper/xvkbd

xvkbd is a virtual (graphical) keyboard program for X Window System which provides facility to enter characters onto other clients (softwares) by clicking on a keyboard displayed on the screen. This may be used for systems without a hardware keyboard such as kiosk terminals or handheld devices. This program also has facility to send characters specified as the command line option to another client.

enter image description here Illustration is from the net.

The same as matchbox-keyboard-im

Matchbox-keyboard is an on-screen 'virtual' or 'software' keyboard, designed for touch-screen devices running X.

Matchbox is a base environment for the X Window System running on non-desktop embedded platforms such as handhelds, set-top boxes, kiosks and anything else for which screen space, input mechanisms or system resources are limited.

This package provides a GTK+ input module for use with Matchbox-keyboard or other on-screen keyboards.

enter image description here

Illustration is from the net

Both they are in my repositories on Natty but further information can be reached on the official websites.

I remember to have used one of these when installed Jaunty on a Touch Screen HP Laptop, and can inform that it works pretty fine.

I hope this help.

Good luck!

  • 1
    xvbd: the keys don't change when pressing a modifier key on my real physical keyboard. I installed matchbox using aptitude, but I have no clue on how to start it. – Rabarberski Sep 4 '11 at 8:31
  • try installing matchbox-keyboard instead. Then search for keyboard in Unity. – m-ric Dec 10 '13 at 14:45
  • This is not what the OP wants. OP wants keyboard viewer, not virtual keyboard. – Léo Léopold Hertz 준영 Aug 1 '17 at 19:37
  • So we can say @LéoLéopoldHertz준영 just came to down vote answers without providing a solution. What a useful thing! Thank you Léo! – Geppettvs D'Constanzo Aug 6 '17 at 12:01

Florence seems to be quite a good option.

Florence is an extensible scalable virtual keyboard for GNOME.

It is useful when a real keyboard is unusable either because of a handicap, disease, broken keyboard or tablet PC; but when a pointing device is usable.

Florence stays out of your way: it appears on the screen only when needed. An auto-click functionality also help people having difficulties to click buttons.


  1. Download: http://sourceforge.net/project/platformdownload.php?group_id=217749
  2. Extract to a folder.
  3. Open a terminal window inside the folder.
  4. Run ./configure and follow any instructions it might give you (update packages, install something, ...).
  5. Run make.
  6. If You haven't got it installed yet, install checkinstall (sudo apt-get install checkinstall).
  7. Run sudo checkinstall.
  • The apt.ubuntu link resulted in "could not find package florence'. And it wasn't available in apt-get either – Rabarberski Sep 4 '11 at 8:33
  • That's strange :s Maybe it's in one of the many PPA's I've added... Anyway, here's the link: florence.sourceforge.net/english.html – RobinJ Sep 4 '11 at 9:07
  • @RobinJ - can I suggest you edit into your answer your comment together with how someone could install the software. – fossfreedom Sep 4 '11 at 9:14
  • @fossfreedom Done. – RobinJ Sep 4 '11 at 9:46
  • I think it's possible to search for the packages in the USC and see from which repo it is. – Oxwivi Sep 4 '11 at 11:17

I don't know where Ubuntu package for this is exactly, but Gnome (specifically Gnome-Shell) has a standard UI component for this that suits your requirements exactly.

It is usually accessed through the panel keyboard layout widget, but if it exists on the system you can call it directly from any DE, including unity. Just call up the gkbd-keyboard-display app. You will need to pass it an argument of the layout name you want to view. For example for the standard US English layout:

gkbd-keyboard-display -l us

If you don't know the name of your layout, you can use setxkbmap -query to find it. To view your current layout whategkbd-keyboard-display -l $(setxkbmap -query | sed -n '/^layout/ {s/.*: *//g;p}')ver it may be, try:

gkbd-keyboard-display -l $(setxkbmap -query | sed -n '/^layout/ {s/.*: *//g;p}')

The app will show you the current layout including what you will get with modifier keys and show you what keys you are currently pressing. It does not act as an on-screen keyboard to enter keystrokes via the mouse, it only shows you info about the keyboard layout.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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