SOK
Henrik Nilsen Omma
henrik at ubuntu.com
Fri May 26 15:14:17 BST 2006
Chris Jones wrote:
> I don't think cairo could be trusted to render an SVG in the same way
> as inkscape. It's a good idea though and it would be worth having the
> xml layout file svg-like.
Right, so this just shows how little I know about Cairo and SVG :)
Looking at the GOK keyboard files, I see that the XML markup is fairly
wordy (like /usr/share/gok/keyboard.kbd) and there are _very many_
files. Layout and content seems to be mixed.
I wonder if we could split the definitions into 2 or 3 layers?
1. Keycodes and glyphs:
- a table that links keycodes with letters in all languages - this
obviously exists already in the form of some UTF-8 lookup table or
something.
2. Local keyboard layouts
- This defines the way that keys normally appears on a keyboard.
Clearly definition files of this exist already as well, that we can hook
into.
3. Layout files. This would be a very simple file that ties a key code
to a spatial location, and this file should be fairly easy to edit for
those who want to make custom keyboards. It would contain a combination
of standard key references and custom buttons (like Exit).
So the 3rd file might look something like:
101= ck_esc
201= sk_q
202 = sk_w
203 = sk_e
301 = ck_space
Here 'ck' is custom-key and 'sk' is standard key, each defined in their
own files. sk_q refers to the letter that normally appears in the 'Q'
position on an English keyboard (on some keyboards z and y are swapped
or whatever).
The numbers 1001, links to a layout file where the exact coordinates are
defined, along the lines that you mentioned. There can be several such
'lines' in a single keyboard, grouping the numbers in 100s just makes it
easier to keep them organised.
Does that make sense?
- Henrik
More information about the Ubuntu-accessibility
mailing list