Handle small final sigma in XConvertCase

lowercase: GREEK SMALL LETTER FINAL SIGMA (U+03C2)
uppercase: GREEK CAPITAL LETTER SIGMA (U+03A3)

This mapping was correct in UCSConvertCase, but the "legacy" mapping
must also be correct for Caps Lock to work with the final sigma key.

https://gitlab.freedesktop.org/xorg/lib/libx11/issues/5

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
This commit is contained in:
Alex Henrie 2020-01-01 14:54:06 -07:00
parent a48787d3d1
commit 7f46a38139

View file

@ -741,8 +741,9 @@ XConvertCase(
*upper -= (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
else if (sym >= XK_Greek_ALPHA && sym <= XK_Greek_OMEGA)
*lower += (XK_Greek_alpha - XK_Greek_ALPHA);
else if (sym >= XK_Greek_alpha && sym <= XK_Greek_omega &&
sym != XK_Greek_finalsmallsigma)
else if (sym == XK_Greek_finalsmallsigma)
*upper = XK_Greek_SIGMA;
else if (sym >= XK_Greek_alpha && sym <= XK_Greek_omega)
*upper -= (XK_Greek_alpha - XK_Greek_ALPHA);
break;
case 0x13: /* Latin 9 */