diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-08-29 09:44:06 +1000 |
---|---|---|
committer | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2014-08-29 16:48:42 -0400 |
commit | dc9690844c97d7e01e1238d25a063c1c18c72c99 (patch) | |
tree | dec4050d7cdca8f9b0f899d8dcdc2b717479d9e8 /python | |
parent | 0cf20d0e203c9f98e5d82bca6babb8652fb5720a (diff) |
python: replace input_prop_get_value/get_name with the C implementation
Relying on an external lib removes the pain to maintain our own input.h
implementation.
The functions accept both strings and integer values in both directions of
conversion.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'python')
-rw-r--r-- | python/evemu/__init__.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/python/evemu/__init__.py b/python/evemu/__init__.py index aac64c6..65e4673 100644 --- a/python/evemu/__init__.py +++ b/python/evemu/__init__.py @@ -101,20 +101,28 @@ def input_prop_get_name(prop): """ Return the name of the input property, or None if undefined. """ - try: - return evemu.event_names._input_prop_get_name(prop) - except KeyError: + if not isinstance(prop, int): + prop = input_prop_get_value(prop) + + if prop == None: return None + prop = _libevdev.libevdev_property_get_name(prop) + return None if prop == 0 else prop + def input_prop_get_value(prop): """ Return the value of the input property, or None if undefined. """ - try: - return evemu.event_names._input_prop_get_value(prop) - except KeyError: + if isinstance(prop, int): + prop = input_prop_get_name(prop) + + if prop == None: return None + prop = _libevdev.libevdev_property_from_name(str(prop)) + return None if prop < 0 else prop + class InputEvent(object): __slots__ = 'sec', 'usec', 'type', 'code', 'value' |