Hello. With my recent interest in ergonomic keyboards I'm finding that lots of them are programmable to change the effective location of the various keys and specifically also supporting
multiple levels/layers per key. My question is related to this specific ability. I'm presuming it's not limited to ergonomic keyboards so I'm posting in this generic forum. Please move the post if this is the wrong location.
I'm from India and so use Indic scripts a lot. I basically use the Indian Gov't standard InScript layout (
http://ildc.in/inscriptlayout.html) for it, modded a bit here and there to suit my own special requirements. I use (apart from Latin script for English) two Indic scripts (Tamil and Devanagari) heavily and three more scripts (Kannada, Telugu and Malayalam) now and then. Since the consonant/vowel pattern across Indian languages/scripts is by far common, the same generic InScript layout is applicable to almost all Indic scripts, so muscle memory learnt for one script is immediately translatable to others.
Now the official InScript layout only describes two levels, but for the two scripts I use the most, I have most keys using three levels and a few four. So far I'm trying to avoid five levels to avoid too much complexity. I'm running Linux (Kubuntu 14.04 LTS) so I've programmed these levels into the XKB keymaps of my chosen "keyboard layout" variants.
However, IIUC all this modification is all on the software side. While I don't know too much about internals of hardware (probably certainly not as much as the great geeks here) I am presuming that my QWERTY keyboard is still sending in the same keycodes but the software is translating it into input of specific Unicode codepoints as per my keymaps.
However, in this context I'm not sure how to interpret
this particular mention. If all the keyboard is doing is to send in keycodes which the software can map to any Unicode character, then what is special about keeping a keyboard "multilingual friendly" as that poster mentions? I mean, from my limited understanding, it does not seem as if the keyboard itself can send in instructions for the computer to take input of particular Unicode characters, right? The keyboard can only send in keycodes, right?
If so then how does the usefulness of modding these keyboards' layouts work only for European scripts? I mean, from what I read, it seems that once a German (for example) layout with the umlauts and eszett is set
on a programmable keyboard, if the same device is used with a different computer, then it inputs the umlauts the eszett. But if that is true, then it means (to my understanding) that the keyboard actually inputs the Unicode characters themselves, or at least there is a keycode for each of those characters, which would mean that I can actually map one or more of those levels to my desired Indic scripts/characters.
But it seems unlikely to me that there is a keycode for the whole Unicode gamut.
Totally confused here. Please enlighten!