7784 uts: console input should support utf-8

Review Request #329 - Created Jan. 19, 2017 and updated

Information
Toomas Soome
illumos-gate
7784
499
fc68d9c...
Reviewers
general

7784 uts: console input should support utf-8

The base idea is simple - instead of providing 8-bit bytes from keyboard, we should provide unicode chars (U+XXXX), that means the appropriate updates for keyboard maps and the compose and dead key maps. When keyboard driver is done, we translate the unicode chars to UTF-8 byte streams, so the next layers (ldterm) can process the input.

To support the idea, the current internal state in keyboard driver needs to be extended; the current implementation is using 2 bytes for state - low byte is char, high byte is the state bitmap. Fortunately for us, the unicode chars are actually using only 21 bits, so we have some space from 32bit data type and can use the 32-bit ints to represent state bits + the char.

This update does only the simplest transformation to support unicode and utf-8, unfortunately our keyboard driver is quite limited and will need more work to support more states, but such improvements need to be implemented as follow up work.

Also, at this state, the change is done only for x86 keyboard; the sparc version is a bit of problem, because I simply do not have access to sparc system with keyboard & console.

basic text input based on updated estonian keyboard layout map, verifying dead keys.

Toomas Soome
Toomas Soome
Toomas Soome
Toomas Soome
Yuri Pankov
Yuri Pankov
John Howard
Toomas Soome
Toomas Soome
Review request changed
Loading...