2017-07-23 14:37:48 -04:00
|
|
|
ToDo list for Fenrir Version 1.5
|
|
|
|
Things with not so deep knowledge needed are marekd wiht "(Easy for contribution)". so just start with that :).
|
|
|
|
|
2017-07-23 14:58:30 -04:00
|
|
|
Fix Bugs:
|
|
|
|
- device detection is broken
|
|
|
|
- arrow up/down announcement is broken
|
2017-07-24 03:49:57 -04:00
|
|
|
- Wlan is disabled on Lenovo (LED is not synced?, needs debug bgid)
|
2017-07-23 14:58:30 -04:00
|
|
|
|
2017-07-23 14:37:48 -04:00
|
|
|
-----------DONE----------------
|
2017-07-24 05:46:18 -04:00
|
|
|
- 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.
|