[PATCH evemu 07/12] python: leave uinput creation up to evemu
Peter Hutterer
peter.hutterer at who-t.net
Tue Jul 22 16:42:45 PDT 2014
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
python/evemu/__init__.py | 5 +----
python/evemu/base.py | 6 ++++++
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/python/evemu/__init__.py b/python/evemu/__init__.py
index 690cb86..4f64204 100644
--- a/python/evemu/__init__.py
+++ b/python/evemu/__init__.py
@@ -55,14 +55,12 @@ class Device(object):
self._is_propfile = self._check_is_propfile(self._file)
self._libc = evemu.base.LibC()
self._libevemu = evemu.base.LibEvemu()
- self._uinput = None
self._evemu_device = self._libevemu.evemu_new(b"")
if self._is_propfile:
fs = self._libc.fdopen(self._file.fileno(), b"r")
self._libevemu.evemu_read(self._evemu_device, fs)
- self._uinput = os.open(evemu.const.UINPUT_NODE, os.O_WRONLY)
self._file = self._create_devnode()
else:
self._libevemu.evemu_extract(self._evemu_device,
@@ -72,10 +70,9 @@ class Device(object):
if hasattr(self, "_is_propfile") and self._is_propfile:
self._file.close()
self._libevemu.evemu_destroy(self._evemu_device)
- self._uinput.close()
def _create_devnode(self):
- self._libevemu.evemu_create(self._evemu_device, self._uinput)
+ self._libevemu.evemu_create_managed(self._evemu_device)
return open(self._find_newest_devnode(self.name), 'r+b', buffering=0)
def _find_newest_devnode(self, target_name):
diff --git a/python/evemu/base.py b/python/evemu/base.py
index b366e2f..6540c01 100644
--- a/python/evemu/base.py
+++ b/python/evemu/base.py
@@ -394,6 +394,12 @@ class LibEvemu(LibraryWrapper):
"restype": c_int,
"errcheck": expect_eq_zero
},
+ #int evemu_create_managed(struct evemu_device *dev);
+ "evemu_create_managed": {
+ "argtypes": (c_void_p,),
+ "restype": c_int,
+ "errcheck": expect_eq_zero
+ },
#void evemu_destroy(struct evemu_device *dev);
"evemu_destroy": {
"argtypes": (c_void_p,),
--
1.9.3
More information about the Input-tools
mailing list