Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.


Create a Qt4 frontend for onboard, the On-screen Keyboard.


Kubuntu currently doesn't ship with an on-screen keyboard which is a vital usability application. Using Qt4 would ensure easy integration into future versions of Kubuntu which would ship with KDE4.

Onboard already has frontend-backend separation as it has been designed with a future Qt/KDE port in mind.

Use Cases

Czarina suffers from motion impairments and needs to use an on-screen keyboard to type in data into her machine running Kubuntu.

Jonathan Riddell's keyboard doesn't work properly with Feisty, he can use a virtual keyboard waiting for a fix Smile :)


A Qt4 frontend using the python bindings for Qt4 to supplement the current GTK frontend.

Design and Implementation

Use SVG to draw the keyboard on a QGraphicsView widget. GraphicsView has support for mouse input which will pick up user entry. Full support for features that the backend provides, such as scanning, hovering, sticky keys etc can be added by using the same interfaces to the backend.

A configuration dialog along with an optional system tray icon to implement the same UI provided by onboard-settings. Configuration needs to be separate from the gnome frontend which uses gconf, as a Qt app it would be effectively impossible to use gconf so we should use an INI file with QSettings.

The package should be separated into onboard-common, onboard-gnome and onboard-kde.

Unresolved Issues

This spec is an alternative to KubuntuAccessibilityKeyboard. We will implement KubuntuAccessibilityKeyboard first, but if onboard is ported to KDE as per this spec, that will become our preference.


KubuntuOnboard (last edited 2008-08-06 16:41:09 by localhost)