From 521f551b842af9deb1aadcdb632c69911de23400 Mon Sep 17 00:00:00 2001 From: chrys87 Date: Mon, 14 May 2018 14:13:29 +0200 Subject: [PATCH] Update evdevDriver.py --- src/fenrirscreenreader/inputDriver/evdevDriver.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/fenrirscreenreader/inputDriver/evdevDriver.py b/src/fenrirscreenreader/inputDriver/evdevDriver.py index 6e4b8ea9..0c6cf903 100644 --- a/src/fenrirscreenreader/inputDriver/evdevDriver.py +++ b/src/fenrirscreenreader/inputDriver/evdevDriver.py @@ -251,11 +251,18 @@ class driver(inputDriver): return for fd in self.iDevices: self.ungrabDevice(fd) - def addDevice(self, fd): + def createUInputDev(self, fd): if not self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'grabDevices'): self.uDevices[fd] = None return - try: + try: + test = self.uDevices[fd] + return + except KeyError: + pass + if not self.uDevices[fd]: + return + try: self.uDevices[fd] = UInput.from_device(self.iDevices[fd]) except Exception as e: try: @@ -269,7 +276,9 @@ class driver(inputDriver): ) except Exception as e: self.env['runtime']['debug'].writeDebugOut('InputDriver evdev: init Uinput not possible: ' + str(e),debug.debugLevel.ERROR) - return + return + def addDevice(self, fd): + self.createUInputDev(fd) self.grabDevice(fd) def grabDevice(self, fd): if not self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'grabDevices'):