diff --git a/README.md b/README.md index 7da2fa6c..fe1de38c 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ This software is licensed under the LGPL v3. 3. "dummyDriver" just a dummy # Speech Drivers: -1. "genericDriver" (default) sound driver for sound as subprocess: +1. "genericDriver" (default) speech driver for sound as subprocess: - espeak or espeak-ng 2. "espeakDriver" speech driver for Espeak or Espeak-NG: - python-espeak diff --git a/setup.py b/setup.py index da0bc9fe..fa468de5 100755 --- a/setup.py +++ b/setup.py @@ -6,8 +6,8 @@ from shutil import copyfile from setuptools import find_packages from setuptools import setup -fenrirVersion = '1.8' -packageVersion = 'post1' +fenrirVersion = '1.9' +packageVersion = 'post2' # handle flags for package manager like yaourt and pacaur. forceSettings = False @@ -90,7 +90,6 @@ setup( "evdev", "daemonize", "dbus-python", - "pyenchant", "pyudev", "setuptools", "pexpect", diff --git a/src/fenrirscreenreader/commands/onScreenUpdate/60000-history.py b/src/fenrirscreenreader/commands/onScreenUpdate/60000-history.py index 5d5d2d0b..dd97d9b2 100644 --- a/src/fenrirscreenreader/commands/onScreenUpdate/60000-history.py +++ b/src/fenrirscreenreader/commands/onScreenUpdate/60000-history.py @@ -22,6 +22,9 @@ class command(): return if self.env['runtime']['cursorManager'].isCursorVerticalMove(): return + if self.env['screen']['newCursor']['x'] == == self.env['runtime']['screenManager'].getColums() - 1 and\ + self.env['screen']['newCursor']['y'] == self.env['runtime']['screenManager'].getRows() - 1): + return if self.env['runtime']['inputManager'].getShortcutType() in ['KEY']: if not (self.env['runtime']['inputManager'].getLastDeepestInput() in [['KEY_UP'],['KEY_DOWN']]): return diff --git a/src/fenrirscreenreader/core/screenManager.py b/src/fenrirscreenreader/core/screenManager.py index 6c5d6aa9..28a97774 100644 --- a/src/fenrirscreenreader/core/screenManager.py +++ b/src/fenrirscreenreader/core/screenManager.py @@ -15,6 +15,12 @@ class screenManager(): self.prevScreenIgnored = False self.prevScreenText = '' self.currScreenText = '' + self.colums = None + self.rows = None + def getRows(self): + return self.rows + def getColumns(self): + return self.colums def initialize(self, environment): self.env = environment self.env['runtime']['settingsManager'].loadDriver(\ @@ -97,6 +103,8 @@ class screenManager(): # get metadata like cursor or screensize self.env['screen']['lines'] = int( eventData['lines']) self.env['screen']['columns'] = int( eventData['columns']) + self.colums = int( eventData['columns']) + self.rows = int( eventData['lines']) self.env['screen']['newCursor']['x'] = int( eventData['textCursor']['x']) self.env['screen']['newCursor']['y'] = int( eventData['textCursor']['y']) self.env['screen']['newTTY'] = eventData['screen'] diff --git a/src/fenrirscreenreader/screenDriver/vcsaDriver.py b/src/fenrirscreenreader/screenDriver/vcsaDriver.py index 4aa65d75..a5c823d3 100644 --- a/src/fenrirscreenreader/screenDriver/vcsaDriver.py +++ b/src/fenrirscreenreader/screenDriver/vcsaDriver.py @@ -106,6 +106,7 @@ class driver(screenDriver): tty = open('/sys/devices/virtual/tty/tty0/active','r') currScreen = str(tty.read()[3:-1]) oldScreen = currScreen + self.updateCharMap(currScreen) watchdog = select.epoll() watchdog.register(vcsa[currScreen], select.POLLPRI | select.POLLERR) watchdog.register(tty, select.POLLPRI | select.POLLERR) @@ -127,6 +128,7 @@ class driver(screenDriver): watchdog.register(vcsa[ currScreen ], select.POLLPRI | select.POLLERR) except: pass + self.updateCharMap(currScreen) oldScreen = currScreen try: vcsa[currScreen].seek(0) @@ -157,7 +159,6 @@ class driver(screenDriver): def createScreenEventData(self, screen, content): - self.updateCharMap(screen) eventData = { 'bytes': content, 'lines': int( content[0]),