ToDos in Priority order: - Settings (make it configureable) - restructure loops to listen for events inputloop -> does block with an select commands -> a new thread should spawned from inputloop updatescreen -> maybe we could watch it with inotify vsca should support polling https://www.infoq.com/articles/inotify-linux-file-system-event-monitoring https://github.com/seb-m/pyinotify/wiki/Tutorial http://www.saltycrane.com/blog/2010/04/monitoring-filesystem-python-and-pyinotify/ - beeps (sound Icons) - implement commands (next_[line,word,char], prev_[line,word,char], and others - implement braille http://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html https://git.gnome.org/browse/orca/tree/src/orca/braille.py - autostart systemd - implement speechdriver generic (say) https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html - translateable - improve differ speed -------------DONE-------------------------------- -- move from VCS to VCSA and parese the Attributes http://linux.die.net/man/4/vcsa http://man.cx/vcsa(4)/de http://manpages.org/display-vcsa/7 https://en.wikipedia.org/wiki/Virtual_console every second byte is a attribute others are text. fast way: c[::2],c[1::2] http://manpages.ubuntu.com/manpages/precise/de/man4/vcs.4.html https://docs.python.org/3/library/fcntl.html http://rodrigorivas.serveblog.net/en/imagenes-desde-vt-con-vcsa/ good doku: http://angband.oook.cz/d/eyangband-052/src/main-vcs.c - implement speechdriver espeak https://github.com/relsi/python-espeak - detect collumns in TTYs automaticaly. it seems we have this info in vcsa - get current cursor - shortcut handling https://docs.python.org/2/library/termios.html http://stackoverflow.com/questions/287757/pythons-configparser-unique-keys-per-section 0=down, 1=press, 2=hold 2KEY_SHIFT, 1KEY_A = say_current_line_cursor - implement command structure - implement speechdriver speechd https://git.gnome.org/browse/orca/tree/src/orca/speech.py https://git.gnome.org/browse/orca/tree/src/orca/speechdispatcherfactory.py http://devel.freebsoft.org/doc/speechd/speech-dispatcher.html#Client-Programming - autodetect current TTY maybe with (PAM or a sys folder) cat /sys/devices/virtual/tty/tty0/active http://serverfault.com/questions/306854/how-to-find-out-the-currently-active-linux-virtual-terminal-while-connected-via - debugging - threading ReadContent, ReadShortcuts, executeCommands, listenNewTTYsForListen, controllThread (main) - autoload plugins while starting - Input http://python-evdev.readthedocs.io/en/latest/tutorial.html http://stackoverflow.com/questions/12384772/how-can-i-capture-mouseevents-and-keyevents-using-python-in-background-on-linux maybe TTY in RAW MODE