From 433d801284592b353c3cfc347176915a4de5e7ad Mon Sep 17 00:00:00 2001 From: chrys Date: Sun, 25 Sep 2016 19:03:08 +0200 Subject: [PATCH] fix input handling again --- src/fenrir-package/core/inputManager.py | 1 - src/fenrir-package/fenrir.py | 18 ++++++++++++------ src/fenrir-package/inputDriver/evdev.py | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/fenrir-package/core/inputManager.py b/src/fenrir-package/core/inputManager.py index 9b824750..bdbbb752 100644 --- a/src/fenrir-package/core/inputManager.py +++ b/src/fenrir-package/core/inputManager.py @@ -68,7 +68,6 @@ class inputManager(): def convertEventName(self, eventName): if not eventName: return '' - print(eventName) if eventName == 'KEY_LEFTCTRL': eventName = 'KEY_CTRL' diff --git a/src/fenrir-package/fenrir.py b/src/fenrir-package/fenrir.py index 90034676..2497dd8d 100755 --- a/src/fenrir-package/fenrir.py +++ b/src/fenrir-package/fenrir.py @@ -24,6 +24,7 @@ class fenrir(): signal.signal(signal.SIGINT, self.captureSignal) signal.signal(signal.SIGTERM, self.captureSignal) self.wasCommand = False + self.currShortcutLenght = 0 def proceed(self): while(self.environment['generalInformation']['running']): try: @@ -41,14 +42,18 @@ class fenrir(): #if not (self.environment['runtime']['inputManager'].isConsumeInput() or \ # self.environment['runtime']['inputManager'].isFenrirKeyPressed()) and \ # not self.environment['runtime']['commandManager'].isCommandQueued(): + print('vor',self.wasCommand,self.currShortcutLenght) if not self.wasCommand: + print('dri') self.environment['runtime']['inputManager'].writeEventBuffer() - if self.wasCommand: - if self.environment['runtime']['inputManager'].noKeyPressed(): - self.wasCommand = False - self.environment['runtime']['inputManager'].clearEventBuffer() if self.environment['runtime']['inputManager'].noKeyPressed(): + if self.wasCommand: + print('mache falsch') + self.wasCommand = False + self.environment['runtime']['inputManager'].clearEventBuffer() + self.currShortcutLenght = 0 self.environment['runtime']['screenManager'].update() + print('nach',self.wasCommand,self.currShortcutLenght) self.environment['runtime']['commandManager'].executeDefaultTrigger('onInput') else: self.environment['runtime']['screenManager'].update() @@ -73,8 +78,9 @@ class fenrir(): print(shortcut) command = self.environment['runtime']['inputManager'].getCommandForShortcut(shortcut) self.environment['runtime']['commandManager'].queueCommand(command) - self.wasCommand = command != '' - + if self.currShortcutLenght < len(self.environment['input']['currInput']): + self.wasCommand = command != '' + self.currShortcutLenght = len(self.environment['input']['currInput']) def handleCommands(self): if time.time() - self.environment['commandInfo']['lastCommandExecutionTime'] < 0.2: return diff --git a/src/fenrir-package/inputDriver/evdev.py b/src/fenrir-package/inputDriver/evdev.py index 8ed2abab..e32a648d 100644 --- a/src/fenrir-package/inputDriver/evdev.py +++ b/src/fenrir-package/inputDriver/evdev.py @@ -52,8 +52,8 @@ class driver(): # 1 Keys # we try to filter out mices and other stuff here self.iDevices = map(evdev.InputDevice, (evdev.list_devices())) - #self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()} - self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()} + self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()} + #self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()} self.ledDevices = map(evdev.InputDevice, (evdev.list_devices())) self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}