Color Keyboard Demonstration

This is an implementation of a typing system for input-constrained devices whose design is described fully elsewhere.
See below for instructions. This demo requires Java 6
Note: This applet requires Java 6. It has not been tested on a wide variety of browser/OS/JVM configurations. If it doesn't work for you, and you have a strong interest in using it, it email me at tomgibara at hotmail dot com.


The principle behind the keyboard design is simple – but that doesn't mean its simple to use (unfortunately). Note that in some browsers it may be necessary to click on the keyboard with your mouse before doing any typing.

Typing is performed using four buttons; in this demonstration, the directional arrows on your computer keyboard are used. A fifth button, called the mode button is used to switch between keyboards (this provides access to a wider range of characters). In this demo, the space bar is used for this purpose.

Each arrow is associated with a colour. These are displayed in the picture above the keyboard. They are:


To enter a letter that appears on the keyboard, you are required to press the arrow buttons in the colour sequence indicated on the key. The sequence of colors is read left-to-right/top-to-bottom. If a letter appears 'ghosted' it means that that letter sequence is incompatible with the buttons you have pressed so-far (you can cancel an incomplete sequence of button presses - see below). If all the letters are ghosted, it means that the keyboard has lost focus, click on the keyboard with your mouse to restore control.

The mode button can be used to cancel an incomplete colour sequence, if it is pressed before a sequence has been completed; subsequent presses of the mode button will cycle through the available keyboards, there are four in this demonstration:

Note that the colour sequence for each key will generally change for each character you type!. This is intentional (I'm not saying its good) since it allows the system to significantly reduce the number of keystrokes you need to type to produce each character.

Unhelpfully, in this demonstration, the delete key is on punctuation keyboard and is rendered as a square. To make corrections you can, in any case, click on the text with your mouse and edit it as you would normally.

This is actually a very adaptable system that can be implemented with fewer buttons, colours and with much simpler graphics but I think embodiment of it provides the best over-all flavour of the concept.