mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-07 03:58:03 +02:00
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 to xkbcomp using XConvertCase() to determine whether a key requires the type FOUR_LEVEL_ALPHABETIC or FOUR_LEVEL_SEMIALPHABETIC. 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. https://gitlab.freedesktop.org/xorg/lib/libx11/issues/110 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
b8766a4384
commit
a48787d3d1
1 changed files with 4 additions and 0 deletions
|
|
@ -466,6 +466,8 @@ UCSConvertCase( register unsigned code,
|
|||
*upper = 0x0178;
|
||||
else if (code == 0x00b5) /* micro sign */
|
||||
*upper = 0x039c;
|
||||
else if (code == 0x00df) /* ssharp */
|
||||
*upper = 0x1e9e;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -595,6 +597,8 @@ UCSConvertCase( register unsigned code,
|
|||
}
|
||||
else if (code == 0x1e9b)
|
||||
*upper = 0x1e60;
|
||||
else if (code == 0x1e9e)
|
||||
*lower = 0x00df; /* ssharp */
|
||||
}
|
||||
|
||||
/* Greek Extended, U+1F00 to U+1FFF */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue