fenrir/TODO

221 lines
7.4 KiB
Plaintext
Raw Normal View History

ToDos in Priority order:
2016-09-16 04:25:11 -04:00
2016-08-30 10:27:44 -04:00
- Known Bugs
2016-09-02 20:22:56 -04:00
gstreamer sounddriver doesnt work (i think it needs a Glib
2016-09-08 10:43:21 -04:00
next word wrapping sometimes skips a word on beginn of line
2016-09-21 10:51:04 -04:00
input handling does not work propperly
2016-09-20 10:30:54 -04:00
- rework inputManager
try to consume shortcuts
2016-09-13 07:11:38 -04:00
grab keyboard exclusive
release keyboard on error or quit
grab shortcuts with fenrir key
grab "singel key shortcuts" like numpad navigation for review
forwart nonshortcuts to system
make grabbing configuarble
possiblity to forewart shortcut [proxyshortcut]
possiblity to forewart shortcut (or use them as shortcut) [pressing twice while timeout]
cleanup inputManager
split input driver out of the handler
2016-09-20 10:30:54 -04:00
2016-09-13 07:10:15 -04:00
- dictonary for special chars and string replacements
- punctuation
2016-09-21 17:46:03 -04:00
2016-09-21 05:46:07 -04:00
- add perApplicationTrigger trigger
per application commands
per application onScreenChange
per application onInput
- per application shortcuts
2016-07-15 03:35:22 -04:00
- implement commands
2016-09-20 09:49:09 -04:00
define_window
remove_window
2016-07-15 03:44:35 -04:00
attributes_curr_char
toggle_highlighted_mode
2016-09-08 04:17:21 -04:00
generic list command (convert clipboard management)
next item
pref item
curr item
first item
last item
2016-09-21 05:46:07 -04:00
- improve performance
2016-09-22 17:48:43 -04:00
- implement onScreenUpdate commands
read highlighted text mode
window mode (define a area and just read that changes)
2016-08-21 15:30:51 -04:00
- add the debugging to core
2016-07-15 03:43:29 -04:00
- autostart systemd
2016-08-24 10:07:48 -04:00
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html
2016-09-16 06:03:48 -04:00
- implement autodetection of plugged and removed input devices (python-pyudev)
http://askubuntu.com/questions/508236/how-can-i-run-code-whenever-a-usb-device-is-unplugged-without-requiring-root
2016-07-05 03:55:29 -04:00
- implement braille
2016-08-12 18:13:43 -04:00
httstormp://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html
2016-07-05 04:50:58 -04:00
https://git.gnome.org/browse/orca/tree/src/orca/braille.py
2016-07-21 04:41:05 -04:00
https://wiki.gnome.org/Attic/LSR/ScratchPad/Braille/BrlAPI
2016-07-05 03:55:29 -04:00
2016-07-15 03:43:29 -04:00
- configuration should be overwriteable with parameter and alternative paths
2016-07-15 03:57:44 -04:00
- write settings
2016-08-08 15:10:43 -04:00
- menue for settings configuration #storm
2016-07-15 03:58:32 -04:00
- translateable
2016-08-30 03:38:40 -04:00
2016-09-08 04:18:50 -04:00
- implement speechdriver generic
2016-07-05 17:27:04 -04:00
-------------DONE--------------------------------
2016-07-15 03:57:44 -04:00
- move from VCS to VCSA and parese the Attributes
2016-07-05 17:27:04 -04:00
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/
2016-07-11 05:56:23 -04:00
good doku:
http://angband.oook.cz/d/eyangband-052/src/main-vcs.c
2016-07-11 05:58:21 -04:00
http://manpages.ubuntu.com/manpages/trusty/man1/screader.1.html
2016-07-05 17:27:04 -04:00
- 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
2016-07-08 19:59:54 -04:00
- 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
2016-07-05 19:13:28 -04:00
- 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
2016-07-05 19:13:28 -04:00
2016-07-07 18:10:36 -04:00
- 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
2016-07-15 03:22:38 -04:00
- Settings (make it configureable)
2016-07-15 03:57:44 -04:00
- improve differ speed
2016-07-15 05:39:07 -04:00
- lock mechanism for threads
2016-07-15 03:22:38 -04:00
- 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 COMMENT: sadly not possible, poll events not fired as expected
https://github.com/seb-m/pyinotify/wiki/Tutorial
2016-07-15 03:23:17 -04:00
<Example Code>
2016-07-15 03:22:38 -04:00
import pyinotify
import glob
class Identity(pyinotify.ProcessEvent):
def process_default(self, event):
p = event.pathname
print(p)
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, default_proc_fun=Identity(), timeout=5)
wm.add_watch('/sys/devices/virtual/tty/tty0/active', pyinotify.IN_CLOSE_WRITE)
for file in list(glob.glob('/dev/vcsa[0-64]')):
wm.add_watch(file, pyinotify.IN_CLOSE_WRITE)
print(file)
try:
while 1:
notifier.process_events()
if notifier.check_events( timeout=1000):
notifier.read_events()
print('events')
else:
print('timeout')
except KeyboardInterrupt:
notifier.stop()
print('fin')
2016-07-15 03:23:17 -04:00
</Example Code>
2016-07-15 03:22:38 -04:00
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/
2016-07-23 11:14:06 -04:00
2016-08-30 10:27:44 -04:00
- add setting for ignore screens ( dont grab shortcuts from X or orca)
2016-08-03 13:43:23 -04:00
- soundIcons
- performance tuning
2016-08-08 04:03:57 -04:00
- add sound volume
- convert volume to percent in config
- convert pitch to percent in config
- convert rate to percent in config
2016-08-08 15:10:43 -04:00
- make screenUpdate rate configurable
2016-07-25 10:26:57 -04:00
- default soundIcon theme (soundfiles)
2016-08-08 15:10:43 -04:00
- debugging
- threading ReadContent, ReadShortcuts, executeCommands, listenNewTTYsForListen, controllThread (main)
- autoload plugins while starting
2016-09-16 07:16:43 -04:00
- implement sounddriver generic (use current sox and make it configurable)
2016-09-15 10:51:13 -04:00
- add setting for autodetect X
2016-09-16 06:04:51 -04:00
ps a -o tty,comm | grep -e Xorg | grep -v "grep -e Xorg"
2016-07-23 11:14:06 -04:00
- implement commands
curr_word
curr_char
next_word
next_char
prev_word
prev_char
enable_disable_speech #enable, disable speech
enable_disable_braile #enable, disable braile
enable_disable_sound #enable, disable sound
2016-07-25 14:11:27 -04:00
enable_disable_output #enable, disable speech, braile and sound
2016-08-23 04:20:41 -04:00
next_clipboard
prev_clipboard
first_clipboard
last_clipboard
curr_clipboard
paste_clipboard
2016-08-23 07:15:43 -04:00
reset_review_on_screen_change
2016-08-23 07:22:19 -04:00
remove_clipboard_marks
2016-08-24 10:07:48 -04:00
copy_marked
set_mark (this could also used for area?)
2016-08-25 04:57:55 -04:00
read_clipboard_mark_text
curr_screen
curr_screen_before_cursor
curr_screen_after_cursor
2016-08-28 16:45:09 -04:00
cursor_position
indention
2016-09-24 11:03:34 -04:00
add_bookmark (per application)
remove_bookmark
present_bookmark
2016-08-28 19:36:43 -04:00
say_char_phonetic
spell_word_phonetic
"alpha", "bravo", "charlie", "delta", "echo",
"foxtrot", "golf", "hotel", "india", "juliet",
"kilo", "lima", "mike", "november", "oscar",
"papa", "quebec", "romeo", "sierra", "tango",
"uniform", "victor", "whisky", "x ray",
"yankee", "zulu"
2016-07-23 11:14:06 -04:00
- implement onInput commands
read_line_if_cursor_change_vertical (needed if you arrow up and down, we want to announce the line)
read_char_if_cursur_change_horizontal (needed if you arrow left and right, we want to announce the char under the cursor)
echo_char (echos the last char on pressing space or return)
2016-08-07 11:29:24 -04:00
echo_word (echos the last word)
2016-08-21 15:30:51 -04:00
echo_deleted_char (echos deleted char on screen
- implement onScreenChange commands
2016-08-23 04:29:44 -04:00
promoted text
clear_marks_on_screen_change
2016-08-23 07:22:19 -04:00
leve_review_mode_on_screen_change
- add screenManager
abstract screen driver
2016-09-21 17:46:03 -04:00
- pass environment instance in init and remove it from function calls
- New Triggers
2016-09-22 08:23:16 -04:00
onAppChange
onAppProfileChange
2016-09-21 17:46:03 -04:00
onScreenChange
rename current onScreenChange to onScreenUpdate