summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-08-05 14:01:46 +1000
committerBenjamin Tissoires <benjamin.tissoires@gmail.com>2014-08-08 10:19:39 -0400
commit81e36258d0b1211f6dbc1623691759d44034ce3d (patch)
tree50ed0f6b5522605f574bca111657fcbc5c7d50d1 /src
parent3bc57a547c0510a448a6ba4ffe47d5656e6ac07c (diff)
make-event-names: handle aliases for event code defines
Some codes are defined as aliases, e.g. #define BTN_A BTN_SOUTH Handle those as one-way conversions, so we get the right value from the string when requested. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/make-event-names.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/make-event-names.py b/src/make-event-names.py
index 324647c..320b5ec 100755
--- a/src/make-event-names.py
+++ b/src/make-event-names.py
@@ -46,6 +46,9 @@ oneway = [
"BTN_TRIGGER_HAPPY"
]
+# As above, but input.h defines them as aliases instead of int values
+aliases = {}
+
def p(s):
print(textwrap.dedent(s))
@@ -59,6 +62,17 @@ def print_python_bits(bits, prefix):
print(" \"%s\" : %d," % (val, name))
else:
print(" %d : \"%s\", \"%s\" : %d," % (val, name, name, val))
+
+ for alias, mapping in aliases.items():
+ if prefix == "key" and alias.lower().startswith("btn"):
+ pass
+ elif not alias.lower().startswith(prefix):
+ continue
+ for val, name in getattr(bits, prefix).items():
+ if name == mapping:
+ print(" \"%s\" : %d," % (alias, val))
+ break
+
print("}")
print("")
@@ -112,6 +126,7 @@ def parse_define(bits, line):
try:
value = int(m.group(2), 0)
except ValueError:
+ aliases[name] = m.group(2)
return
for prefix in prefixes: