From 4f3c8d6697773fbe890fc7281b14d26ac85f70d2 Mon Sep 17 00:00:00 2001 From: Joseph Coffland Date: Sun, 20 Aug 2017 17:04:03 -0700 Subject: [PATCH] Some minor gamepad improvments --- src/py/inevent/EventStream.py | 6 +++++- src/py/inevent/InEvent.py | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/py/inevent/EventStream.py b/src/py/inevent/EventStream.py index 3a4cf6b..a69bb38 100644 --- a/src/py/inevent/EventStream.py +++ b/src/py/inevent/EventStream.py @@ -29,6 +29,7 @@ import fcntl import os import select +import logging from inevent.Constants import * from inevent import ioctl @@ -37,6 +38,8 @@ from inevent import Event from inevent.EventState import EventState +log = logging.getLogger('inevent') + EVIOCGRAB = ioctl._IOW(ord('E'), 0x90, "i") # Grab/Release device @@ -160,7 +163,8 @@ class EventStream(object): event.decode(s) return event - except: pass + except Exception as e: + log.warning('Reading event: %s' % e) def __enter__(self): return self diff --git a/src/py/inevent/InEvent.py b/src/py/inevent/InEvent.py index 261a5d6..4a89e99 100644 --- a/src/py/inevent/InEvent.py +++ b/src/py/inevent/InEvent.py @@ -137,6 +137,7 @@ class InEvent(object): def process_udev_event(self): action, device = self.udevMon.receive_device() + if device is None: return match = re.search(r"/dev/input/event([0-9]+)", str(device.device_node)) devIndex = match and match.group(1) @@ -177,9 +178,7 @@ class InEvent(object): log.info('Added %s[%d]', devType, devIndex) except OSError as e: - if e.errno in [errno.EPERM, errno.EACCES]: - log.warning('Failed to add %s[%d]: %s', devType, devIndex, e) - else: raise e + log.warning('Failed to add %s[%d]: %s', devType, devIndex, e) def remove_stream(self, devIndex): @@ -187,6 +186,7 @@ class InEvent(object): if stream.devIndex == devIndex: self.streams.remove(stream) self.ioloop.remove_handler(stream.filehandle) + stream.release() log.info('Removed %s[%d]', stream.devType, devIndex) -- 2.27.0