Here is an image for an experimental on-screen keyboard encoded in a font.

This experimental on-screen keyboard has only three characters, but this is a concept testing experiment. If this can be made to work, then such a keyboard could contain many characters from any encoded script or encoded symbol set.
The idea is that beneath the indicating glyph is a colour panel.
In the experiment, the colour of each indicating panel is a colour different from the colour of every other indicating panel in the glyph.
The Description text of the font would also include the following.
%original
{
ctc 0 255 0 → $0061
ctc 0 255 10 → $0062
ctc 0 255 20 → $0063
}
The ctc means colour to character.
In order that the capability to include more than one keyboard in a font, with overlapping use of colours, is available there is a facility that some colours can be global so as to change which colour to character table is being used. However, %original is the default colour to character table and does not need to be specifically selected at start up.
Apart from %original and %global, any name starting with % may be used as the name of a colour to character table.
I am thinking that it would be a good idea for the colours in a colour to character table never to be grey scale and for global colours always to be grey scale.
Examples of %global commands.
%global 10 10 10 → %Greek
%global 50 50 50 → %Cyrillic
%global 90 90 90 → %original
The %global 90 90 90 → %original in the above examples is so that one can get back to the original colour to character table.
It would need a special software application to make all of this work.
However, at the moment, one can download the image file and open the image in Microsoft Paint and use, for each colour indicating panel in turn, the colour picker then use the following.
Colors
Edit Colors…
Define Custom Colors >>
Also, at the moment, one can think about how such a facility could be useful.
William Overington
28 August 2013