diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2018-06-18 14:18:07 +1000 |
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2018-07-09 11:57:57 +1000 |
| commit | d9cfd143d0470e008f6dcb74d128f7536b06b026 (patch) | |
| tree | 88feab52799ca301f6de39c8be8d89fa1f70ad17 /libevdev | |
| parent | 812fc7096dd6e71e955d50a01c8fd0da92e66fab (diff) | |
| download | libevdev-d9cfd143d0470e008f6dcb74d128f7536b06b026.tar.gz | |
Resolve the names "SW_MAX" and friends
Some of the *_MAX names are duplicates and have a real define. These were not
resolved until now.
Fixes https://gitlab.freedesktop.org/libevdev/libevdev/issues/3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Diffstat (limited to 'libevdev')
| -rwxr-xr-x | libevdev/make-event-names.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libevdev/make-event-names.py b/libevdev/make-event-names.py index faee720..38b44cf 100755 --- a/libevdev/make-event-names.py +++ b/libevdev/make-event-names.py @@ -9,7 +9,8 @@ import re import sys class Bits(object): - pass + def __init__(self): + self.max_codes = {} prefixes = [ "EV_", @@ -113,6 +114,12 @@ def print_lookup(bits, prefix): if prefix == "btn": names = names + btn_additional; + # We need to manually add the _MAX codes because some are + # duplicates + maxname = "%s_MAX" % (prefix.upper()) + if maxname in duplicates: + names.append((bits.max_codes[maxname], maxname)) + for val, name in sorted(names, key=lambda e: e[1]): print(" { .name = \"%s\", .value = %s }," % (name, name)) @@ -161,9 +168,6 @@ def parse_define(bits, line): name = m.group(1) - if name in duplicates: - return - try: value = int(m.group(2), 0) except ValueError: @@ -173,6 +177,12 @@ def parse_define(bits, line): if not name.startswith(prefix): continue + if name.endswith("_MAX"): + bits.max_codes[name] = value + + if name in duplicates: + return + attrname = prefix[:-1].lower() if not hasattr(bits, attrname): |
