Author Topic: Indic scripts and multiple levels/layers on programmable keyboards  (Read 988 times)

0 Members and 1 Guest are viewing this topic.

Offline jamadagni

  • Thread Starter
  • Posts: 54
  • Location: 11 N 78 E
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!
« Last Edit: Mon, 15 June 2015, 06:03:41 by jamadagni »

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Indic scripts and multiple levels/layers on programmable keyboards
« Reply #1 on: Mon, 15 June 2015, 12:15:18 »
The standard protocol is such that the keyboard controller sends codes. Some can be configured to send macros (series' of codes), but the format/output is platform-dependent (see Wikipedia).

I know some firmwares "support" sending Unicode strings, but it isn't strictly keyboard functionality and it's outside the scope of the standard protocol AFAIK. It's never worked for me correctly either. It's doable though (see the IPA keyboard at Reddit).