keysym: handle ssharp in XConvertCase()
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 13 Dec 2019 03:35:25 +0000 (13:35 +1000)
committerRan Benita <ran234@gmail.com>
Sun, 22 Dec 2019 08:12:53 +0000 (10:12 +0200)
commit13b30f4f0dccc08dfea426d73570b913596ed602
treeb03176a28aeed58a7e53419f539ad9b408640971
parent068e38edca6d1d265e8bb7b4f766ef4d1beba93b
keysym: handle ssharp in XConvertCase()

lowercase: LATIN SMALL LETTER SHARP S (U+00DF)
uppercase: LATIN CAPITAL LETTER SHARP S (U+1E9E)

The uppercase sharp s (XK_ssharp) is a relatively recent addition to unicode
but was added to the relevant keyboard layouts in xkeyboard-config-2.25
(d1411e5e95c)
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/144

Alas, the CapsLock behavior was broken on the finnish layout (maybe others).
This was due XConvertCase() never returning the uppercase characters.

Let's make this function return the right lower/upper symbols for the sharp s
and hope that the world won't get any worse because of it.

Corresponding Xlib issue:
https://gitlab.freedesktop.org/xorg/lib/libx11/issues/110

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/keysym.c