the case conversions for Greek symbols are incomplete
Re: KeyBind.c#293 /* Case conversion for UCS, as in Unicode Data version 4.0.0 */
There is currently no entry for the Greek dotted lunate sigma symbols, ͼ & Ͼ, U037C & U03FE.
03FE first appeared in UnicodeData-4.1.0.txt and 037C in UnicodeData-5.0.0.txt
This results in the printout for these characters on key <AC07> of the Greek basic keyboard for the key sequence
AltGr Caps+AltGr AltGr+Shift Caps+AltGr+Shift
being
ͼ ͼ Ͼ Ͼ
I.e. no case toggle for Caps Lock
I don't know how the mapping tables are generated, so haven't tested with a newer version of Unicode, but patching Greek_upper_mapping[ ] and Greek_lower_mapping[ ], the print output then toggles with Caps Lock
ͼ Ͼ Ͼ ͼ
--- src/KeyBind.c
+++ src/KeyBind.c
@@ -340 +340 @@
- 0x0000, 0x0000, 0x037A, 0x0000, 0x0000, 0x0000, 0x037E, 0x0000,
+ 0x0000, 0x0000, 0x037A, 0x0000, 0x03FE, 0x0000, 0x037E, 0x0000,
@@ -356 +356 @@
- 0x03F7, 0x03F9, 0x03FA, 0x03FA, 0x0000, 0x0000, 0x0000, 0x0000
+ 0x03F7, 0x03F9, 0x03FA, 0x03FA, 0x0000, 0x0000, 0x03FE, 0x0000
@@ -361 +361 @@
- 0x0000, 0x0000, 0x037A, 0x0000, 0x0000, 0x0000, 0x037E, 0x0000,
+ 0x0000, 0x0000, 0x037A, 0x0000, 0x037C, 0x0000, 0x037E, 0x0000,
@@ -377 +377 @@
- 0x03F8, 0x03F2, 0x03FB, 0x03FB, 0x0000, 0x0000, 0x0000, 0x0000
+ 0x03F8, 0x03F2, 0x03FB, 0x03FB, 0x0000, 0x0000, 0x037C, 0x0000
For Caps Lock to toggle case for all level 3 & 4 characters on the basic keyboard as defined in xkb/symbols/gr, there are a number of other characters in the group /* Greek and Coptic, U+0370 to U+03FF */
which also need adding.
I've included them in the attached patch which I use in my own build of libX11. Hopefully, it'll be of some use.