I've never understood this keyboard philosophy. Its "groups and planes" terminology just doesn't make sense to me (as someone who has designed keyboard layouts for well over a decade). I like good old-fashioned dead-keys and four keyboard states (plain, shift, alt, and alt-shift.
[Alain] There is no � plane � at all in ISO/IEC 9995. This is ISO/IEC 10646 terminology, which also has a term called "group", but it is not the same thing (and yet, you do not find the notion of plane, group, row and cell complicated while it is indeed multiple enough to make it more difficult to remember). I think you did not try hard to understand the concept of keyboard groups, even if I have explained it to you many times (^;
The keyboard group concept is not new (a decade is relatively new in the world of keyboards, and the notion is a bit older than that), it was designed before ISO/IEC 10646 (as early as 1988) and it is not difficult to understand (you should have tried, as you heard about it before designing keyboards, as you say (^; )... I too, designed keyboards, since more than two decades�, and I also have written keyboard drivers implementing group selection on PCs, as soon as I heard about the layer shifting concept.
A group is just a keyboard layout of up two 3 levels (in general only 2, as for the US keyboard).
The concept of group and group selection (called "layer shifting" by its two designers, Dr Umamahwesaran and one of his IBM colleagues, in 1986, if my memory is good) was taken into consideration by ISO with the intent to extend it to multiple groups. However the multiple group model, if it exists, has not been standarized yet and deployed fully in its modalities, but time may have come for this. For this we must rely on international standarization, not on the will of only one individual (everybody has ideas about keyboards, as I hardly learned since I began to work on our Canadian keyboard standard in 1985 -- it is a prowess to come to consensus on keyboard issues, but we did it in Canada [we adopted our standard unanimously, after long "battles"], and internationally, with success [also after long "battles"] -- however it needs everybody to try to understand each other's ideas and integrate them in harmony).
With UNICODE/UCS now of age, this in our opinion would be highly desirable to go beyond international standardization of the Latin script support limited to some languages as now.
[Michael] Please see the specification of the Irish Extended keyboard for Unicode, at http://www.evertype.com/celtscript/ga-keys-x.html
[Alain] Every layout can be considered a group in the ISO model. What is lacking is standardization (taking all platforms into consideration) in what you write.
Amiti�s.
Alain
� the first keyboard driver I developed was on an 8K (yes, 8192 octets of RAM only, not one more) Commodore PET, in machine language (6502 processor, I had to make my own assembler program before, and it too had to fit within 8K) where I had to care in real time about the row and column of the wires intersecting each key switch, to determine the keys that were being hit... Nowadays with PCs, the keyboard microprocessor does only this, and just sends a code (called scan code) to the main processor indicating that a key well identified has been hit (no need for the PC to watch in real time, since al this is put into a buffer before an interruption signal is sent to the PC). I made my first PC keyboard driver in 1982, a few months after the first IBM PC had been released with an Intel 8080 processor under the hood (August 1981 [they made an Assembler program at once, and I bought it immediately!]).

