diff --git a/README.md b/README.md index 965147c4..5ee84812 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ # fenrir -An TTY screenreader for Linux. +An TTY screenreader for Linux. Be careful, is just experimental now. + +# requirements +linux +python3 + +# installation +ToDO + diff --git a/TODO b/TODO new file mode 100644 index 00000000..7e1fd5b3 --- /dev/null +++ b/TODO @@ -0,0 +1,42 @@ +- Input and shortcuts +http://python-evdev.readthedocs.io/en/latest/tutorial.html + +- detect all TTYs where users are logged in (maybe PAM notification) +http://serverfault.com/questions/306854/how-to-find-out-the-currently-active-linux-virtual-terminal-while-connected-via + +- detect collumns in TTYs automaticaly. +it seems we have this info in vcsa + +- 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/ + +- implement command structure (next_[line,word,char], prev_[line,word,char], and others +- implement braille +http://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html +https://git.gnome.org/browse/orca/tree/src/orca/braille.py + +- implement speechdriver espeak +https://github.com/relsi/python-espeak + +- 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 + +- implement speechdriver generic (say) +- threading ReadContent, ReadShortcuts, executeCommands, listenNewTTYsForListen, controllThread (main) +- debugging +- Settings (make it configureable) +- beeps (sound Icons) +- 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 + +- translateable + diff --git a/autostart/systemd/fenrir.service b/autostart/systemd/fenrir.service new file mode 100644 index 00000000..ca7d2c47 --- /dev/null +++ b/autostart/systemd/fenrir.service @@ -0,0 +1,11 @@ +[Unit] +Description=fenrir +#After= + +[Service] +ExecStart=path_to_executable +Type=forking +PIDFile=path_to_pidfile + +[Install] +WantedBy=default.target diff --git a/src/fenrir.py b/src/fenrir.py index d246e247..d38ba956 100755 --- a/src/fenrir.py +++ b/src/fenrir.py @@ -1,4 +1,8 @@ #!/bin/python + +# Fenrir TTY screen reader +# By Chrys, Storm Dragon, and contributers. + import hashlib import difflib import textwrap diff --git a/src/speech/es.py b/src/speech/es.py index e69de29b..4f3db5dd 100644 --- a/src/speech/es.py +++ b/src/speech/es.py @@ -0,0 +1,22 @@ +#!/usr/bin/python + +# Espeak driver + +class speech(): + isInitialized = False + + def __init__(self): + try: + pass + isInitialized = True + except: + initialized = False + + def speak(text, queueable=True): + if queueable == False: self.stop() + + def stop(self): + pass + + def clear_buffer(self): + pass