The header file include/X11/Xutil.h defines a macro IsModifierKey, which does not account for the modifiers ISO_Level5_Shift, ISO_Level5_Latch, and ISO_Level5_Lock. To fix, it should be enough to replace XK_ISO_Last_Group_Lock by ISO_Level5_Lock in the macro's definition.
Created attachment 49162 [details] [review] patch to fix Xutil.h This patch fixes the reported issue.
This bug should be fixed to let all compose-combinations work again for the neo keyboard layout. see: http://wiki.neo-layout.org/ticket/277
Can you please send your patch to xorg-devel for review?
commit 50e15379331c436851abb194251cde96999e67b3 Author: Bodo Graumann <mail@bodograumann.de> Date: Mon Oct 10 16:40:52 2011 +0200 libX11: Fixing modifier key range in Xutil.h (Bug #21910) IsModifierKey, defined in include/X11/Xutil.h, is a macro determining, which keys are regarded as modifiers. The constants ISO_Level5_Shift, ISO_Level5_Latch and ISO_Level5_Lock where excluded previously, leaving some Neo2 modifiers functionless in combination with compose. This patch adjusts the range to include the correct, full range of modifier constants. Neo2 Bug 277 <http://wiki.neo-layout.org/ticket/277> X.Org Bug 21910 <http://bugs.freedesktop.org/show_bug.cgi?id=21910> Signed-off-by: Bodo Graumann <mail@bodograumann.de> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.