angle bracket keysym unicode inconsistency
Submitted by Mattias Engdegård
Assigned to Xorg Project Team
Description
It is unclear what Unicode characters correspond to these keysyms:
leftanglebracket (0xabc)
rightanglebracket (0xabe)
XLookupString generates
U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
U+203a SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
which comes from a table in src/xlibi18n/imKStoUCS.c, and this controls the behaviour of most applications such as XTerm (but not Emacs, see below).
In contrast, the keysymdef.h header has the definitions:
#define XK_leftanglebracket 0x0abc /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/
#define XK_rightanglebracket 0x0abe /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/
The keysyms.xml file has the entries
<row>
<entry>#x0ABC</entry>
<entry>-</entry>
<entry>LEFT ANGLE BRACKET</entry>
<entry>Publish</entry>
</row>
<row>
<entry>#x0ABE</entry>
<entry>-</entry>
<entry>RIGHT ANGLE BRACKET</entry>
<entry>Publish</entry>
</row>
with a "-" in the column where the Unicode number should be.
Emacs translates these keys to
U+2329 LEFT-POINTING ANGLE BRACKET
U+232a RIGHT-POINTING ANGLE BRACKET
which is wrong in any case since those characters are deprecated.
Most likely it's the XLib implementation (U+2039, U+203A) that is right, since these keysyms belong to the "publishing" group and not the "technical" or "mathematical" ones. Against that is the fact that the keysyms are called "brackets", not quotes, but perhaps that is reading too much in their names.
The keysyms are admittedly rarely seen on actual keycaps.