ToDo list for Fenrir Version 2.0 Things with not so deep knowledge needed are marekd wiht "(Easy for contribution)". so just start with that :). Cleanups: - split oldValues := newValues out to helper function (Easy for contribution) - split it out - use it in evdev driver - Migrate *Data.py to classes and use getter/setter (Easy for contribution) commandsData.py eventData.py generalData.py inputData.py outputData.py punctuationData.py runtimeData.py screenData.py settingsData -> defaultSettings.py General: - imporove attribute handling [] add an attribute sound [] beep on cursor/ review by char (capital wins) [] beep on review by word (once for multible, captial wins) [] configurable (by char, by word, none) - generic list or see Tutorial mode list (convert clipboard management) (Easy for contribution) next item pref item curr item first item last item Braille Support: brailleFocusMode: - manual = no automatic toggle command used - last = follow last used cursor print cursor in review print cursor in textmode word wrapping (if word does not fit print it at next page) command toggle used cursor (in manual brailleFocusMode) capture input from braile make routing keys assignable by keyboard make brailleTable configurable pkg-config --variable=tablesdir liblouis returns on Arch:/usr/share/liblouis/tables http://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html https://git.gnome.org/browse/orca/tree/src/orca/braille.py https://wiki.gnome.org/Attic/LSR/ScratchPad/Braille/BrlAPI https://github.com/google/brailleback/blob/master/third_party/brltty/Bindings/Python/brlapi.pyx Driver: - implement PTY Screen driver (to use gnome-terminal and other terminal emulators) https://docs.python.org/3.2/library/pty.html http://sqizit.bartletts.id.au/2011/02/14/pseudo-terminals-in-python/ https://blog.konpat.me/pythons-pseudo-terminal-pty-examples/ - implement PTY Input driver - ATK input driver (don't grab on graphical interface) https://git.linux-a11y.org/AIT/pyatspi2/src/master/examples/keypress.py - Dectalk SpeechDriver (Easy for contribution, device needed - i dont own one) https://github.com/tvraman/emacspeak/blob/master/servers/obsolete/python/dectalk.py Settings: - write settings (Easy for contribution) - menue for settings configuration (Easy for contribution) Application Profiles (low priority): - reimplement process detection without subprocessing // this is started by chrys - fenrir is not able to detect the current application inside of screen. ps -e -H -o pid,pgrp,ppid,tty,cmd http://stackoverflow.com/questions/24861351/how-to-detect-if-python-script-is-being-run-as-a-background-process/24862213 fd = os.open("/dev/tty5", os.O_RDONLY ) os.tcgetpgrp(fd) - add perApplicationTrigger trigger per application commands per application onScreenChange per application onInput - per application shortcuts -----------DONE---------------- General: Braille Support: Driver: Settings: Application Profiles: