Bug 21910 - include/X11/Xutil.h: IsModifierKey misses some modifiers
Summary: include/X11/Xutil.h: IsModifierKey misses some modifiers
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xlib (show other bugs)
Version: git
Hardware: All All
: medium major
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Whiteboard: 2011BRB_Reviewed
Keywords: patch
Depends on:
Reported: 2009-05-24 10:05 UTC by Andreas Wettstein
Modified: 2011-10-14 17:02 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

patch to fix Xutil.h (428 bytes, patch)
2011-07-15 13:23 UTC, Bodo Graumann
no flags Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Wettstein 2009-05-24 10:05:44 UTC
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.
Comment 1 Bodo Graumann 2011-07-15 13:23:13 UTC
Created attachment 49162 [details] [review]
patch to fix Xutil.h

This patch fixes the reported issue.
Comment 2 Bodo Graumann 2011-07-15 13:25:07 UTC
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
Comment 3 Jeremy Huddleston Sequoia 2011-10-08 19:47:16 UTC
Can you please send your patch to xorg-devel for review?
Comment 4 Jeremy Huddleston Sequoia 2011-10-14 17:02:33 UTC
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.