diff --git a/README.md b/README.md index db1af81d..39f10454 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ ReadWrite permission - brltty, python-brlapi [using braille] # (not implemented yet) - gstreamer [soundicons via gstreamer] # not working yet - python-pyenchant [spell check functionality] +- aspell- [your languagedata for spellchecker, english support "aspell-en"] - python-daemonize [use fenrir as background service on Unix like systems] # installation diff --git a/config/settings/settings.conf b/config/settings/settings.conf index e37308f5..0ad96f33 100644 --- a/config/settings/settings.conf +++ b/config/settings/settings.conf @@ -77,8 +77,8 @@ autodetectSuspendingScreen=True [keyboard] driver=evdev -# filter input devices AUTO, ALL or a DEVICE NAME -device=AUTO +# filter input devices NOMICE, ALL or a DEVICE NAME +device=ALL # gives fenrir exclusive access to the keyboard and let consume keystrokes. just disable on problems. grabDevices=True ignoreShortcuts=False diff --git a/config/settings/settings.conf.chrys b/config/settings/settings.conf.chrys index d690dffc..10a99707 100644 --- a/config/settings/settings.conf.chrys +++ b/config/settings/settings.conf.chrys @@ -77,8 +77,8 @@ autodetectSuspendingScreen=True [keyboard] driver=evdev -# filter input devices AUTO, ALL or a DEVICE NAME -device=AUTO +# filter input devices NOMICE, ALL or a DEVICE NAME +device=ALL # gives fenrir exclusive access to the keyboard and let consume keystrokes. just disable on problems. grabDevices=True ignoreShortcuts=False diff --git a/config/settings/settings.conf.storm b/config/settings/settings.conf.storm index 1fbe784e..e52c4e95 100644 --- a/config/settings/settings.conf.storm +++ b/config/settings/settings.conf.storm @@ -34,8 +34,8 @@ autodetectSuspendingScreen=False [keyboard] driver=evdev -# filter input devices AUTO, ALL or a DEVICE NAME -device=AUTO +# filter input devices NOMICE, ALL or a DEVICE NAME +device=ALL grabDevices=True ignoreShortcuts=False keyboardLayout=desktop diff --git a/src/fenrir/inputDriver/evdev.py b/src/fenrir/inputDriver/evdev.py index ac80db0c..5805d346 100644 --- a/src/fenrir/inputDriver/evdev.py +++ b/src/fenrir/inputDriver/evdev.py @@ -75,7 +75,7 @@ class driver(): if self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'ALL': self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()} self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities()} - elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'AUTO': + elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'NOMICE': 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.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()} else: diff --git a/src/fenrir/screenDriver/linux.py b/src/fenrir/screenDriver/linux.py index 88bafca0..6269d4ea 100644 --- a/src/fenrir/screenDriver/linux.py +++ b/src/fenrir/screenDriver/linux.py @@ -5,7 +5,7 @@ # By Chrys, Storm Dragon, and contributers. import difflib -import re +import re, time import subprocess from core import debug from utils import screen_utils @@ -20,6 +20,7 @@ class driver(): def getCurrScreen(self): self.env['screenData']['oldTTY'] = self.env['screenData']['newTTY'] try: + time.sleep(0.1) currScreenFile = open('/sys/devices/virtual/tty/tty0/active','r') self.env['screenData']['newTTY'] = str(currScreenFile.read()[3:-1]) currScreenFile.close() @@ -149,8 +150,7 @@ class driver(): self.env['screenData']['newNegativeDelta'] = ''.join(x[2:] for x in diffList if x[0] == '-') # track highlighted - #print(self.env['screenData']['oldContentAttrib'] , self.env['screenData']['newContentAttrib']) if self.env['screenData']['oldContentAttrib'] != self.env['screenData']['newContentAttrib']: self.env['screenData']['newAttribDelta'], currCursor = screen_utils.trackHighlights(self.env['screenData']['oldContentAttrib'], self.env['screenData']['newContentAttrib'], self.env['screenData']['newContentText'], self.env['screenData']['columns']) - #print('drin',self.env['screenData']['newAttribDelta']) + print('drin',self.env['screenData']['newAttribDelta']) diff --git a/src/fenrir/utils/screen_utils.py b/src/fenrir/utils/screen_utils.py index 979fe657..8efd4175 100644 --- a/src/fenrir/utils/screen_utils.py +++ b/src/fenrir/utils/screen_utils.py @@ -24,14 +24,14 @@ def trackHighlights(oldAttr, newAttr, text, lenght): return result, currCursor if len(newAttr) == 0: return result, currCursor - textLines = insertNewlines(text,lenght) - textLines = textLines.split('\n') + if len(oldAttr) != len(newAttr): + return result, currCursor old = splitEvery(oldAttr,lenght) - new = splitEvery(newAttr,lenght) - if len(old) != len(new): - return result, currCursor - if len(text) != len(new): - return result, currCursor + new = splitEvery(newAttr,lenght) + textLines = text.split('\n') + if len(textLines) != len(new): + return result, currCursor + try: background = Counter(newAttr).most_common(1) background = background[0][0] @@ -39,10 +39,11 @@ def trackHighlights(oldAttr, newAttr, text, lenght): background = chr(7) for line in range(len(new)): if old[line] != new[line]: - for column in range(len(new)): + for column in range(len(new[line])): if old[line][column] != new[line][column]: if new[line][column] != background: if not currCursor: + currCursor = {} currCursor['x'] = column currCursor['y'] = line result += textLines[line][column]