About dead keys, I'm not sure how to properly handle them.
Putting this code in kernel seems like a good idea to me personally, but I'm no expert on the matter.
On my Belgian "Logitech" and "scanllon" USB keyboards all works perfect
, except for dead keys.
I will start a new topic for dead keys because this keyboard feature is essential and concerns all countries.
In my opinion, it should be handled by the keyboard driver(s).
My 10 year old Apple USB keyboard gives unacceptible results. It probably needs a dedicated driver.
I have no idea if more recent apple keyboards would work fine.
Later I will do a test with an apple wireless keyboard (is wireless implemented in Kolibri???)
The use of ASCII code 0x11 looks strange to me, I'd personally prefer to use 0 (NULL) in this case also.
I choose 0x11 to indicate the valid keycombinations, and NULL for the invalid keycombinations (such as AltGr + letter).
Actually, all keyboard input handlers need to consider the control flags.
If the left Alt key or a ctrl key is pressed, the application should use the scancode and ignore the ASCII code.
If the right Alt key (AltGr) is pressed, the application should use the ASCII code (unless it is zero).
May I suggest that syscall 2 returns the controlkey flags in ebx.
This saves the application from making a syscall 66/3, and asures that the bits correspond to the moment that the key was pressed.
What fonts did you use to print symbols from codepage 1252?
A source embedded bitmap font 6x9 with a small personal touch, drawn with syscall 38 (line) with surprising speed.
Some time ago I made a suggestion for a systemcall to get/set the char and char2 tables, but i had no positive reactions.