initial detectoin
remove debug
This commit is contained in:
parent
5d4b1cec8e
commit
3546137708
@ -26,7 +26,8 @@ class command():
|
|||||||
if not self.env['runtime']['screenManager'].isDelta():
|
if not self.env['runtime']['screenManager'].isDelta():
|
||||||
return
|
return
|
||||||
# big changes are no char (but the value is bigger than one maybe the differ needs longer than you can type, so a little strange random buffer for now)
|
# big changes are no char (but the value is bigger than one maybe the differ needs longer than you can type, so a little strange random buffer for now)
|
||||||
if len(self.env['screen']['newDelta'].strip(' \n\t')) > 1:
|
xMove = abs(self.env['screen']['newCursor']['x'] - self.env['screen']['oldCursor']['x'])
|
||||||
|
if not( (xMove >= 1) and xMove == len(self.env['screen']['newDelta'])):
|
||||||
return
|
return
|
||||||
# filter unneded space on word begin
|
# filter unneded space on word begin
|
||||||
currDelta = self.env['screen']['newDelta']
|
currDelta = self.env['screen']['newDelta']
|
||||||
|
@ -33,6 +33,7 @@ class command():
|
|||||||
# is it a horizontal change?
|
# is it a horizontal change?
|
||||||
if not self.env['runtime']['cursorManager'].isCursorHorizontalMove():
|
if not self.env['runtime']['cursorManager'].isCursorHorizontalMove():
|
||||||
return
|
return
|
||||||
|
|
||||||
# echo word insteed of char
|
# echo word insteed of char
|
||||||
if self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'wordEcho'):
|
if self.env['runtime']['settingsManager'].getSettingAsBool('keyboard', 'wordEcho'):
|
||||||
if abs(self.env['screen']['oldCursor']['x'] - self.env['screen']['newCursor']['x']) != 1:
|
if abs(self.env['screen']['oldCursor']['x'] - self.env['screen']['newCursor']['x']) != 1:
|
||||||
@ -42,7 +43,7 @@ class command():
|
|||||||
word_utils.getCurrentWord(self.env['screen']['newCursor']['x'], 0, newContent)
|
word_utils.getCurrentWord(self.env['screen']['newCursor']['x'], 0, newContent)
|
||||||
if self.env['screen']['newCursor']['x'] == x:
|
if self.env['screen']['newCursor']['x'] == x:
|
||||||
return
|
return
|
||||||
x, y, currChar = char_utils.getCurrentChar(self.env['screen']['newCursor']['x'], self.env['screen']['newCursor']['y'], self.env['screen']['newContentText'])
|
x, y, currChar = char_utils.getCurrentChar(self.env['screen']['newCursor']['x'], self.env['screen']['newCursor']['y'], self.env['screen']['newContentText'])
|
||||||
if not currChar.isspace():
|
if not currChar.isspace():
|
||||||
self.env['runtime']['outputManager'].presentText(currChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
self.env['runtime']['outputManager'].presentText(currChar, interrupt=True, ignorePunctuation=True, announceCapital=True, flush=False)
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -20,16 +20,18 @@ class command():
|
|||||||
if not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming'):
|
if not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'autoReadIncoming'):
|
||||||
return
|
return
|
||||||
# is there something to read?
|
# is there something to read?
|
||||||
if not self.env['runtime']['screenManager'].isDelta():
|
if not self.env['runtime']['screenManager'].isDelta(ignoreSpace=True):
|
||||||
return
|
return
|
||||||
# this must be a keyecho or something
|
# this must be a keyecho or something
|
||||||
if len(self.env['screen']['newDelta'].strip(' \n\t')) <= 1:
|
#if len(self.env['screen']['newDelta'].strip(' \n\t')) <= 1:
|
||||||
if abs(self.env['screen']['newCursor']['x'] - self.env['screen']['oldCursor']['x']) >= 1:
|
xMove = abs(self.env['screen']['newCursor']['x'] - self.env['screen']['oldCursor']['x'])
|
||||||
# if len(self.env['screen']['newDelta'].strip(' \n\t0123456789')) <= 2:
|
yMove = abs(self.env['screen']['newCursor']['y'] - self.env['screen']['oldCursor']['y'])
|
||||||
return
|
if (xMove >= 1) and xMove == len(self.env['screen']['newDelta']):
|
||||||
if abs(self.env['screen']['newCursor']['y'] - self.env['screen']['oldCursor']['y']) == 1:
|
# if len(self.env['screen']['newDelta'].strip(' \n\t0123456789')) <= 2:
|
||||||
# if len(self.env['screen']['newDelta'].strip(' \n\t0123456789')) <= 2:
|
return
|
||||||
return
|
#if yMove == 1:
|
||||||
|
# if len(self.env['screen']['newDelta'].strip(' \n\t0123456789')) <= 2:
|
||||||
|
# return
|
||||||
self.env['runtime']['outputManager'].presentText(self.env['screen']['newDelta'], interrupt=False, flush=False)
|
self.env['runtime']['outputManager'].presentText(self.env['screen']['newDelta'], interrupt=False, flush=False)
|
||||||
|
|
||||||
def setCallback(self, callback):
|
def setCallback(self, callback):
|
||||||
|
@ -329,6 +329,7 @@ class driver(screenDriver):
|
|||||||
oldScreenText = re.sub(' +',' ',self.env['runtime']['screenManager'].getWindowAreaInText(self.env['screen']['oldContentText']))
|
oldScreenText = re.sub(' +',' ',self.env['runtime']['screenManager'].getWindowAreaInText(self.env['screen']['oldContentText']))
|
||||||
newScreenText = re.sub(' +',' ',self.env['runtime']['screenManager'].getWindowAreaInText(self.env['screen']['newContentText']))
|
newScreenText = re.sub(' +',' ',self.env['runtime']['screenManager'].getWindowAreaInText(self.env['screen']['newContentText']))
|
||||||
typing = False
|
typing = False
|
||||||
|
diffList = []
|
||||||
if (self.env['screen']['oldContentText'] != self.env['screen']['newContentText']):
|
if (self.env['screen']['oldContentText'] != self.env['screen']['newContentText']):
|
||||||
if self.env['screen']['newContentText'] != '' and self.env['screen']['oldContentText'] == '':
|
if self.env['screen']['newContentText'] != '' and self.env['screen']['oldContentText'] == '':
|
||||||
if oldScreenText == '' and\
|
if oldScreenText == '' and\
|
||||||
@ -337,7 +338,7 @@ class driver(screenDriver):
|
|||||||
else:
|
else:
|
||||||
cursorLineStart = self.env['screen']['newCursor']['y'] * self.env['screen']['columns'] + self.env['screen']['newCursor']['y']
|
cursorLineStart = self.env['screen']['newCursor']['y'] * self.env['screen']['columns'] + self.env['screen']['newCursor']['y']
|
||||||
cursorLineEnd = cursorLineStart + self.env['screen']['columns']
|
cursorLineEnd = cursorLineStart + self.env['screen']['columns']
|
||||||
if abs(self.env['screen']['oldCursor']['x'] - self.env['screen']['newCursor']['x']) == 1 and \
|
if abs(self.env['screen']['oldCursor']['x'] - self.env['screen']['newCursor']['x']) >= 1 and \
|
||||||
self.env['screen']['oldCursor']['y'] == self.env['screen']['newCursor']['y'] and \
|
self.env['screen']['oldCursor']['y'] == self.env['screen']['newCursor']['y'] and \
|
||||||
self.env['screen']['newContentText'][:cursorLineStart] == self.env['screen']['oldContentText'][:cursorLineStart] and \
|
self.env['screen']['newContentText'][:cursorLineStart] == self.env['screen']['oldContentText'][:cursorLineStart] and \
|
||||||
self.env['screen']['newContentText'][cursorLineEnd:] == self.env['screen']['oldContentText'][cursorLineEnd:]:
|
self.env['screen']['newContentText'][cursorLineEnd:] == self.env['screen']['oldContentText'][cursorLineEnd:]:
|
||||||
@ -352,13 +353,19 @@ class driver(screenDriver):
|
|||||||
newScreenText = self.env['screen']['newContentText'][cursorLineStartOffset:cursorLineEndOffset]
|
newScreenText = self.env['screen']['newContentText'][cursorLineStartOffset:cursorLineEndOffset]
|
||||||
#newScreenText = re.sub(' +',' ',newScreenText)
|
#newScreenText = re.sub(' +',' ',newScreenText)
|
||||||
diff = difflib.ndiff(oldScreenText, newScreenText)
|
diff = difflib.ndiff(oldScreenText, newScreenText)
|
||||||
|
diffList = list(diff)
|
||||||
|
tempNewDelta = ''.join(x[2:] for x in diffList if x[0] == '+')
|
||||||
|
|
||||||
|
if tempNewDelta != ''.join(newScreenText[self.env['screen']['oldCursor']['x']:self.env['screen']['newCursor']['x']].rstrip()):
|
||||||
|
diffList = ['+ ' + self.env['screen']['newContentText'].split('\n')[self.env['screen']['newCursor']['y']]]
|
||||||
|
|
||||||
typing = True
|
typing = True
|
||||||
else:
|
else:
|
||||||
diff = difflib.ndiff( oldScreenText.split('\n'),\
|
diff = difflib.ndiff( oldScreenText.split('\n'),\
|
||||||
newScreenText.split('\n'))
|
newScreenText.split('\n'))
|
||||||
|
|
||||||
diffList = list(diff)
|
diffList = list(diff)
|
||||||
|
|
||||||
if self.env['runtime']['settingsManager'].getSetting('general', 'newLinePause') and not typing:
|
if self.env['runtime']['settingsManager'].getSetting('general', 'newLinePause') and not typing:
|
||||||
self.env['screen']['newDelta'] = '\n'.join(x[2:] for x in diffList if x[0] == '+')
|
self.env['screen']['newDelta'] = '\n'.join(x[2:] for x in diffList if x[0] == '+')
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user