xorgproto: Branch 'master' - 3 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Feb 18 01:01:49 UTC 2021
include/X11/XF86keysym.h | 10 +++++-----
scripts/keysym-generator.py | 37 ++++++++++++++++++++++++++++++-------
2 files changed, 35 insertions(+), 12 deletions(-)
New commits:
commit e5d8af9711516385f8346c9e077692b29c914478
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Feb 17 10:08:01 2021 +1000
scripts: make sure all "Use: XK_Foo" comments point to existing symbols
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/scripts/keysym-generator.py b/scripts/keysym-generator.py
index c21ba0e..e0db965 100755
--- a/scripts/keysym-generator.py
+++ b/scripts/keysym-generator.py
@@ -31,6 +31,22 @@ def die(msg):
sys.exit(1)
+def all_keysyms(directory):
+ """
+ Extract the key names for all keysyms we have in our repo and return
+ them as list.
+ """
+ keysym_names = []
+ pattern = re.compile(r"^#define\s+(?P<name>\w+)\s+(0x[0-9A-Fa-f]+)")
+ for path in directory.glob("*keysym*.h"):
+ with open(path) as fd:
+ for line in fd:
+ match = re.match(pattern, line)
+ if match:
+ keysym_names.append(match.group("name"))
+ return keysym_names
+
+
class Kernel(object):
"""
Wrapper around the kernel git tree to simplify searching for when a
@@ -158,7 +174,7 @@ def verify(ns):
)
# This is the comment pattern we expect
expected_comment_pattern = re.compile(
- r"/\* Use: \w+\t+_EVDEVK\(0x(?P<value>[0-9A-F]{3})\)\t+ (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+ r"/\* Use: (?P<name>\w+)\t+_EVDEVK\(0x(?P<value>[0-9A-F]{3})\)\t+ (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
)
# Some patterns to spot specific errors, just so we can print useful errors
@@ -175,6 +191,8 @@ def verify(ns):
all_defines = []
+ all_keysym_names = all_keysyms(ns.header.parent)
+
class ParserError(Exception):
pass
@@ -216,6 +234,10 @@ def verify(ns):
if keycode == last_keycode:
error("Duplicate keycode", line)
last_keycode = keycode
+
+ name = match.group("name")
+ if name not in all_keysym_names:
+ error(f"Unknown keysym {name}", line)
elif re.match(hex_pattern, line):
logger.warning(f"Unexpected hex code in {line}")
continue
@@ -417,6 +439,8 @@ def main():
if not ns.header:
ns.header = find_xf86keysym_header()
+ else:
+ ns.header = Path(ns.header)
if ns.command is None:
parser.error("Invalid or missing command")
commit ff19ac58e14e319afbc33aa485af4b4370b2af2e
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Feb 17 09:56:53 2021 +1000
scripts: use a named pattern for the hexcode check in comments
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/scripts/keysym-generator.py b/scripts/keysym-generator.py
index 6bcde61..c21ba0e 100755
--- a/scripts/keysym-generator.py
+++ b/scripts/keysym-generator.py
@@ -158,7 +158,7 @@ def verify(ns):
)
# This is the comment pattern we expect
expected_comment_pattern = re.compile(
- r"/\* Use: \w+\t+_EVDEVK\(0x([0-9A-F]{3})\)\t+ (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+ r"/\* Use: \w+\t+_EVDEVK\(0x(?P<value>[0-9A-F]{3})\)\t+ (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
)
# Some patterns to spot specific errors, just so we can print useful errors
@@ -206,12 +206,11 @@ def verify(ns):
if not re.match(define, line):
match = re.match(expected_comment_pattern, line)
if match:
- if match.group(1) != match.group(1).upper():
- error(
- f"Hex code 0x{match.group(1)} must be uppercase", line
- )
- if match.group(1):
- keycode = int(match.group(1), 16)
+ hexcode = match.group("value")
+ if hexcode != hexcode.upper():
+ error(f"Hex code 0x{hexcode} must be uppercase", line)
+ if hexcode:
+ keycode = int(hexcode, 16)
if keycode < last_keycode:
error("Keycode must be ascending", line)
if keycode == last_keycode:
commit 08549dc8580f498899e82846bebea40f70b8a443
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Feb 17 09:52:54 2021 +1000
XF86keysym.h: fix a few references to invalid keys
No change to the header, comments only.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/include/X11/XF86keysym.h b/include/X11/XF86keysym.h
index 358b55b..c242e42 100644
--- a/include/X11/XF86keysym.h
+++ b/include/X11/XF86keysym.h
@@ -327,10 +327,10 @@
#define XF86XK_DisplayToggle _EVDEVK(0x1AF) /* v2.6.20 KEY_DISPLAYTOGGLE */
#define XF86XK_SpellCheck _EVDEVK(0x1B0) /* v2.6.24 KEY_SPELLCHECK */
/* Use: XF86XK_LogOff _EVDEVK(0x1B1) v2.6.24 KEY_LOGOFF */
-/* Use: dollar _EVDEVK(0x1B2) v2.6.24 KEY_DOLLAR */
-/* Use: euro _EVDEVK(0x1B3) v2.6.24 KEY_EURO */
-/* Use: XF86XK_Frameback _EVDEVK(0x1B4) v2.6.24 KEY_FRAMEBACK */
-/* Use: XF86XK_Frameforward _EVDEVK(0x1B5) v2.6.24 KEY_FRAMEFORWARD */
+/* Use: XK_dollar _EVDEVK(0x1B2) v2.6.24 KEY_DOLLAR */
+/* Use: XK_EuroSign _EVDEVK(0x1B3) v2.6.24 KEY_EURO */
+/* Use: XF86XK_FrameBack _EVDEVK(0x1B4) v2.6.24 KEY_FRAMEBACK */
+/* Use: XF86XK_FrameForward _EVDEVK(0x1B5) v2.6.24 KEY_FRAMEFORWARD */
#define XF86XK_ContextMenu _EVDEVK(0x1B6) /* v2.6.24 KEY_CONTEXT_MENU */
#define XF86XK_MediaRepeat _EVDEVK(0x1B7) /* v2.6.26 KEY_MEDIA_REPEAT */
#define XF86XK_10ChannelsUp _EVDEVK(0x1B8) /* v2.6.38 KEY_10CHANNELSUP */
@@ -393,7 +393,7 @@
#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
-/* Use: ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
+/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
More information about the xorg-commit
mailing list