New manufacturing data flags for keyboards (2nd draft).
Mitch Bradley
wmb at laptop.org
Sat Oct 6 17:38:08 EDT 2007
Jim's proposal solves the X problem, and I think we should adopt it.
We also have the problem of letting OFW and the Linux kernel know enough
about the keyboard so developers can type US ASCII , which is the common
subset that is sufficient for managing diagnostics, booting, and
installation procedures.
One solution would be to include a lot of keymaps in OFW and select one
based on the new KL tag. However, I'm not keen on having to carry
around a lot of keymaps in the ROM, and extend that list from time to time.
I would rather have another new tag whose value is a map from US ASCII
characters to the scancode+shift_state that corresponds to that
character's printed location on the keyboard. The trivial encoding
would be 9 bits per 7-bit US ASCII character - 7 bits for the scancode +
2 bits for one of four printing positions, hence 144 bytes, which fits
easily in a mfg data tag.
Note that I am explicitly and very intentionally limiting this to US
ASCII. The extension to arbitrary international characters is a can of
worms that would scuttle the entire scheme. This is just for
booting/OFW/developer use.
I will submit a more concrete proposal describing exact encodings later
this weekend.
More information about the Devel
mailing list