summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-08-29 09:44:06 +1000
committerBenjamin Tissoires <benjamin.tissoires@gmail.com>2014-08-29 16:48:42 -0400
commitdc9690844c97d7e01e1238d25a063c1c18c72c99 (patch)
treedec4050d7cdca8f9b0f899d8dcdc2b717479d9e8 /python
parent0cf20d0e203c9f98e5d82bca6babb8652fb5720a (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__.py20
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'