wait for input, move many scripts to input trigger

This commit is contained in:
chrys 2016-10-01 00:51:32 +02:00
parent f1c3e25d91
commit 9afe310620
8 changed files with 17 additions and 15 deletions

View File

@ -58,7 +58,7 @@ voice=
language=english-us language=english-us
# Read new text as it happens? # Read new text as it happens?
autoReadIncoming=True autoReadIncomming=True
[braille] [braille]
#braille is not implemented yet #braille is not implemented yet
@ -69,7 +69,7 @@ layout=en
driver=linux driver=linux
encoding=cp850 encoding=cp850
screenUpdateDelay=0.4 screenUpdateDelay=0.4
suspendingScreen=1,2 suspendingScreen=
autodetectSuspendingScreen=False autodetectSuspendingScreen=False
[keyboard] [keyboard]
@ -79,13 +79,13 @@ device=all
grabDevices=True grabDevices=True
ignoreShortcuts=False ignoreShortcuts=False
# the current shortcut layout located in /etc/fenrir/keyboard # the current shortcut layout located in /etc/fenrir/keyboard
keyboardLayout=desktop keyboardLayout=test
# echo chars while typing. # echo chars while typing.
charEcho=False charEcho=True
# echo deleted chars # echo deleted chars
charDeleteEcho=True charDeleteEcho=True
# echo word after pressing space # echo word after pressing space
wordEcho=False wordEcho=True
# interrupt speech on any keypress # interrupt speech on any keypress
interruptOnKeyPress=False interruptOnKeyPress=False
# timeout for double tap in sec # timeout for double tap in sec
@ -96,7 +96,7 @@ debugLevel=0
punctuationLevel=1 punctuationLevel=1
numberOfClipboards=10 numberOfClipboards=10
# define the current fenrir key # define the current fenrir key
fenrirKeys=KEY_KP0,KEY_META fenrirKeys=KEY_KP0
timeFormat=%H:%M:%P timeFormat=%H:%M:%P
dateFormat=%A, %B %d, %Y dateFormat=%A, %B %d, %Y
autoSpellCheck=True autoSpellCheck=True

View File

@ -17,24 +17,27 @@ class command():
return '' return ''
def run(self): def run(self):
currChar = self.env['screenData']['newContentText'].split('\n')[self.env['screenData']['newCursor']['y']][self.env['screenData']['newCursor']['x']]
if self.env['screenData']['newTTY'] != self.env['screenData']['oldTTY']: if self.env['screenData']['newTTY'] != self.env['screenData']['oldTTY']:
return return
if self.env['runtime']['inputManager'].noKeyPressed(): #if self.env['runtime']['inputManager'].noKeyPressed():
return # return
# detect an change on the screen, we just want to cursor arround, so no change should appear # detect an change on the screen, we just want to cursor arround, so no change should appear
if self.env['screenData']['newDelta'] != '': if self.env['screenData']['newDelta'] != '':
print('0',currChar )
return return
if self.env['screenData']['newNegativeDelta'] != '': if self.env['screenData']['newNegativeDelta'] != '':
print('1',currChar)
return return
# is it a horizontal change? # is it a horizontal change?
if self.env['screenData']['newCursor']['y'] != self.env['screenData']['oldCursor']['y'] or\ if self.env['screenData']['newCursor']['y'] != self.env['screenData']['oldCursor']['y'] or\
self.env['screenData']['newCursor']['x'] == self.env['screenData']['oldCursor']['x']: self.env['screenData']['newCursor']['x'] == self.env['screenData']['oldCursor']['x']:
print('2',currChar, self.env['screenData']['newCursor']['x'],self.env['screenData']['oldCursor']['x'],self.env['screenData']['newCursor']['y'] , self.env['screenData']['oldCursor']['y'])
return return
currChar = self.env['screenData']['newContentText'].split('\n')[self.env['screenData']['newCursor']['y']][self.env['screenData']['newCursor']['x']] currChar = self.env['screenData']['newContentText'].split('\n')[self.env['screenData']['newCursor']['y']][self.env['screenData']['newCursor']['x']]
if not currChar.strip(" \t\n") == '': if not currChar.strip(" \t\n") == '':
self.env['runtime']['outputManager'].presentText(currChar, interrupt=True, ignorePunctuation=True) self.env['runtime']['outputManager'].presentText(currChar, interrupt=True, ignorePunctuation=True)
print(currChar)
def setCallback(self, callback): def setCallback(self, callback):
pass pass

View File

@ -23,7 +23,6 @@ class screenManager():
def update(self, trigger = 'onUpdate'): def update(self, trigger = 'onUpdate'):
self.env['runtime']['screenDriver'].getCurrScreen() self.env['runtime']['screenDriver'].getCurrScreen()
if not self.isSuspendingScreen(): if not self.isSuspendingScreen():
if trigger == 'onUpdate': if trigger == 'onUpdate':
self.env['runtime']['applicationManager'].getCurrentApplication() self.env['runtime']['applicationManager'].getCurrentApplication()

View File

@ -37,11 +37,12 @@ class fenrir():
def handleProcess(self): def handleProcess(self):
#startTime = time.time() #startTime = time.time()
eventReceived = self.environment['runtime']['inputManager'].getInputEvent() eventReceived = self.environment['runtime']['inputManager'].getInputEvent()
print(eventReceived)
if eventReceived: if eventReceived:
self.prepareCommand() self.prepareCommand()
if not (self.wasCommand or self.environment['runtime']['inputManager'].isFenrirKeyPressed() or self.environment['generalInformation']['tutorialMode']) or self.environment['runtime']['screenManager'].isSuspendingScreen(): if not (self.wasCommand or self.environment['runtime']['inputManager'].isFenrirKeyPressed() or self.environment['generalInformation']['tutorialMode']) or self.environment['runtime']['screenManager'].isSuspendingScreen():
self.environment['runtime']['inputManager'].writeEventBuffer() self.environment['runtime']['inputManager'].writeEventBuffer()
time.sleep(0.005)
if self.environment['runtime']['inputManager'].noKeyPressed(): if self.environment['runtime']['inputManager'].noKeyPressed():
if self.wasCommand: if self.wasCommand:
self.wasCommand = False self.wasCommand = False
@ -50,9 +51,8 @@ class fenrir():
self.environment['runtime']['inputManager'].clearEventBuffer() self.environment['runtime']['inputManager'].clearEventBuffer()
if self.environment['input']['keyForeward'] > 0: if self.environment['input']['keyForeward'] > 0:
self.environment['input']['keyForeward'] -=1 self.environment['input']['keyForeward'] -=1
else: self.environment['runtime']['screenManager'].update('onInput')
self.environment['runtime']['screenManager'].update('onInput') self.environment['runtime']['commandManager'].executeDefaultTrigger('onInput')
self.environment['runtime']['commandManager'].executeDefaultTrigger('onInput')
else: else:
self.environment['runtime']['screenManager'].update('onUpdate') self.environment['runtime']['screenManager'].update('onUpdate')
if self.environment['runtime']['applicationManager'].isApplicationChange(): if self.environment['runtime']['applicationManager'].isApplicationChange():