diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-08-05 14:01:46 +1000 |
---|---|---|
committer | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2014-08-08 10:19:39 -0400 |
commit | 81e36258d0b1211f6dbc1623691759d44034ce3d (patch) | |
tree | 50ed0f6b5522605f574bca111657fcbc5c7d50d1 /src | |
parent | 3bc57a547c0510a448a6ba4ffe47d5656e6ac07c (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-x | src/make-event-names.py | 15 |
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: |