This set of patches changes struct term_event_keyboard to use
UCS-4 if CONFIG_UTF_8 is defined.  Thus, there will be just one
event per character, rather than one per byte.  The binary
interlink protocol is completely unaffected, although the
implementation changes quite a bit.

These changes fix bug 782 and allow input fields to guard against
invalid UTF-8.  They also make it easier to fix bug 777 or add
support for binding actions to non-ASCII keys.

Note the "Character Conversions" comments the third patch in this
series adds to handle_interlink_event().  They describe how I
think different combinations of CONFIG_UTF_8, UTF-8 I/O, and the
UTF-8 charset should behave; I tried to write the code accordingly.
If you think the behaviour described in these comments is not
correct, now is a good time to post your opinion.

0c424d5c8c Define separate structs for events passed via the interlink socket.
d25b037cf7 Renumber special keys to negative values, making room for Unicode.
f630e1e008 #ifdef CONFIG_UTF_8, translate all terminal input via UCS-4.
fef18a956a terminal doc: The interlink protocol no longer uses struct 
term_event.
d4b830d8a8 #ifdef CONFIG_UTF_8, term_event_keyboard.key is UCS-4.

Attachment: pgpzYCxNJsShM.pgp
Description: PGP signature

_______________________________________________
elinks-dev mailing list
[email protected]
http://linuxfromscratch.org/mailman/listinfo/elinks-dev

Reply via email to