summaryrefslogtreecommitdiff
path: root/libevdev
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2018-06-18 14:18:07 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2018-07-09 11:57:57 +1000
commitd9cfd143d0470e008f6dcb74d128f7536b06b026 (patch)
tree88feab52799ca301f6de39c8be8d89fa1f70ad17 /libevdev
parent812fc7096dd6e71e955d50a01c8fd0da92e66fab (diff)
downloadlibevdev-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-xlibevdev/make-event-names.py18
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):