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.
pgpzYCxNJsShM.pgp
Description: PGP signature
_______________________________________________ elinks-dev mailing list [email protected] http://linuxfromscratch.org/mailman/listinfo/elinks-dev
