fix grab ungrab while input

This commit is contained in:
Chrys 2019-10-18 00:58:47 +02:00
parent 8bed7ce8e2
commit 28f29154cb
4 changed files with 8 additions and 7 deletions

View File

@ -45,7 +45,7 @@ fenrirMaxRate=890
[braille]
enabled=True
driver=brlttyDriver
driver=dummyDriver
#layout=en
# to what should the flush timeout relate to
# word = flush after (number of words to display) * seconds

View File

@ -83,6 +83,7 @@ class fenrirManager():
else:
self.environment['runtime']['inputManager'].writeEventBuffer()
if self.environment['runtime']['inputManager'].noKeyPressed():
self.environment['runtime']['inputManager'].handleDeviceGrab()
self.modifierInput = False
self.singleKeyCommand = False
if self.environment['input']['keyForeward'] > 0:
@ -127,7 +128,7 @@ class fenrirManager():
self.environment['runtime']['commandManager'].executeSwitchTrigger('onSwitchApplicationProfile', \
self.environment['runtime']['applicationManager'].getPrevApplication(), \
self.environment['runtime']['applicationManager'].getCurrentApplication())
'''
'''
if self.environment['runtime']['vmenuManager'].getActive():
return
@ -166,7 +167,7 @@ class fenrirManager():
#self.environment['runtime']['outputManager'].brailleText(flush=False)
def detectShortcutCommand(self):
def detectShortcutCommand(self):
if self.environment['input']['keyForeward'] > 0:
return
if self.environment['runtime']['inputManager'].isKeyPress():
@ -177,7 +178,7 @@ class fenrirManager():
self.singleKeyCommand = len( self.environment['runtime']['inputManager'].getLastDeepestInput() ) == 1
# key is already released. we need the old one
if not( self.singleKeyCommand and self.environment['runtime']['inputManager'].noKeyPressed()):
shortcut = self.environment['runtime']['inputManager'].getCurrShortcut()
shortcut = self.environment['runtime']['inputManager'].getCurrShortcut()
self.command = self.environment['runtime']['inputManager'].getCommandForShortcut(shortcut)
if not self.modifierInput:

View File

@ -59,7 +59,6 @@ class inputManager():
if not self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'grabDevices'):
self.executeDeviceGrab = False
return
print(self.env['runtime']['screenManager'].getCurrScreenIgnored())
if self.env['runtime']['screenManager'].getCurrScreenIgnored():
while not self.ungrabAllDevices():
time.sleep(0.2)
@ -140,7 +139,6 @@ class inputManager():
self.env['runtime']['debug'].writeDebugOut("currInput " + str(self.env['input']['currInput'] ) ,debug.debugLevel.INFO)
if self.noKeyPressed():
self.env['input']['prevInput'] = []
self.handleDeviceGrab()
def handleLedStates(self, mEvent):
try:
@ -171,7 +169,7 @@ class inputManager():
self.env['runtime']['inputManager'].updateInputDevices(deviceEntry['device'])
def updateInputDevices(self, newDevice = None):
try:
self.env['runtime']['inputDriver'].updateInputDevices(newDevice)
self.env['runtime']['inputDriver'].updateInputDevices(newDevice)
except:
pass
self.setExecuteDeviceGrab()

View File

@ -159,6 +159,8 @@ class remoteManager():
def setSettings(self, settingsArgs):
self.env['runtime']['settingsManager'].parseSettingArgs(settingsArgs)
self.env['runtime']['screenManager'].updateScreenIgnored()
self.env['runtime']['inputManager'].setExecuteDeviceGrab()
self.env['runtime']['inputManager'].handleDeviceGrab()
def handleRemoteIncomming(self, eventData):
if not eventData:
return