update Todos
This commit is contained in:
parent
995fdcae0d
commit
44fd438ced
74
TODO v1.5
Normal file
74
TODO v1.5
Normal file
@ -0,0 +1,74 @@
|
||||
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 :).
|
||||
|
||||
General:
|
||||
- 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
|
||||
|
||||
- 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
|
||||
-----------DONE----------------
|
||||
- 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:
|
||||
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
|
||||
|
||||
Settings:
|
||||
- [X] configuration should be overwritable with parameter and alternative paths (Easy for contribution)
|
||||
Tutorial Mode:
|
||||
- [X] navigate through a list of bound commands. speak binding and description.
|
75
TODO v2.0
75
TODO v2.0
@ -5,36 +5,6 @@ General:
|
||||
- implement onScreenUpdate commands
|
||||
read highlighted text mode
|
||||
|
||||
- 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
|
||||
|
||||
- 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
|
||||
|
||||
- implement commands
|
||||
attributes_curr_char (Easy for contribution)
|
||||
https://github.com/jwilk/vcsapeek/blob/master/linuxvt.py
|
||||
@ -75,7 +45,7 @@ Driver:
|
||||
- ATK input driver (don't grab on graphical interface)
|
||||
https://git.linux-a11y.org/AIT/pyatspi2/src/master/examples/keypress.py
|
||||
|
||||
- Dectalk SpeechDriver
|
||||
- Dectalk SpeechDriver (Easy for contribution, device needed - i dont own one)
|
||||
https://github.com/tvraman/emacspeak/blob/master/servers/obsolete/python/dectalk.py
|
||||
|
||||
Settings:
|
||||
@ -83,7 +53,7 @@ Settings:
|
||||
|
||||
- menue for settings configuration (Easy for contribution)
|
||||
|
||||
Application Profiles
|
||||
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
|
||||
@ -97,43 +67,8 @@ Application Profiles
|
||||
- per application shortcuts
|
||||
|
||||
-----------DONE----------------
|
||||
- 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
|
||||
|
||||
General:
|
||||
Braille Support:
|
||||
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
|
||||
|
||||
Driver:
|
||||
Settings:
|
||||
- [X] configuration should be overwritable with parameter and alternative paths (Easy for contribution)
|
||||
Tutorial Mode:
|
||||
- [X] navigate through a list of bound commands. speak binding and description.
|
||||
Application Profiles:
|
||||
|
Loading…
Reference in New Issue
Block a user