From 69928a850efbcb11e06d935c7ad8b3db68cfb705 Mon Sep 17 00:00:00 2001 From: chrys87 Date: Mon, 24 Jul 2017 11:46:18 +0200 Subject: [PATCH] Update TODO v1.5 --- TODO v1.5 | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/TODO v1.5 b/TODO v1.5 index 27ec0969..d55987ce 100644 --- a/TODO v1.5 +++ b/TODO v1.5 @@ -10,3 +10,75 @@ Fix Bugs: - Wlan is disabled on Lenovo (LED is not synced?, needs debug bgid) -----------DONE---------------- +- Doku: Write a user wiki + https://wiki.linux-a11y.org/doku.php?id=fenrir_user_manual&s[]=fenrir + +- initial working setup.py + +- leave review on typing + +- add dependency check (check-dependencys.py) + +- Add nice dummy drivers as template or for debugging + +- reimplement detection code for X11 + +- initial translate structure (manuelcortez Thanks!) + http://www.supernifty.org/blog/2011/09/16/python-localization-made-easy/ + +- add a configurable place where you can place own commands or overwrite existing commands without need to change default code + +- implement autodetection of plugged and unplugged input devices (python-pyudev) for evdev driver + http://stackoverflow.com/questions/22678686/python-script-to-detect-hot-plug-event + http://askubuntu.com/questions/508236/how-can-i-run-code-whenever-a-usb-device-is-unplugged-without-requiring-root + https://www.mattfischer.com/blog/?p=182 + +- implement speechdriver generic (Easy for contribution) + +- try to autodetect encoding (Easy for contribution) (Prototype "charmapTTY" in play zone) + https://stackoverflow.com/questions/6396659/how-do-you-get-the-encoding-of-the-terminal-from-within-a-python-script + +Braille Support (WIP): + initial BrlTTY driver + detect device size via driver + output to braille device + make flushMode configurable + make flushTimeout configurable + flush message after X seconds and show current line (review over text) + tweak current commands and output + command flush_braille + command for scroll left + command for scroll right + create offset for scrolling + respect scrolling + make cursor following configurable (brailleCursorTrackingMode) + - cell + - page + follow cursor while typing + brailleFocusMode: + - review = priority to review + +- initial try to make it more asynchronus with multpible threads + +- be more event based (vcsa sets POLLPRI) + http://scotdoyle.com/python-epoll-howto.html + Needed events: + screen update (vcsa sets POLLPRI) + plug input device (udev event) + screen changed (logind event, collides with screen update) + keyboard input (select, wait forever) + braille input (brlapi_readKey) + braille flush (timer, sleep) + Each event is watched in an own thread. This improves performance and reduce the load. + The event loop is to be done as "queue" since those are thread safe. + The threads are reading incomming data and add the events and data to the queue + the mainloop just reads the queue in an blocking way and executes the needed codepath with the data. + clean up the code for the events so that just the correct codepath is used: + - screen + - input + - new device + +Settings: +- configuration should be overwritable with parameter and alternative paths (Easy for contribution) +Tutorial Mode: +- navigate through a list of bound commands. speak binding and description.