xkbmap with combining diacritics

James Cloos cloos at jhcloos.com
Mon Feb 18 20:40:51 PST 2013


>>>>> "JC" == Joshua Crowgey <jcrowgey at uw.edu> writes:

JC> However, I was unable to implement the mapping (shown in the link to
JC> tulaliplushootseed.com) completely because the output of many of the
JC> upper case (shifted) keystrokes should be a series of unicode
JC> characters rather than a single one.  That is, I have to use
JC> combining diacritics.

To do that without using an x input method you need to define symbols
for the sequences, put those symbols into the xkb file and add mappings
from those symbols to the character sequences into the Compose tables.

An example can be seen in the Arabic Lam-Alef ligatures section of the
en_US.UTF-8/Compose file.  (In that case the symbols happen to be
unicode characters in their own right, but only because they were part
of a legacy encoding for which unicode wanted to support 1:1 round trip
conversions.  They were added to that legacy encoding to be used exactly
for the purpose of facilitating keyboard entry of a character sequence.)
You would need to be defined symbols in keysymdef.h for each string with
integer values outside of the range specified for unicode/iso10646.

The above is the how.  Whether it is reasonable policy, especially as
compared to an xim is a question I'll leave for others.  In the xim
case, ibus (as suggested in the other reply) and scim are good choices.

-JimC
-- 
James Cloos <cloos at jhcloos.com>         OpenPGP: 1024D/ED7DAEA6


More information about the xorg mailing list