This adds support in vncv and vncs for sending/receiving utf-8 text.
The problem comes from the RFB protocol which requires special keys to pass through
as their keysym encodings (<X11/keysymdef.h>). vncv and vncs do not convert between
utf-8 and keysym, therefore they're unusable when one wants to write in foreign
characters that don't match keysyms.
the two header files (ksym2utf.h and utf2ksym.h) declare arrays with the same names
mapping keysym definitions to unicode runes. kbdv.c and kbds.c get the corresponding
character when the rune read from /dev/cons or from a client.
inadvertantly this fixes a problem with vncv which would cause xterminals not to scroll
on ctrl+[PgUp|PgDn].
also changed is the mkfile to add dependency between kbdv.c→utf2ksym.h and kbds.c→ksym2utf.h
the arrays add a total of ~32K to the run-time memory image of vncv and vncs.
andrey
|