diff --git a/Changelog.txt b/Changelog.txt deleted file mode 100644 index e04ea622..00000000 --- a/Changelog.txt +++ /dev/null @@ -1,265 +0,0 @@ -# Version 1.5 -- Doku: Write a user wiki - https://wiki.linux-a11y.org/doku.php?id=fenrir_user_manual&s[]=fenrir - -- initial working setup.py - -- available via pip (python packet manager) -sudo pip3 install fenrir-screenreader -https://pypi.python.org/pypi/fenrir-screenreader/1.5.post5 - -- 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!) - -- 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 - -- implement speechdriver generic - -- try to autodetect encoding (Easy for contribution) (Prototype "charmapTTY" in play zone) - -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 - -- move to an event based system - -- add initial multithreading/ multiprocessing support - -- support cli parameters - - add cli parameter for debugging "-d" - - add cli parameter to overwrite options "-o" - - add cli parameter to specify an settings.conf "-s" - -- list of bound commands in Tutorial Mode. speak name, binding and description. - -# Version: 1.00 - -- move from VCS to VCSA and parese the Attributes -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/ -good doku: -http://angband.oook.cz/d/eyangband-052/src/main-vcs.c -http://manpages.ubuntu.com/manpages/trusty/man1/screader.1.html - -- 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 -- 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 -- 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 - -- 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 - -- Settings (make it configureable) -- improve differ speed -- lock mechanism for threads -- 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 - -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') - - - 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/ - -- add setting for ignore screens ( dont grab shortcuts from X or orca) -- soundIcons -- performance tuning -- add sound volume -- convert volume to percent in config -- convert pitch to percent in config -- convert rate to percent in config -- make screenUpdate rate configurable -- default soundIcon theme (soundfiles) -- debugging -- threading ReadContent, ReadShortcuts, executeCommands, listenNewTTYsForListen, controllThread (main) -- autoload plugins while starting -- implement sounddriver generic (use current sox and make it configurable) -- add setting for autodetect X -ps a -o tty,comm | grep -e Xorg | grep -v "grep -e Xorg" -- respect window mode in differ (getwindow code is already in place) -- parse punctuation setting file in conf/substitution - -- 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 - enable_disable_output #enable, disable speech, braile and sound - next_clipboard - prev_clipboard - first_clipboard - last_clipboard - curr_clipboard - paste_clipboard - define_window - remove_window - reset_review_on_screen_change - remove_clipboard_marks - copy_marked - set_mark (this could also used for area?) - read_clipboard_mark_text - curr_screen - curr_screen_before_cursor - curr_screen_after_cursor - cursor_position - indention - add_bookmark (per application) - remove_bookmark - present_bookmark - 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" - next_char_phonetic - prev_char_phonetic - next_word_phonetic - prev_word_phonetic - toggle_highlighted_mode - -- 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) - echo_word (echos the last word) - echo_deleted_char (echos deleted char on screen - read highlighted - -- implement onScreenChange commands - promoted text - clear_marks_on_screen_change - leve_review_mode_on_screen_change - window mode (define a area and just read that changes) - -- add screenManager - abstract screen driver -- pass environment instance in init and remove it from function calls - -- New Triggers - onAppChange - onAppProfileChange - onScreenChange - rename current onScreenChange to onScreenUpdate - -- rework inputManager - try to consume shortcuts - 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 - -- dictonary for special chars and string replacements -- punctuation -- beep on cursor to capital letters in cursor and review -- add pause handling - create pause - make it configurable when the pause the pause happens -- external scripting - load scripts from a folder as subprocess - create thread - load key definition of keybindings like SOPS did - -- add an daemonize mode -https://github.com/thesharp/daemonize -https://web.archive.org/web/20131017130434/http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/ - -- announce capslock -- anounce numlock -- anounce scroll -- add the debugging to core - -- autostart systemd -https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html diff --git a/splits.txt b/play zone/splits.txt similarity index 100% rename from splits.txt rename to play zone/splits.txt