fenrir/TODO

185 lines
6.3 KiB
Plaintext
Raw Normal View History

ToDos in Priority order:
2016-08-04 18:50:11 -04:00
2016-08-30 10:27:44 -04:00
- Known Bugs
gstreamer sounddriver doesnt work
2016-08-04 18:50:11 -04:00
- try to consume shortcuts
2016-08-23 07:26:54 -04:00
grab keyboard exclusive [x]
release keyboard on error or quit [-]
grab shortcuts with fenrir key [x]
grab "singel key shortcuts" like numpad navigation for review []
forwart nonshortcuts to system [x]
make grabbing configuarble [-]
possiblity to forewart shortcut [proxyshortcut] [x]
possiblity to forewart shortcut [pressing twice while timeout] []
cleanup inputManager [-]
2016-08-25 04:37:47 -04:00
2016-08-30 03:38:40 -04:00
- add setting for autodetect X
- dictonary for special chars and string replacements
2016-09-02 07:58:22 -04:00
- punctuation
2016-08-30 03:38:40 -04:00
2016-07-15 03:35:22 -04:00
- implement commands
2016-07-15 03:44:35 -04:00
attributes_curr_char
toggle_highlighted_mode
2016-08-25 10:48:51 -04:00
- implement onScreenChange commands
read highlighted text mode
window mode (define a area and just read that changes)
2016-08-30 03:38:40 -04:00
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-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-07-08 19:59:54 -04:00
- implement speechdriver generic (say)
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-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-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