diff --git a/docu/fenrir10.1 b/docu/fenrir10.1 deleted file mode 100644 index 520360a0..00000000 --- a/docu/fenrir10.1 +++ /dev/null @@ -1,2764 +0,0 @@ -.\"t -.\" Automatically generated by Pandoc 1.19.2.1 -.\" -.TH "" "" "" "" "" -.hy -.SH Fenrir User Manual -.PP -Fenrir is a modern command line screen reader written in Python3. -.PP -It has a modular structure, a flexible based driver model, is highly -configurable and easy to customize and extend (see Developer -Manual (fenrir_development_manual)). -.PP -Please see the following pages for the current (fenrir_current_version) -and Git (fenrir_git_version) version of Fenrir. -.SH Support and Requirements -.PP -Fenrir requires several drivers to interact with the operating system. -.SS Speech Drivers -.PP -A speech driver is for communication with the text to speech system like -Speech\-Dispatcher (#SpeechDispatcher) or -Espeak (http://espeak.sourceforge.net). -\\ See section Speech (#Speech) in \[aq]\[aq]settings.conf\[aq]\[aq] for -more information. -.SS SpeechDispatcher -.PP -This driver is used by default. -It uses Speech\-dispatcher as its backend. -.PP -Dependencies: -.IP \[bu] 2 -Speech\-dispatcher (installed and configured, -Documentation (https///devel.freebsoft.org/speechd#sec2)) -.IP \[bu] 2 -Python\-speechd -.SS Espeak -.PP -Uses Espeak via Python bindings. -.PP -Dependencies: -.IP \[bu] 2 -Espeak or Espeak\-ng -.IP \[bu] 2 -python\-espeak (https///launchpad.net/python-espeak) -.SS Generic -.PP -This invokes speech via a sub\-process. -This is almost the same as using the commandline. -The performance depends on the overhead of the speech synthesis -application but it is really flexible. -.PP -Dependencies: -.IP \[bu] 2 -Espeak or Espeak\-ng -.PP -The Requirements are flexible, they depend on the configuration in -settings.conf. -.SS Dummy -.PP -this is just for debugging, logs are output to the screen and logged as -well. -.SS Sound Drivers -.PP -To play sound icons and similar.\\ See section Sound (#Sound) in -\[aq]\[aq]settings.conf\[aq]\[aq] for more information. -.SS Generic -.PP -This driver is used by default. -.PP -Dependencies: -.IP \[bu] 2 -Sox (http://sox.sourceforge.net/) with opus support The Requirements are -flexible, they depend on the configuration in settings.conf. -.SS Gstreamer -.PP -if you prefer to use Gstreamer for sound output. -.PP -Dependencies: -.IP \[bu] 2 -Gstreamer >= 1.x -.IP \[bu] 2 -Glibc -.SS Dummy -.PP -this is just for debugging, logs are output to the screen and logged as -well. -.SS Input Drivers -.PP -Input drivers are to capture keyboard shortcuts issued to the screen -reader -.PD 0 -.P -.PD -See section Keyboard (#Keyboard) in \[aq]\[aq]settings.conf\[aq]\[aq] -for more information. -.SS Evdev -.PP -This driver is used by default. -.PP -Evdev is the low level input device framework for Linux. -.PP -Dependencies: -.IP \[bu] 2 -python\-evdev >=0.6.3 -.IP \[bu] 2 -pyudev -.IP \[bu] 2 -loaded uinput kernel module -.IP \[bu] 2 -exclusive access to the input devices Read permission to the following -files and services: -.IP \[bu] 2 -/dev/input -.IP \[bu] 2 -/dev/uinput -.SS Screen Drivers -.PP -The job of a screen driver is to get the information of current screen -content.\\ See section Screen (#Screen) in -\[aq]\[aq]settings.conf\[aq]\[aq] for more information. -.SS VCSA -.PP -This driver is used by default. -For Linux VCSA devices. -These exist on any current standard installation of Linux. -.PP -Dependencie s: -.IP \[bu] 2 -python\-dbus Read permission to the following files and services (or run -as root): -.IP \[bu] 2 -/sys/devices/virtual/tty/tty0/active -.IP \[bu] 2 -/dev/tty[1 \- 64] -.IP \[bu] 2 -/dev/vcsa[1 \- 64] (VCSA manpage (https///linux.die.net/man/4/vcsa)) -.IP \[bu] 2 -read Logind DBUS -.SS Braille Drivers -.PP -This is for Braille support. -Braille is currently a work in progress and is planned for the Fenrir -2.0 release.\\ See section Braille (#Braille) in -\[aq]\[aq]settings.conf\[aq]\[aq] for more information. -.SS BRLTTY -.PP -This driver is used by default. -It uses BrlTTY (brltty) to communicate with with a Braille device. -.PP -Dependencies: -.IP \[bu] 2 -BrlTTY (configured and running, -Documentation (http://mielke.cc/brltty/doc/Manual-BRLTTY/English/BRLTTY.html)) -.IP \[bu] 2 -python\-brlapi (configured, -Documentation (http://mielke.cc/brltty/doc/Manual-BrlAPI/English/BrlAPI.html)) -## Currently supported platforms -.PP -Currently Fenrir completely supports the following Platforms: -.IP \[bu] 2 -Linux TTY Support for further Systems are planned. -.SH Installation -.PP -Fenrir can run without installation. -It just requires the dependencies are installed first. -.PP -We recommend to try it out before installation to be sure everything -works and prevent yourself from experiencing a non\-talking environment. -.SS Try Out -.PP -Fenrir does not require installation. -You can try it and make sure everything works before you decide to -install. -In this way you can be sure that your system doesnt break or stop -talking. -for that you can just grab the code and run as root -\[aq]\[aq]src/fenrir/fenrir\[aq]\[aq] (in foreground) or -\[aq]\[aq]src/fenrir/fenrir\-daemon\[aq]\[aq] (in background, used by -systemd for autostart) -.SS Install it -.SS Documented operating systems -.SS Arch Linux -.PP -For Arch there are PKGBUILDs in the AUR: -.IP \[bu] 2 -fenrir (https///aur.archlinux.org/packages/fenrir/) -.IP \[bu] 2 -fenrir\-git (https///aur.archlinux.org/packages/fenrir-git/) -.SS Manual -.IP "1." 3 -Download the latest stable version from the -Fenrir\-Project (https///linux-a11y.org/index.php?page=fenrir-screenreader) -site. -.IP "2." 3 -Unpack the archive -.IP "3." 3 -Check the needed Dependencys by running -check\-dependencys.py (https///github.com/chrys87/fenrir/blob/master/check-dependencies.py) -script -.IP "4." 3 -install the missing dependencies an standard installation requires the -following: -.RS 4 -.IP \[bu] 2 -python3 >= 3.3 (and all the following is needed for python3 ) -.IP \[bu] 2 -python3\-speechd (screen) -.IP \[bu] 2 -python3\-dbus (screen) -.IP \[bu] 2 -python3\-evdev >= 0.6.4(input) -.IP \[bu] 2 -python3\-daemonize (background service) -.IP \[bu] 2 -python3\-brlapi (braille) -.IP \[bu] 2 -python3\-pyenchant (spellchecker) -.IP \[bu] 2 -your language for aspell (aspell\-\f[C]\f[]) (spellchecker) -.IP \[bu] 2 -sox (sound) -.IP \[bu] 2 -For an individual installation see Support and -Requirements (#Support%20and%20Requirements) or consult the -Readme (https///github.com/chrys87/fenrir/blob/master/README.md)) -.RE -.IP "5." 3 -run "install.sh" as root -.PP -this installs Fenrir as the following -.IP -.nf -\f[C] -*\ Application:\[aq]\[aq]/opt/fenrir\[aq]\[aq] -*\ Settings:\[aq]\[aq]/etc/fenrir\[aq]\[aq] -*\ Sound\ Icons:\[aq]\[aq]/usr/share/fenrir/\[aq]\[aq] -\f[] -.fi -.PP -to remove Fenrir just run uninstall.sh as root -.SS Git -.PP -if you want to get the latest code you can use git to get a development -snapshot: -.IP -.nf -\f[C] -git\ clone\ https://github.com/chrys87/fenrir.git -\f[] -.fi -.SS Auto Start -.PP -To start Fenrir once: systemctl start fenrir -.PP -To enable auto start on system boot: systemctl enable fenrir -.SH First Steps -.PP -If you are using Fenrir for the first time you may want to take a look -at these resources: -.IP \[bu] 2 -Keybindings (#Keybindings) -.IP \[bu] 2 -Tutorial Mode (#Tutorial%20Mode) -.SH Features -.SS Commands -.SS Keybindings -.PP -Normal commands can be invoked in two ways: 1. -Using a Metakey (FenrirKey (#Fenrir%20Key)) 2. -Shortcuts with a single key -.PP -See section Keyboard (#Keyboard) in \[aq]\[aq]settings.conf\[aq]\[aq] -for more information. -#### Fenrir Key -.PP -The Fenrir Key is for invoking screen reader commands. -Fenrir can utilize more than one FenrirKey at the same time. -By default the following keys are used: 1. -Insert 2. -KeyPad Insert 3. -Meta (Super, Windows) -.SS Script Key -.PP -To invoke "Scripts" the Script Key is mandatory. -The shortcut is encoded in the filename of the script. -See Scripting (#Scripting) #### Desktop Layout -.PP -.TS -tab(@); -l l. -T{ -Shortcut -T}@T{ -Command -T} -_ -T{ -FenrirKey + H -T}@T{ -toggle tutorial mode (#Tutorial%20Mode) -T} -T{ -CTRL -T}@T{ -shut up (interrupts speech) (#shut%20up) -T} -T{ -FenrirKey + KeyPad 9 -T}@T{ -reviews bottom (#review%20bottom) -T} -T{ -FenrirKey + KeyPad 7 -T}@T{ -reviews top (#review%20top) -T} -T{ -KeyPad 8 -T}@T{ -reviews current line (#review%20current%20line) -T} -T{ -KeyPad 7 -T}@T{ -reviews previous line (#review%20previous%20line) -T} -T{ -KeyPad 9 -T}@T{ -reviews next line (#review%20next%20line) -T} -T{ -FenrirKey + KeyPad 4 -T}@T{ -reviews line beginning (#review%20line%20beginning) -T} -T{ -FenrirKey + KeyPad 6 -T}@T{ -reviews line ending (#review%20line%20ending) -T} -T{ -FenrirKey + KeyPad 1 -T}@T{ -reviews line first character (#review%20line%20first%20character) -T} -T{ -FenrirKey + KeyPad 3 -T}@T{ -reviews line last character (#review%20line%20last%20character) -T} -T{ -FenrirKey + Alt + 1 -T}@T{ -presents first line (#present%20first%20line) -T} -T{ -FenrirKey + Alt + 2 -T}@T{ -presents last line (#present%20last%20line) -T} -T{ -KeyPad 5 -T}@T{ -reviews current word (#review%20current%20word) -T} -T{ -KeyPad 4 -T}@T{ -reviews previous word (#review%20previous%20word) -T} -T{ -KeyPad 6 -T}@T{ -reviews next word (#review%20next%20word) -T} -T{ -FenrirKey + Shift + KeyPad 5 -T}@T{ -reviews current word phonetic (#review%20current%20word%20phonetic) -T} -T{ -FenrirKey + Shift + KeyPad 4 -T}@T{ -reviews previous word phonetic (#review%20previous%20word%20phonetic) -T} -T{ -FenrirKey + Shift + KeyPad 6 -T}@T{ -reviews next word phonetic (#review%20next%20word%20phonetic) -T} -T{ -KeyPad 2 -T}@T{ -reviews current char (#review%20current%20character) -T} -T{ -KeyPad 1 -T}@T{ -reviews previous char (#review%20previous%20character) -T} -T{ -KeyPad 3 -T}@T{ -reviews next char (#review%20next%20character) -T} -T{ -FenrirKey + Shift + KeyPad 2 -T}@T{ -reviews current character -phonetic (#review%20current%20character%20phonetic) -T} -T{ -FenrirKey + Shift + KeyPad 1 -T}@T{ -reviews previous character -phonetic (#review%20previous%20character%20phonetic) -T} -T{ -FenrirKey + Shift + KeyPad 3 -T}@T{ -reviews next character phonetic (#review%20next%20character%20phonetic) -T} -T{ -FenrirKey + CTRL + KeyPad 8 -T}@T{ -reviews up (#review%20up) -T} -T{ -FenrirKey + CTRL + KeyPad 2 -T}@T{ -reviews down (#review%20down) -T} -T{ -FenrirKey + KeyPad dot -T}@T{ -exit review (#exit%20review) -T} -T{ -KeyPad dot -T}@T{ -cursor position (#cursor%20position) -T} -T{ -FenrirKey + I -T}@T{ -indent curr line (#indent%20current%20line) -T} -T{ -FenrirKey + KeyPad 5 -T}@T{ -current screen (#current%20screen) -T} -T{ -FenrirKey + KeyPad 8 -T}@T{ -current screen before cursor (#current%20screen%20before%20cursor) -T} -T{ -FenrirKey + KeyPad 2 -T}@T{ -current screen after cursor (#current%20screen%20after%20cursor) -T} -T{ -\f[C]\f[] -T}@T{ -cursor read to end of line (#cursor%20read%20to%20end%20of%20line) -T} -T{ -\f[C]\f[] -T}@T{ -cursor column (#cursor%20column) -T} -T{ -\f[C]\f[] -T}@T{ -cursor line number (#cursor%20line%20number) -T} -T{ -\f[C]\f[] -T}@T{ -Braille flush (#braille%20flush) -T} -T{ -\f[C]\f[] -T}@T{ -Braille pan left (#braille%20pan%20left) -T} -T{ -\f[C]\f[] -T}@T{ -Braille pan right (#braille%20pan%20right) -T} -T{ -\f[C]\f[] -T}@T{ -Braille return to cursor (#braille%20return%20to%20cursor) -T} -T{ -FenrirKey + CTRL + 1 -T}@T{ -clear bookmark 1 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 1 -T}@T{ -set bookmark 1 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 1 -T}@T{ -bookmark 1 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 2 -T}@T{ -clear bookmark 2 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 2 -T}@T{ -set bookmark 2 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 2 -T}@T{ -bookmark 2 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 3 -T}@T{ -clear bookmark 3 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 3 -T}@T{ -set bookmark 3 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 3 -T}@T{ -bookmark 3 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 4 -T}@T{ -clear bookmark 4 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 4 -T}@T{ -set bookmark 4 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 4 -T}@T{ -bookmark 4 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 5 -T}@T{ -clear bookmark 5 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 5 -T}@T{ -set bookmark 5 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 5 -T}@T{ -bookmark 5 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 6 -T}@T{ -clear bookmark 6 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 6 -T}@T{ -set bookmark 6 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 6 -T}@T{ -bookmark 6 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 7 -T}@T{ -clear bookmark 7 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 7 -T}@T{ -set bookmark 7 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 7 -T}@T{ -bookmark 7 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 8 -T}@T{ -clear bookmark 8 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 8 -T}@T{ -set bookmark 8 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 8 -T}@T{ -bookmark 8 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 9 -T}@T{ -clear bookmark 9 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 9 -T}@T{ -set bookmark 9 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 9 -T}@T{ -bookmark 9 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 0 -T}@T{ -clear bookmark 10 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 0 -T}@T{ -set bookmark 10 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 0 -T}@T{ -bookmark 10 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + KeyPad Slash -T}@T{ -set window application (#Create%20Window) -T} -T{ -2 * FenrirKey + KeyPad Slash -T}@T{ -clear window application (#Remove%20Window) -T} -T{ -KeyPad Plus -T}@T{ -read last incoming (#last%20incoming) -T} -T{ -FenrirKey + F2 -T}@T{ -toggles braille (#toggle%20braille) -T} -T{ -FenrirKey + F3 -T}@T{ -toggles sound (#toggle%20sound) -T} -T{ -FenrirKey + F4 -T}@T{ -toggles speech (#toggle%20speech) -T} -T{ -KeyPad Enter -T}@T{ -temporarily disables speech (#disable%20speech%20temporarily) -T} -T{ -FenrirKey + CTRL + P -T}@T{ -toggles punctuation level (#toggle%20punctuation%20level) -T} -T{ -FenrirKey + RightBrace -T}@T{ -toggle auto spell check (#toggle%20auto%20spell%20check) -T} -T{ -FenrirKey + Backslash -T}@T{ -toggles output (#toggle%20output) -T} -T{ -FenrirKey + CTRL + E -T}@T{ -toggles emoticons (#toggle%20emoticons) -T} -T{ -FenrirKey + KeyPad Enter -T}@T{ -toggles auto read (#toggle%20auto%20read) -T} -T{ -FenrirKey + CTRL + T -T}@T{ -toggles auto time (#toggle%20auto%20time) -T} -T{ -FenrirKey + KeyPad ASTERISK -T}@T{ -toggles highlight tracking (#toggle%20highlight%20tracking) -T} -T{ -FenrirKey + Q -T}@T{ -quits fenrir (#quit%20Fenrir) -T} -T{ -FenrirKey + T -T}@T{ -Announce time (#Time) -T} -T{ -2 * FenrirKey + T -T}@T{ -Announce date (#Date) -T} -T{ -FenrirKey + S -T}@T{ -spell check (#spell%20check) -T} -T{ -2 * FenrirKey + S -T}@T{ -add word to spell check (#add%20word%20to%20spell%20check) -T} -T{ -FenrirKey + Shift + S -T}@T{ -removes word from spell check (#removes%20word%20from%20spell%20check) -T} -T{ -FenrirKey + Backspace -T}@T{ -forward keypress (#forward%20keypress) -T} -T{ -FenrirKey + Up -T}@T{ -increase speech volume (#increase%20speech%20volume) -T} -T{ -FenrirKey + Down -T}@T{ -decrease speech volume (#decrease%20speech%20volume) -T} -T{ -FenrirKey + Right -T}@T{ -increase speech rate (#increase%20speech%20rate) -T} -T{ -FenrirKey + Left -T}@T{ -decrease speech rate (#decrease%20speech%20rate) -T} -T{ -FenrirKey + Alt + Right -T}@T{ -increase speech pitch (#increase%20speech%20pitch) -T} -T{ -FenrirKey + Alt + Left -T}@T{ -decrease speech pitch (#decrease%20speech%20pitch) -T} -T{ -FenrirKey + Alt + Up -T}@T{ -increase sound volume (#increase%20sound%20volume) -T} -T{ -FenrirKey + Alt + Down -T}@T{ -decrease sound volume (#decrease%20sound%20volume) -T} -T{ -FenrirKey + CTRL + Shift + C -T}@T{ -clears clipboard (#clear%20clipboard) -T} -T{ -FenrirKey + Home -T}@T{ -first clipboard (#first%20clipboard) -T} -T{ -FenrirKey + End -T}@T{ -last clipboard (#last%20clipboard) -T} -T{ -FenrirKey + PageUp -T}@T{ -previous clipboard (#previous%20clipboard) -T} -T{ -FenrirKey + PageDown -T}@T{ -next clipboard (#next%20clipboard) -T} -T{ -FenrirKey + Shift + C -T}@T{ -current clipboard (#read%20current%20clipboard) -T} -T{ -FenrirKey + C -T}@T{ -copy marked text to clipboard (#copy%20marked%20to%20clipboard) -T} -T{ -FenrirKey + V -T}@T{ -paste clipboard contents (#paste%20clipboard) -T} -T{ -FenrirKey + P -T}@T{ -import clipboard from file (#import%20clipboard%20from%20file) -T} -T{ -FenrirKey + Alt + Shift +C -T}@T{ -export clipboard to file (#export%20clipboard%20to%20file) -T} -T{ -FenrirKey + CTRL + Shift + X -T}@T{ -remove marks (#Remove%20Marks) -T} -T{ -FenrirKey + X -T}@T{ -set mark (#Set%20mark) -T} -T{ -FenrirKey + Shift + X -T}@T{ -announce marked text (#Get%20text%20between%20marks) -T} -T{ -Linux specific -T}@T{ -T} -T{ -\f[C]\f[] -T}@T{ -export clipboard to X -T} -T{ -FenrirKey + CTRL + Up -T}@T{ -include Alsa volume -T} -T{ -FenrirKey + CTRL + Down -T}@T{ -decrease Alsa volume -T} -.TE -.SS Laptop Layout -.PP -.TS -tab(@); -l l. -T{ -Shortcut -T}@T{ -Command -T} -_ -T{ -FenrirKey + H -T}@T{ -toggle tutorial mode (#Tutorial%20Mode) -T} -T{ -CTRL -T}@T{ -shut up (interrupts speech) (#shut%20up) -T} -T{ -FenrirKey + Shift + O -T}@T{ -reviews bottom (#review%20bottom) -T} -T{ -FenrirKey + Shift + U -T}@T{ -reviews top (#review%20top) -T} -T{ -FenrirKey + I -T}@T{ -reviews current line (#review%20current%20line) -T} -T{ -FenrirKey + U -T}@T{ -reviews previous line (#review%20previous%20line) -T} -T{ -FenrirKey + O -T}@T{ -reviews next line (#review%20next%20line) -T} -T{ -FenrirKey + Shift + J -T}@T{ -reviews line beginning (#review%20line%20beginning) -T} -T{ -FenrirKey + Shift + L -T}@T{ -reviews line ending (#review%20line%20ending) -T} -T{ -FenrirKey + CTRL + J -T}@T{ -reviews line first character (#review%20line%20first%20character) -T} -T{ -FenrirKey + CTRL + L -T}@T{ -reviews line last character (#review%20line%20last%20character) -T} -T{ -FenrirKey + Alt + 1 -T}@T{ -presents first line (#present%20first%20line) -T} -T{ -FenrirKey + Alt + 2 -T}@T{ -presents last line (#present%20last%20line) -T} -T{ -FenrirKey + K -T}@T{ -reviews current word (#review%20current%20word) -T} -T{ -FenrirKey + J -T}@T{ -reviews previous word (#review%20previous%20word) -T} -T{ -FenrirKey + L -T}@T{ -reviews next word (#review%20next%20word) -T} -T{ -FenrirKey + CTRL + ALT + K -T}@T{ -reviews current word phonetic (#review%20current%20word%20phonetic) -T} -T{ -FenrirKey + CTRL + ALT + J -T}@T{ -reviews previous word phonetic (#review%20previous%20word%20phonetic) -T} -T{ -FenrirKey + CTRL + ALT + L -T}@T{ -reviews next word phonetic (#review%20next%20word%20phonetic) -T} -T{ -FenrirKey + comma -T}@T{ -reviews current character (#review%20current%20character) -T} -T{ -FenrirKey + M -T}@T{ -reviews previous character (#review%20previous%20character) -T} -T{ -FenrirKey + dot -T}@T{ -reviews next character (#review%20next%20character) -T} -T{ -FenrirKey + CTRL + ALT + comma -T}@T{ -reviews current character -phonetic (#review%20current%20character%20phonetic) -T} -T{ -FenrirKey + CTRL + ALT + M -T}@T{ -reviews previous character -phonetic (#review%20previous%20character%20phonetic) -T} -T{ -FenrirKey + CTRL + ALT + dot -T}@T{ -reviews next character phonetic (#review%20next%20character%20phonetic) -T} -T{ -FenrirKey + CTRL + I -T}@T{ -reviews up (#review%20up) -T} -T{ -FenrirKey + CTRL + comma -T}@T{ -reviews down (#review%20down) -T} -T{ -FenrirKey + Slash -T}@T{ -exit review (#exit%20review) -T} -T{ -FenrirKey + Shift + dot -T}@T{ -cursor position (#cursor%20position) -T} -T{ -2 * FenrirKey + I -T}@T{ -indent curr line (#indent%20current%20line) -T} -T{ -FenrirKey + Shift + K -T}@T{ -current screen (#current%20screen) -T} -T{ -FenrirKey + Shift + I -T}@T{ -current screen before cursor (#current%20screen%20before%20cursor) -T} -T{ -FenrirKey + Shift + comma -T}@T{ -current screen after cursor (#current%20screen%20after%20cursor) -T} -T{ -\f[C]\f[] -T}@T{ -cursor read to end of line (#cursor%20read%20to%20end%20of%20line) -T} -T{ -\f[C]\f[] -T}@T{ -cursor column (#cursor%20column) -T} -T{ -\f[C]\f[] -T}@T{ -cursor line number (#cursor%20line%20number) -T} -T{ -\f[C]\f[] -T}@T{ -Braille flush (#braille%20flush) -T} -T{ -\f[C]\f[] -T}@T{ -Braille pan left (#braille%20pan%20left) -T} -T{ -\f[C]\f[] -T}@T{ -Braille pan right (#braille%20pan%20right) -T} -T{ -\f[C]\f[] -T}@T{ -Braille return to cursor (#braille%20return%20to%20cursor) -T} -T{ -FenrirKey + CTRL + 1 -T}@T{ -clear bookmark 1 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 1 -T}@T{ -set bookmark 1 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 1 -T}@T{ -bookmark 1 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 2 -T}@T{ -clear bookmark 2 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 2 -T}@T{ -set bookmark 2 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 2 -T}@T{ -bookmark 2 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 3 -T}@T{ -clear bookmark 3 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 3 -T}@T{ -set bookmark 3 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 3 -T}@T{ -bookmark 3 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 4 -T}@T{ -clear bookmark 4 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 4 -T}@T{ -set bookmark 4 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 4 -T}@T{ -bookmark 4 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 5 -T}@T{ -clear bookmark 5 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 5 -T}@T{ -set bookmark 5 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 5 -T}@T{ -bookmark 5 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 6 -T}@T{ -clear bookmark 6 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 6 -T}@T{ -set bookmark 6 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 6 -T}@T{ -bookmark 6 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 7 -T}@T{ -clear bookmark 7 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 7 -T}@T{ -set bookmark 7 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 7 -T}@T{ -bookmark 7 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 8 -T}@T{ -clear bookmark 8 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 8 -T}@T{ -set bookmark 8 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 8 -T}@T{ -bookmark 8 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 9 -T}@T{ -clear bookmark 9 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 9 -T}@T{ -set bookmark 9 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 9 -T}@T{ -bookmark 9 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 0 -T}@T{ -clear bookmark 10 (#clear%20Bookmark%20X) -T} -T{ -FenrirKey + Shift + 0 -T}@T{ -set bookmark 10 (#set%20Bookmark%20X) -T} -T{ -FenrirKey + 0 -T}@T{ -bookmark 10 (#read%20Bookmark%20X) -T} -T{ -FenrirKey + CTRL + 8 -T}@T{ -set window application (#Create%20Window) -T} -T{ -2 * FenrirKey + CTRL + 8 -T}@T{ -clear window application (#Remove%20Window) -T} -T{ -FenrirKey + Semicolon -T}@T{ -read last incoming (#last%20incoming) -T} -T{ -FenrirKey + F2 -T}@T{ -toggles braille (#toggle%20braille) -T} -T{ -FenrirKey + F3 -T}@T{ -toggles sound (#toggle%20sound) -T} -T{ -FenrirKey + F4 -T}@T{ -toggles speech (#toggle%20speech) -T} -T{ -FenrirKey + Enter -T}@T{ -temporarily disables speech (#disable%20speech%20temporarily) -T} -T{ -FenrirKey + Shift + CTRL + P -T}@T{ -toggles punctuation level (#toggle%20punctuation%20level) -T} -T{ -FenrirKey + RightBrace -T}@T{ -toggle auto spell check (#toggle%20auto%20spell%20check) -T} -T{ -FenrirKey + Shift + Enter -T}@T{ -toggles output (#toggle%20output) -T} -T{ -FenrirKey + Shift + E -T}@T{ -toggles emoticons (#toggle%20emoticons) -T} -T{ -FenrirKey + Enter -T}@T{ -toggles auto read (#toggle%20auto%20read) -T} -T{ -FenrirKey + CTRL + T -T}@T{ -toggles auto time (#toggle%20auto%20time) -T} -T{ -FenrirKey + Y -T}@T{ -toggles highlight tracking (#toggle%20highlight%20tracking) -T} -T{ -FenrirKey + Q -T}@T{ -quits fenrir (#quit%20Fenrir) -T} -T{ -FenrirKey + T -T}@T{ -Announce time (#Time) -T} -T{ -2 * FenrirKey + T -T}@T{ -Announce date (#Date) -T} -T{ -FenrirKey + S -T}@T{ -spell check (#spell%20check) -T} -T{ -2 * FenrirKey + S -T}@T{ -add word to spell check (#add%20word%20to%20spell%20check) -T} -T{ -FenrirKey + Shift + S -T}@T{ -removes word from spell check (#removes%20word%20from%20spell%20check) -T} -T{ -FenrirKey + Backspace -T}@T{ -forward keypress (#forward%20keypress) -T} -T{ -FenrirKey + Up -T}@T{ -increase speech volume (#increase%20speech%20volume) -T} -T{ -FenrirKey + Down -T}@T{ -decrease speech volume (#decrease%20speech%20volume) -T} -T{ -FenrirKey + Right -T}@T{ -increase speech rate (#increase%20speech%20rate) -T} -T{ -FenrirKey + Left -T}@T{ -decrease speech rate (#decrease%20speech%20rate) -T} -T{ -FenrirKey + Alt + Right -T}@T{ -increase speech pitch (#increase%20speech%20pitch) -T} -T{ -FenrirKey + Alt + Left -T}@T{ -decrease speech pitch (#decrease%20speech%20pitch) -T} -T{ -FenrirKey + Alt + Up -T}@T{ -increase sound volume (#increase%20sound%20volume) -T} -T{ -FenrirKey + Alt + Down -T}@T{ -decrease sound volume (#decrease%20sound%20volume) -T} -T{ -FenrirKey + CTRL + Shift + C -T}@T{ -clears clipboard (#clear%20clipboard) -T} -T{ -FenrirKey + Home -T}@T{ -first clipboard (#first%20clipboard) -T} -T{ -FenrirKey + End -T}@T{ -last clipboard (#last%20clipboard) -T} -T{ -FenrirKey + PageUp -T}@T{ -previous clipboard (#previous%20clipboard) -T} -T{ -FenrirKey + PageDown -T}@T{ -next clipboard (#next%20clipboard) -T} -T{ -FenrirKey + Shift + C -T}@T{ -current clipboard (#read%20current%20clipboard) -T} -T{ -FenrirKey + C -T}@T{ -copy marked text to clipboard (#copy%20marked%20to%20clipboard) -T} -T{ -FenrirKey + V -T}@T{ -paste clipboard contents (#paste%20clipboard) -T} -T{ -FenrirKey + F5 -T}@T{ -import clipboard from file (#import%20clipboard%20from%20file) -T} -T{ -FenrirKey + Alt + Shift +C -T}@T{ -export clipboard to file (#export%20clipboard%20to%20file) -T} -T{ -FenrirKey + CTRL + Shift + X -T}@T{ -remove marks (#Remove%20Marks) -T} -T{ -FenrirKey + X -T}@T{ -set mark (#Set%20mark) -T} -T{ -FenrirKey + Shift + X -T}@T{ -announce marked text (#Get%20text%20between%20marks) -T} -T{ -Linux specific -T}@T{ -T} -T{ -\f[C]\f[] -T}@T{ -export clipboard to X -T} -T{ -FenrirKey + CTRL + Up -T}@T{ -increases Alsa volume -T} -T{ -FenrirKey + CTRL + Down -T}@T{ -decreases Alsa volume -T} -.TE -.SS General -.SS quit Fenrir -.PP -Just stops fenrir. -#### shut up -.PP -Interrupt the current spoken. -### Review Modes -.PP -Fenrir provides a virtual cursor, with it you can navigate all over the -screen without changing the text cursor. -.PP -Using the review feature will open the review mode automatically. -.PP -The review cursor always starts from the text cursor. -Attention: after using the review mode, the review cursor will stay open -until you use the \[aq]\[aq]exit review\[aq]\[aq] shortcut. -.PP -Think when using clipboard operations and similar. -The review cursor is always prefered over the text cursor. -.PP -Fenrir sounds a bell sound if the used review command jumps to another -line or end of screen. -#### exit review -.PP -You can leave the review mode by pressing the \[aq]\[aq]exit -review\[aq]\[aq] shortcut. -#### review bottom -.PP -Set the review cursor to first column in the last line. -#### review top -.PP -Set the review cursor to the first column in the first line #### review -current line -.PP -Set the review cursor to the beginn of the the current line and review -it. -#### review previous line -.PP -Set the review cursor to the previous line and review it. -#### review next line -.PP -Set the review cursor to the next line and review it. -#### review line beginning -.PP -Set the review cursor to the begin of the current line #### review line -ending -.PP -Set the review cursor to the end of the current line #### review line -first character -.PP -Set the review cursor the first char (that is not space) in the current -line and review it. -#### review line last character -.PP -Set the review cursor the last char (that is not space) in the current -line and review it. -#### review current word -.PP -Sets the review cursor to the beginning of the current word and review -it. -#### review previous word -.PP -Sets the review cursor to the beginning of the previous word and review -it. -#### review next word -.PP -Sets the review cursor to the beginning of the next word and review it. -#### review current word phonetic -.PP -Sets the review cursor to the beginning of the current word and spell it -phonetic. -#### review previous word phonetic -.PP -Sets the review cursor to the beginning of the previous word and spell -it phonetic. -#### review next word phonetic -.PP -Sets the review cursor to the beginning of the next word and spell it -phonetic. -#### review current character -.PP -Does not change the review cursor. -Just announce the current char. -#### review previous character -.PP -Sets review cursor to the previous column and review it #### review next -character -.PP -Sets review cursor to the next column and review it #### review current -character phonetic -.PP -Does not change the review cursor. -Just announce the current char phonetic. -#### review previous character phonetic -.PP -Sets review cursor to the previous column and announce the char -phonetic. -#### review next character phonetic -.PP -Sets review cursor to the next column and announce the char phonetic. -#### review up -.PP -Set the review cursor in the same column one line above the current one -and review it. -#### review down -.PP -Set the review cursor in the same column one line below the current one -and review it. -### Handling marking -.PP -A mark defines a point of origin or end to prepare to copy or paste a -block of text. -\\ Examples where you need marks are: -.IP \[bu] 2 -copy to clipboard -.IP \[bu] 2 -set window application -.IP \[bu] 2 -set bookmark 1 \- X #### Set mark -.PP -How to set a mark: 1. -navigate with review or textcursor to the position you want to set the -mark. -Attention: if a review cursor is set, that is the prefered. -If you want to use text cursor, be sure that you are not in review mode. -2. -press shortcut for \[aq]\[aq]set mark\[aq]\[aq] you can set two marks -(begin and end). -Some commands allow some simpler usecases just using the whole line if -only one mark is set. -you may want to try this out. -#### Get text between marks -.PP -To get the text that is currently between your marks press shortcut for -\[aq]\[aq]marked text\[aq]\[aq].\\ #### Remove Marks -.PP -You can remove all current marks by pressing the shortcut for -\[aq]\[aq]remove marks\[aq]\[aq]. -Changing the screen also removes the marks. -### Screen Interaction -.PP -Fenrir provides several methods to interact with the current screen. -#### forward keypress -.PP -This just forwards the next shortcut to the screen Fenrir shortcut or -not. -This is useful if the currently pressed shortcut is also in use by -Fenrir. -#### Clipboard -.PP -Fenrir provides a clipboard with multible items represented by a list. -You navigate throught the list and paste the selected clipboard. -##### copy marked to clipboard -.PP -To copy something to the clipboard you need to set one or two marks. -if you set one mark, the text between the mark and your current cursor -is copied to clipboard. -Setting two marks just copies the text between the marks into the -clipboard. -If you copy something it is always placed as the first item on your -clipboard. -##### clear clipboard -.PP -You can remove all items from the current clipboard by \[aq]\[aq]clear -clipboard\[aq]\[aq] functionality. -##### first clipboard -.PP -This moves quick to the first item of the clipboard. -##### last clipboard -.PP -This moves quick to the last item of the clipboard. -##### previous clipboard -.PP -Go to previous item in the clipboard. -##### next clipboard -.PP -Go to next item on the clipboard. -##### read current clipboard -.PP -Read the content of the current item of the clipboard. -##### paste clipboard -.PP -Pass whatever item is currently selected by first, last, prev or next -clipboard commands. -if no special clipboard is selected the (last copied) is used. -##### export clipboard to file -.PP -This allows you to export the current clipboard to a configurable -filepath. -This is useful to share the clipboard with a graphical desktop. -##### import clipboard from file -.PP -Import a clipboard from a configurable file. -This is useful to share the clipboard with a graphical desktop. -### Quick Settings -.PP -Fenrir provides shortcuts to change settings temporarily and on the fly -without the need to permanently change the -\[aq]\[aq]settings.conf\[aq]\[aq] file. -#### toggle braille -.PP -Enables and disables Braille. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle sound -.PP -Enables and disables sound. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle speech -.PP -Enables and disables speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### disable speech temporarily -.PP -Disables the speech until next key press. -it might be useful if you want to listen to music or similar. -As soon as a key is pressed it is going to be enabled again. -#### toggle punctuation level -.PP -Cycle between all available punctuation levels. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle auto spell check -.PP -Enables and disables automatic spellchecker (when typing). -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle emoticons -.PP -Enables and disables emoticons. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### toggle output -.PP -Enables and disables all output at once (sound, Braille, speech). -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle auto read -.PP -Enables and disables what is automatically spoken. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle auto time -.PP -Enables and disables auto time functionality. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### toggle highlight tracking -.PP -Enables and disables highlight tracking. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during run time. -#### increase speech volume -.PP -Increase the volume of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### decrease speech volume -.PP -Decrease the volume of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### increase speech rate -.PP -Increase the rate of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### decrease speech rate -.PP -Decrease the rate of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### increase speech pitch -.PP -Increase the pitch of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### decrease speech pitch -.PP -Decrease the pitch of the speech. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### increase sound volume -.PP -Increase the volume of the sound. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -#### decrease sound volume -.PP -Decrease the volume of the sound. -This is not persistent stored in your \[aq]\[aq]settings.conf\[aq]\[aq] -but during runtime. -### Window Mode -.PP -Fenrir supports window mode, a window is a partial area of the screen. -#### Create Window -.PP -To create a window you need to do the following: 1. -set a beginning mark (as the start of the window) 2. -set an end mark (where the window should end) 3. -press \[aq]\[aq]set window application\[aq]\[aq] shortcut. -Now Fenrir ignores anything outside of the window.\\ #### Remove Window -.PP -You can remove the window by pressing \[aq]\[aq]the clear window -application\[aq]\[aq] shortcut. -Now Fenrir will read everything on the screen again. -### Tracking Modes -.PP -Different types of tracking are currently supported See section -Focus (#Focus) in \[aq]\[aq]settings.conf\[aq]\[aq] for more -information. -#### Cursor Tracking -.PP -This follows the text cursor. -This is the typical way an application works. -This is used by: -.IP \[bu] 2 -almost any shell such as (Bash, Zsh, sh) -.IP \[bu] 2 -vim -.IP \[bu] 2 -nano -.IP \[bu] 2 -emacs -.IP \[bu] 2 -mutt -.IP \[bu] 2 -tintin++ #### Highlight Tracking -.PP -In some applications there are no text cursors. -In those applications cursor changes are represented by different colors -or attributes (underlined or bold). -This mode tracks and announces these changes for you. -This is used by: -.IP -.nf -\f[C] -*\ wifi\-menu -*\ dialog -*\ alpine -\f[] -.fi -.SS Tutorial Mode -.PP -Fenrir provides a Tutorial mode. -When you enter tutorial mode, screen reader commands are intercepted and -explained instead of executing them. -\[aq]\[aq]Arrow up\[aq]\[aq] and \[aq]\[aq]Arrow Down\[aq]\[aq] let you -navigate through a list of all available commands with shortcuts and -description. -Pressing escape leaves the tutorial mode. -.SS Information -.SS Time -.PP -Announces the current Time. -#### Date -.PP -Announces the current Date. -#### Bookmarks -.PP -Bookmarks provide quick access to part of the screen without the need to -navigate to the area. -By default Fenrir provides 10 bookmarks. -Those can be set and accessed via shortcut. -This is useful for status lines or other information where the position -does not change. -##### set Bookmark X -.PP -You need to set the bookmark first. -For that you have to set one or two lines for use. -1. -Set marks (one or two) 2. -press shortcut for \[aq]\[aq]set bookmark X\[aq]\[aq]. -X represents the number 1 \- 10. -##### read Bookmark X -.PP -If a bookmark is set you can access the area just by pressing the -\[aq]\[aq]bookmark X\[aq]\[aq] shortcut. -X represents the number 1 \- 10. -Bookmarks are dynamic. -That means the content changes with the screen. -##### clear Bookmark X -.PP -to remove a bookmark just press the \[aq]\[aq]clear bookmark X\[aq]\[aq] -shortcut. -X represents the number 1 \- 10. -Afterward the bookmark is no longer available. -#### cursor position -.PP -You can get information about the current cursor and its position by -using the "cursor position" functionality. -#### indent current line -.PP -Announce the current indent level of the current line. -It represents the number of trailing spaces of the line. -#### current screen -.PP -Reads all the current screen from the beginning to the end. -#### current screen before cursor -.PP -Reads current screen from the beginning of the screen to the current -cursor position. -#### current screen after cursor -.PP -Read anything after current cursor position to the end. -#### cursor read to end of line -.PP -Read from the current cursor position to the end of the current line. -#### cursor column -.PP -Read the current X position of a cursor (column of the current line). -#### cursor line number -.PP -Read the current Y position of a cursor (line number). -#### present first line -.PP -Reads just the first line. -this is maybe useful for status information. -#### present last line -.PP -Presets the last line. -This is maybe useful for status information. -#### last incoming -.PP -Repeat the last automatically incoming text. -## Input -.SS Echo -.PP -Fenrir provides different methods of echoing content: -.IP \[bu] 2 -Word: Will speak each word after you push space -.IP \[bu] 2 -Character: speak any letter you type on the screen -.IP \[bu] 2 -Delete Character: speaks the character prior to the cursor when you push -backspace ### Silence on Key press -.SS Spellchecker -.PP -Fenrir has a built\-in spellchecker, it can invoke automatically while -typing or be called by a shortcut. -Commands to add or remove the current word to the dictionary are -included. -As using the spellchecker is enhanced usage. -You will need dictionary aspell\-\f[C]\f[]. -See section General (#General) in \[aq]\[aq]settings.conf\[aq]\[aq] for -more information. -#### spell check -.PP -Invokes the spellcheck on the word that contains the Review or text -cursor. -#### add word to spell check -.PP -Adds the word under the Review or Text cursor to the dictionary. -#### removes word from spell check -.PP -Removes the word under the Review or Text cursor from the dictionary. -## Announcements -.SS Emoticons -.PP -If you want to replace ":)" emoticons with "smile" in speech you can use -this feature. -It can be toggled on or off. -You can define emoticons in a dictionary, please see Emoticon -Dictionary. -See section General (#General) in \[aq]\[aq]settings.conf\[aq]\[aq] to -see how to enable or disable this feature. -.SS Time -.PP -Announce the time at periodical increments, To track the time easily. -You can define 2 different ways of time announcements. -1. -periodic 2. -on fix minutes -.PP -Example periodic, every 20 minutes "delaySec=20": -.IP -.nf -\f[C] -[time] -enabled=True -presentTime=True -presentDate=True -delaySec=20 -onMinutes= -announce=True -interrupt=False\ \ \ \ -\f[] -.fi -.PP -Example on fix minutes in an hour. -example every quarter "delaySec=0" and "onMinutes=00,15,30,45": -.IP -.nf -\f[C] -[time] -enabled=True -presentTime=True -presentDate=True -#delaySec\ is\ repected\ bevore\ onMinutes\ so\ it\ need\ to\ be\ set\ to\ 0 -delaySec=0\ -onMinutes=00,15,30,45 -announce=True -interrupt=False\ \ \ \ \ \ -\f[] -.fi -.SS Promoted List -.PP -Promoted Lists are a nice feature if you are away from your computer or -performing more longer tasks. -you can define a list of words which you want to hear a sound icon for -after a period of inactivity. -Example if the word "Chrys" appears after 120 Seconds of inactivity: -[promote] enabled=True -.PD 0 -.P -.PD -inactiveTimeoutSec=120 list=Chrys See section Promote (#Promote) in -\[aq]\[aq]settings.conf\[aq]\[aq] for more information. -### Punctuation -.PP -Fenrir handles punctuation levels and names for you with several -provided dictionaries. -.PP -See levelDict See punctuationDict ## Braille -.PP -Fenrir provides Braille support in Version >= 2.0. -See section Braille (#Braille) in \[aq]\[aq]settings.conf\[aq]\[aq] for -more information. -### braille flush -.PP -If a message appears on the Braille device you can flush it to get back -to the review\- or system cursor ### Braille pan left -.PP -If a line is longer than your Braille devices you can move the view -(called panning) to the left. -So you can read stuff without the need to move the review\- or system -cursor. -### Braille pan right -.PP -If a line is longer than your Braille devices you can move the view -(called panning) to the right. -So you can read stuff without the need to move the review\- or system -cursor. -### braille return to cursor -.PP -When you have finished reading the line on the Braille device using -panning, the focus can be returned to the current used cursor by using -"return to cursor" command. -## Dictionary -.PP -You can make use of different kinds of built\-in dictionary\[aq]s. -A dictionary has a name and list of keys and values separated by :===: -Example: [customDict] Chrys:===:Chrys is cool lollipop:===:lolli that -means that every instance "chrys" is displayed, speech will say Chrys is -cool. -"lollipop" is spoken as "lolli". -Before making changes to a dictionary we recommend making a backup of -your current dictionary in case future updates overwrite your local -changes. -### Punctuation -.SS Level -.PP -The punctuation level dict contains lists with "what punctuation is -spoken in what level". -the default one looks like this: [levelDict] none:===: -some:===:.\-$~+*\-/\\\@ most:===:.,:\-$~+*\-/\@!#%^&\f[I]()[]}{\f[C]<>\f[]; -all:===:!"#$%& \[aq]()\f[]+,\-./:;\f[C]<=>\f[]?\@[\\]^_`{|}~ the level -"none" has no values. -so it should not speak any punctuation (sadly this is not respected by -every TTS system) if "some" is the current level the following are -spoken: dot dash dollar tilde plus star slash backslash at. -same for most and all, you can add new levels. -if you cycle punctuation levels they are recognized. -the default punctuation level is set in settings.conf. -The default is "some". -#### Punctuation -.PP -The punctuation dictionary "[punctDict]" contains how the punctuation is -spoken. -Example: [punctDict] \f[I]:===:line -.PD 0 -.P -.PD -speaks an \f[] as "line". -.PD 0 -.P -.PD -[punctDict] \f[I]:===:underscore speaks an \f[] as underscore. -for question mark an ? -is appended to the word that the TTS system can announce the question -correctly. -.PD 0 -.P -.PD -### Custom -.PP -The dict "[customDict]" is just for your own use, it just replace the -key with the value without any special functionality. -This might be used to fix incorrectly spoken words, make words more -common, shorter or just for fun. -:) ### Emoticons -.PP -The Emoticons dictionary "[emoticonDict]" by default contains some -emoticons. -it can replace ":)" with "smile" or "XD" with "loool" Making chat more -colorful. -A nice feature with this dictionary is that you can toggle the -substitution on or off during run time or in settings.conf. -This is useful because while doing programming or other serious work you -want to hear colons and perryns not smiles. -# Configuration -.PP -You can configure Fenrir in the following places (ordered by priority): -1. -Commandline Parameters \[aq]\[aq]\-o\[aq]\[aq] see Set settings -coption (#Set%20settings%20coption) 2. -/etc/fenrir/settings/settings.conf see Settigns (#Settings) 3. -\f[C]\f[]/config/settings/settings.conf see -Settigns (#Settings) 4. -hard coded defaults ## Commandline Arguments -.SS Set settings option -.PP -You can specify options that overwrite the setting.conf. -This is done with \[aq]\[aq]\-o \f[C]\f[] parameter. -The list of options have the following syntax fenrir \-o -"section#setting=value;section#setting=value" -.PP -For example changing the sound driver to gstreamer and disabling Braille -.PD 0 -.P -.PD -fenrir \-o "sound#driver=gstreamerDriver;braille#enabled=False=False" or -change the debug level to verbose fenrir \-o "general#debugLevel=3" You -can find the available sections and variables here <#Settings> See -Syntax #settings.conf syntax (#settings.conf%20syntax) ### settings.conf -syntax -.PP -the syntax of the settings.conf (#Settings) is quite simple and similar -to a "*.ini" file, there are 4 different elements. -1. -Sections 2. -Settings 3. -Values 4. -Comments -.PP -A comment starts with a # and is ignored by Fenrir. -# this is a comment To group settings we have sections. -A section can look like this: [Section] A setting looks like this: -settingName=Value -.PP -Example: sound (#sound) # Turn sound on or off: enabled=True # Select -the driver used to play sounds, choices are genericDriver and -gstreamerDriver. -# Sox is default. -driver=genericDriver -.SS Settings -.SS Sound -.PP -The sound is configured in section \[aq]\[aq]sound (#sound)\[aq]\[aq]. -.PP -Turn sound on or off: enabled=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -Select the driver used to play sounds. -The genericDriver using Sox is the default. -.IP -.nf -\f[C] -driver=genericDriver -\f[] -.fi -.PP -Available Drivers: -.IP \[bu] 2 -\[aq]\[aq]genericDriver\[aq]\[aq] using the generic driver, for Fenrir -<1.5 just use \[aq]\[aq]generic\[aq]\[aq] -.IP \[bu] 2 -\[aq]\[aq]gstreamerDriver\[aq]\[aq] using the gstreamer, for Fenrir <1.5 -just use \[aq]\[aq]gstreamer\[aq]\[aq] -.PP -These are the pack of sounds used for sound icons. -theme=default By default we ship two sound packs. -1. -\[aq]\[aq]default\[aq]\[aq] opus encoded, for newer Sox versions 2. -\[aq]\[aq]default\-wav\[aq]\[aq] wav encoded, just for compatibility -Sound packs are located at /usr/share/sounds/fenrir/ -.PP -Sound volume controls how loud the sounds for your selected sound pack -are. -volume=1.0 Values: \[aq]\[aq]0.0\[aq]\[aq] is quietest, -\[aq]\[aq]1.0\[aq]\[aq] is loudest. -.SS Generic Driver -.PP -The generic sound driver uses shell commands for play sound and -frequencies. -.PP -\[aq]\[aq]genericPlayFileCommand\[aq]\[aq] defines the command that is -used to play a sound file. -genericPlayFileCommand=\f[C]\f[] -\[aq]\[aq]genericFrequencyCommand\[aq]\[aq] defines the command that is -used playing frequencies. -genericFrequencyCommand=\f[C]\f[] -.PP -The following variables are substituted in -\[aq]\[aq]genericPlayFileCommand\[aq]\[aq] and -\[aq]\[aq]genericFrequencyCommand\[aq]\[aq]: -.IP \[bu] 2 -\[aq]\[aq]fenrirVolume\[aq]\[aq] = the current volume setting -.IP \[bu] 2 -\[aq]\[aq]fenrirSoundFile\[aq]\[aq] = the sound file for an sound icon -.IP \[bu] 2 -\[aq]\[aq]fenrirFrequence\[aq]\[aq] = the frequency to play -.IP \[bu] 2 -\[aq]\[aq]fenrirDuration\[aq]\[aq] = the duration of the frequency -.PP -Example genericPlayFileCommand (default) genericPlayFileCommand=play \-q -\-v fenrirVolume fenrirSoundFile Example genericFrequencyCommand -(default) genericFrequencyCommand=play \-q \-v fenrirVolume \-n \-c1 -synth fenrirDuration sine fenrirFrequence ### Speech -.PP -Speech is configured in section \[aq]\[aq][speech]\[aq]\[aq]. -Turn speech on or off: enabled=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.SH Select speech driver, options are speechdDriver (default), -genericDriver or espeakDriver: -.PP -driver=speechdDriver #driver=espeakDriver -.SH driver=genericDriver -.PP -Select the driver used to generate speech output. -.IP -.nf -\f[C] -driver=speechdDriver -\f[] -.fi -.PP -Available Drivers: -.IP \[bu] 2 -\[aq]\[aq]genericDriver\[aq]\[aq] using the generic driver, for Fenrir -<1.5 this is not available -.IP \[bu] 2 -\[aq]\[aq]speechdDriver\[aq]\[aq] using speech\-dispatcher, for Fenrir -<1.5 just use \[aq]\[aq]speechd\[aq]\[aq] -.IP \[bu] 2 -\[aq]\[aq]espeakDriver\[aq]\[aq] using the espeak directly, for Fenrir -<1.5 just use \[aq]\[aq]espeak\[aq]\[aq] -.PP -The rate selects how fast Fenrir will speak. -rate=0.65 Values: Range Minimum:\[aq]\[aq]0.0\[aq]\[aq] is slowest, -Maximum:\[aq]\[aq]1.0\[aq]\[aq] is fastest. -.PP -Pitch controls the pitch of the voice. -pitch=0.5 Values: Range Minimum:\[aq]\[aq]0.0\[aq]\[aq] is lowest, -Maximum:\[aq]\[aq]1.0\[aq]\[aq] is highest. -.PP -A Pitch for capital letters can be set. -capitalPitch=0.9 Values: Range Minimum:\[aq]\[aq]0.0\[aq]\[aq] is -lowest, Maximum:\[aq]\[aq]1.0\[aq]\[aq] is highest. -.PP -The Volume controls the loudness of the voice. -volume=1.0 Values: Range Minimum:\[aq]\[aq]0.0\[aq]\[aq] is quietest, -Maximum:\[aq]\[aq]1.0\[aq]\[aq] is loudest. -.PP -Some speech drivers like speechdDriver can support various modules. -these can be set here. -module=espeak Values: Text, Consult speech\-dispatcher\[aq]s -configuration to see what modules are available. -.PP -Voice selects the varient you want to use, for example, f5 will use the -female voice #5 in Espeak, or if using the Espeak module in -Speech\-dispatcher. -To find out which voices are available, consult the documentation -provided with your selected synthesizer. -voice= Values: Text, see your TTS synths documentation what is -available. -.PP -Select the language you want Fenrir to use. -language=english\-us Values: Text, see your TTS synths documentation -what is available. -.PP -Read new text as it occurs autoReadIncoming=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.SS Generic Driver -.PP -The generic speech driver uses shell commands for speech synthisus. -.PP -\[aq]\[aq]genericSpeechCommand\[aq]\[aq] defines the command that is -executed for creating speech The following variables are substituted in -\[aq]\[aq]genericSpeechCommand\[aq]\[aq]: -.IP \[bu] 2 -\[aq]\[aq]FenrirText\[aq]\[aq] = is the text that should be spoken -.IP \[bu] 2 -\[aq]\[aq]fenrirModule\[aq]\[aq] = may be the speech module like used in -speech\-dispatcher, not every TTY needs this -.IP \[bu] 2 -\[aq]\[aq]fenrirLanguage\[aq]\[aq] = the language to speak in -.IP \[bu] 2 -\[aq]\[aq]fenrirVoice\[aq]\[aq] = is the current voice that should be -used -.IP \[bu] 2 -\[aq]\[aq]fenrirVolume\[aq]\[aq] = is replaced with the current volume -.IP \[bu] 2 -\[aq]\[aq]fenrirPitch\[aq]\[aq] = is replaced with the current pitch -.IP \[bu] 2 -\[aq]\[aq]fenrirRate\[aq]\[aq] = is replaced with the current speed -(speech rate) -.PP -Example genericSpeechCommand (default): genericSpeechCommand=espeak \-a -fenrirVolume \-s fenrirRate \-p fenrirPitch \-v fenrirVoice "fenrirText" -.PP -These are the minimum and maximum values of the TTS system used in -genericSpeechCommand. -They are needed to calculate the abstract range in volume, rate and -pitch 0.0 \- 1.0. -.IP -.nf -\f[C] -FenrirMinVolume=0 -fenrirMaxVolume=200 -fenrirMinPitch=0 -fenrirMaxPitch=99 -fenrirMinRate=80 -fenrirMaxRate=450 -\f[] -.fi -.PP -The current volume, pitch and rate is calculated like this value = min + -[volume,pitch,rate] * (min \- max ) ### Braille -.PP -Braille is a WIP and not ready yet. -Braille support can be configured in section -\[aq]\[aq][braille]\[aq]\[aq]. -.PP -Turn braille on or off: enabled=False Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Select the driver used for communication with a braille device. -driver=brlapiDriver Values: Text, available Driver Available Drivers: -.IP \[bu] 2 -\[aq]\[aq]brlttyDriver\[aq]\[aq] using brltty for braille communication, -for Fenrir <1.5 just use \[aq]\[aq]brltty\[aq]\[aq] -.PP -The Braille layout can be configured here layout=en Values: Text, see -braille driver for layouts. -.PP -What should the flush timeout relate to flushMode=word Values: Text, an -flushMode Existing flushModes: -.IP \[bu] 2 -\[aq]\[aq]word\[aq]\[aq] = flush after (number of words to display) * -seconds -.IP \[bu] 2 -\[aq]\[aq]char\[aq]\[aq] = flush after (number of chars to display) * -seconds -.IP \[bu] 2 -\[aq]\[aq]fix\[aq]\[aq] = flush after X seconds -.IP \[bu] 2 -\[aq]\[aq]none\[aq]\[aq] = no automatic flush (manual via shortcut) -.PP -Seconds to flush (see flushMode) flushTimeout=3 Values: Integer, in -Seconds or \[aq]\[aq]\-1\[aq]\[aq] = no automatic flush (manual via -shortcut) The total flush time calculates in relation to flushMode. -.PP -How should the Braille cursor focus be tracked? -cursorFocusMode=page Values: Text, an existing cursor focus mode -Available cursor focus modes: -.IP \[bu] 2 -\[aq]\[aq]page\[aq]\[aq] = if the cursor crosses the border move to next -page and start at begin -.IP \[bu] 2 -\[aq]\[aq]fixCell\[aq]\[aq] = ajust the cursor on a special cell where -it is always placed. -the display scroll here more smooth. -.PP -Define the cell on the Braille device where Fenrir should scroll and -keep the cursor fixCursorOnCell=\-1 Values: Integer -.IP \[bu] 2 -\[aq]\[aq]0\[aq]\[aq] = first cell on device, -.IP \[bu] 2 -\[aq]\[aq]\-1\[aq]\[aq] = last cell on device -.IP \[bu] 2 -\[aq]\[aq]>0\[aq]\[aq] = fix cell number -.PP -What cursor should Fenrir show on the Braille device -cursorFollowMode=review Values: Text, an exsiting cursor following mode. -Existing cursor following mode: -.IP \[bu] 2 -\[aq]\[aq]none\[aq]\[aq] = no automatic toggle command used -.IP \[bu] 2 -\[aq]\[aq]review\[aq]\[aq] = priority to review -.IP \[bu] 2 -\[aq]\[aq]last\[aq]\[aq] = follow last used cursor -.PP -number of cells in panning (horizontal). -How many cell should be panned on press the routing key? -panSizeHorizontal=0 Values: Integer, -.IP \[bu] 2 -\[aq]\[aq]0\[aq]\[aq] = display size -.IP \[bu] 2 -\[aq]\[aq]>0\[aq]\[aq] number of cells ### Screen -.PP -The settings for screens, (TTY, PTY) are configured in the -\[aq]\[aq][screen]\[aq]\[aq] section. -.PP -The driver to get the information from the screen: driver=vcsaDriver -Available Drivers: -.IP \[bu] 2 -\[aq]\[aq]vcsaDriver\[aq]\[aq] using the VCSA driver (for TTYs), for -Fenrir <1.5 just use \[aq]\[aq]vcsa\[aq]\[aq] The encoding of the screen -encoding=cp850 Values:\[aq]\[aq]cp850\[aq]\[aq] is used for Western -languages like USA or Europe. -.PP -The driver updates Fenrir with changes on the screen. -screenUpdateDelay=0.05 Values: in Seconds -.PP -If you want Fenrir to not be active on any screen for various reasons. -Maybe an X server or Wayland is running on that screen. -You can make Fenrir ignore it or multiple screens seperated by -\[aq]\[aq],\[aq]\[aq] with: suspendingScreen= Values: Depends on driver: -.IP \[bu] 2 -VCSA: the number of the TTY. -TTY6 is \[aq]\[aq]6\[aq]\[aq]. -Example ignore TTY1 and TTY2: suspendingScreen=1,2 -.PP -There is also the ability to let Fenrir auto detect screens that are -running an X server. -So Screens running an GUI can be ignored. -autodetectSuspendingScreen=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.SS Keyboard -.PP -The settings for keyboard and input related configuration is located in -the section \[aq]\[aq]keyboard (#keyboard)\[aq]\[aq] of the -\[aq]\[aq]settings.conf\[aq]\[aq] file. -.PP -Select the driver used for grabbing keybord input and for recieving -shortcuts. -driver=evdevDriver Values: Text, available Driver Available Drivers: -.IP \[bu] 2 -\[aq]\[aq]evdevDriver\[aq]\[aq] uses the evdev input system of linux, -for Fenrir <1.5 just use \[aq]\[aq]evdev\[aq]\[aq] -.PP -You can let Fenrir know about what input devices are to be used. -device=ALL Values: -.IP \[bu] 2 -\[aq]\[aq]ALL\[aq]\[aq] use all devices with key capabilities. -.IP \[bu] 2 -\[aq]\[aq]NOMICE\[aq]\[aq] Exclude mices from handling. -.IP \[bu] 2 -\f[C]\f[] just use the device with the given name. -.PP -Gives Fenrir exclusive access to the keyboard and lets it control -keystrokes. -This is needed to intercept Fenrir related shortcuts. -grabDevices=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -The following makes sense if you are using a second screenreader and -want to have some hooked events. -Fenrir ignores all shortcuts then. -ignoreShortcuts=False Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -The current keyboard layout used for shortcuts. -keyboardLayout=desktop Values: An absolute Path to a Keyboard definition -file or a Filename without extension located in -\[aq]\[aq]/etc/fenrir/keyboard\[aq]\[aq] -.PP -Announce characters while typing. -charEcho=False Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -Announce deleted characters charDeleteEcho=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Announce word after pressing space wordEcho=False Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Interrupt speech on any keypress interruptOnKeyPress=False Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -You can filter the keys that speech should interrupt -interruptOnKeyPressFilter= Values: (List) empty = all keys, otherwise -interrupt with specified keys -.PP -The timeout that is used for double tap shortcuts doubleTapTimeout=0.2 -Values: Seconds ### General -.PP -Overall settings can be configured from the section -\[aq]\[aq]general (#general)\[aq]\[aq]. -.PP -Set the current debug level: debugLevel=1 Values: off=0, error=1, -warning=2, info=3 -.PP -the current punctuation and dict file in use: punctuationProfile=default -Values: Text, see available profiles in -\[aq]\[aq]/etc/fenrir/punctuation\[aq]\[aq] or in -\[aq]\[aq]sourceTree/config/punctuation\[aq]\[aq] -.PP -The current punctuation level in use: punctuationLevel=some Values: -Text, See available levels in the used punctuation file. -.PP -Respect pause for punctuations: respectPunctuationPause=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Add a pause on Line break: newLinePause=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Specify the path where the clipboard should be exported to. -See export clipboard to file (#export%20clipboard%20to%20file). -The variable \[aq]\[aq]$user\[aq]\[aq] is replaced by the current logged -username. -clipboardExportPath=/tmp/fenrirClipboard Values: Text, Systemfilepath -.PP -The number of available clipboards: numberOfClipboards=10 Values: -Integer, 1 \- 999 -.PP -Replace emoticons like :) or ;) with text insertions: emoticons=True -Values: on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Define the current Fenrir keys: fenrirKeys=KEY_KP0,KEY_META,KEY_INSERT -Values, Text list, separated by comma. -.PP -Define the current script keys: scriptKey=KEY_COMPOSE Values, Text list, -separated by comma. -.PP -The time format to be used for (time command) output: -timeFormat=%H:%M:%P Values: see python specification for -datetime.strftime (https///docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior) -.PP -The date format to be used for (date command) output: dateFormat=%A, %B -%d, %Y Values: see python specification for -datetime.strftime (https///docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior) -.PP -Enable or Disable spellcheck whilst typing: autoSpellCheck=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -The use of the dictionary with spellcheck: spellCheckLanguage=en_US -Values: Text, see aspell dictionary\[aq]s. -.PP -Folder Path for your scripts "scriptKey" functionality: -scriptPath=/usr/share/fenrir/scripts Values: Text, Existing path on file -system. -.PP -Override commands or create new ones without changing the Fenrir -defaults: commandPath=/usr/share/fenrir/commands Values: Text, Existing -path on file system. -Subfolders in commandPath are: -.IP \[bu] 2 -\[aq]\[aq]commands\[aq]\[aq] = to create shortcut commands -.IP \[bu] 2 -\[aq]\[aq]onInput\[aq]\[aq] = executed while typing -.IP \[bu] 2 -\[aq]\[aq]onScreenChange\[aq]\[aq] = executed on change the screen -(change from TTY4 to TTY6) -.IP \[bu] 2 -\[aq]\[aq]onScreenUpdate\[aq]\[aq] = executed when the screen is -captured -.SS Focus -.PP -The configuration for basic focus is in the section -\[aq]\[aq]focus (#focus)\[aq]\[aq]. -Follow the text cursor: cursor=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -Follow highlighted text changes (Highlight Tracking): highlight=False -Values: on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] ### -Review -.PP -Configurations for the review mode are in the section -\[aq]\[aq][review]\[aq]\[aq]. -.PP -If "next word/ char" or "prev word/char" create a linebreak, announce -it: lineBreak=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] -.PP -If "next word/ char" or "prev word/char" cannot be performed because you -reached the end of the screen, announce it: endOfScreen=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Leave the review mode when pressing a key: leaveReviewOnKeypress=False -Values: on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Leave the review mode when changing the screen (From TTY3 to TTY4): -leaveReviewOnScreenChange=True Values: on=\[aq]\[aq]True\[aq]\[aq], -off=\[aq]\[aq]False\[aq]\[aq] ### Promote -.PP -"Promoted Lists" are configured in the section -\[aq]\[aq][promote]\[aq]\[aq]. -Turn Promoted Lists" on or off: enabled=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -The minimum time interval of inactivity to activate promoting. -By default it promotes after 120 Seconds inactivity: -inactiveTimeoutSec=120 Values: in Seconds -.PP -Define a list of promoted words comma seperated: list= Values: text -(comma seperated) Example to promote the word "nickname" or a bash -prompt: list=nickname,$:,#: -.SS Time -.PP -The automated time announcement is configured in the section -\[aq]\[aq]time (#time-2)\[aq]\[aq]. -Time announcement is disabled by default. -Turn time announcement on or off: enabled=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Should the time be announced: presentTime=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Should the date be announced (just on date change): presentDate=True -Values: on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Announce after a given period of seconds: delaySec=0 Value: in Seconds, -0 = Deactivated -.PP -Announce after fixed minutes in an hour. -if delaySec is >0 onMinutes is ignored: onMinutes=00,30 Example every 15 -minutes: onMinutes=00,15,30,45 -.PP -Just play a soundicon, (not interrupting): announce=True Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] -.PP -Interrupt current speech for time announcement: interrupt=False Values: -on=\[aq]\[aq]True\[aq]\[aq], off=\[aq]\[aq]False\[aq]\[aq] # -Customization -.SS Scripting -.PP -Scripts can be in any language, bash, python, sh or others. -Place your scripts in the directory /usr/share/fenrir/scripts/ (the path -is configurable in settings.conf). -The script key is the applications key. -Usually this key can be found on the keyboard located just left of the -right most control key. -When you name a script, the key name appears in the script seperated by -the sequence \f[B]\-\f[]. -So, for example, if you have a python weather script you want assigned -to the script key plus the letter w you would name the script -/usr/share/fenrir/scripts/weather__\-__key_w.py Then, to access the -script, simply press the script key and the letter w. -Scripts must be executable. -So, make sure to chmod 755 your script when you place it in the scripts -directory. -The script gets some parameters from fenrir when it is executed. -So that information is available in your script then. -.SS Parameterlist -.PP -.TS -tab(@); -l l. -T{ -Parameter -T}@T{ -Content -T} -_ -T{ -$1 -T}@T{ -Username of the current logged in user -T} -.TE -.SS Examples -.PP -Script that just speaks the current username when pressing ScriptKey + -H.\\ File: -\[aq]\[aq]/usr/share/fenrir/scripts/helloWorld__\-__key_h.sh\[aq]\[aq]: -#!/bin/bash echo $1 -.SS Commands -.PP -You can place your own commands in "/usr/share/fenrir/commands" (path is -configurable in settings.conf). -Commands are python files with a special scheme. -You can assign them to a shortcut using the filename without an -extension or place them in a hook trigger like OnInput or -OnScreenChange. -For further information see developer guide. -Good Examples: -"date.py" (https///github.com/chrys87/fenrir/blob/master/src/fenrir/commands/commands/date.py) -(announce the Date), -"shut_up.py" (https///github.com/chrys87/fenrir/blob/master/src/fenrir/commands/commands/shut_up.py) -(interrupt output) the basic scheme for a command is as follows: -.IP -.nf -\f[C] -from\ core\ import\ debug - -class\ command(): -\ \ def\ __init__(self): -\ \ \ \ \ \ pass -\ \ def\ initialize(self,\ environment): -\ \ \ \ \ \ self.env\ =\ environment -\ \ def\ shutdown(self): -\ \ \ \ \ \ pass -\ \ def\ getDescription(self): -\ \ \ \ \ \ return\ _(\[aq]No\ description\ found\[aq]) -\ \ def\ run(self): -\ \ \ \ \ \ pass -\ \ def\ setCallback(self,\ callback): -\ \ \ \ \ \ pass -\f[] -.fi -.IP \[bu] 2 -Template lives -here (https///github.com/chrys87/fenrir/blob/master/src/fenrir/commands/command_template.py) -.IP \[bu] 2 -The class needs to have the name "command". -.IP \[bu] 2 -"initialize" is running once whilst loading the command. -.IP \[bu] 2 -"shutdown" is running on unload like the command (quit fenrir) -.IP \[bu] 2 -"getDescriptsion" just returns an string. -That String is used in Tutorial Mode. -.IP \[bu] 2 -"run" is executed when the command is invoked. -(shortcut is pressed, or trigger isn\[aq]t running) -.IP \[bu] 2 -setCAllback is currently not used. -and has no functionality yet. -.SH Troubleshooting -.SS Fenrir does not start -.IP " 1." 4 -Have you installed all the dependencies Support and -Requirements (#Support%20and%20Requirements) -.IP " 2." 4 -Try using master, a lot of changes take place there to make Fenrir -compatible with more systems ## Fenrir does not utilize the shortcuts -.IP " 3." 4 -Make sure you have python3\-evdev installed -.IP " 4." 4 -Use the latest Fenrir version -.IP " 5." 4 -Make sure that Fenrir has permission to /dev/input/* and /dev/uinput (or -run it as root) ## No sound at all -.IP " 6." 4 -Run the script to configure Pulseaudio once as root and once as your -user. -This will setup Pulseaudio but require a restart of Pulseaudio. -The script is located in \[aq]\[aq]tools/configure_pulse.sh\[aq]\[aq] -.IP " 7." 4 -Use ALSA -.IP " 8." 4 -Configure Pulse system -wide (https///www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/) -(Not recommended) -.IP " 9." 4 -Use gstreamerDriver: change \[aq]\[aq]settings.conf\[aq]\[aq] in the -section \[aq]\[aq]sound\[aq]\[aq] the line -\[aq]\[aq]driver=genericDriver\[aq]\[aq] to -\[aq]\[aq]driver=gstreamerDriver\[aq]\[aq] -.IP "10." 4 -Use wave sound\-icons: change \[aq]\[aq]settings.conf\[aq]\[aq] in the -section \[aq]\[aq]sound\[aq]\[aq] the line -\[aq]\[aq]theme=default\[aq]\[aq] to -\[aq]\[aq]theme=default\-wav\[aq]\[aq] -.IP "11." 4 -Use most current version of sox (http://sox.sourceforge.net/) with opus -support -.IP "12." 4 -Try apulse (https///github.com/i-rinat/apulse) (not tested by myself but -might work). -Please give me feedback if you try it out. -## You get sound\-icons but no speech -.IP "13." 4 -If you are using speech\-dispatcher run "spd\-conf" once as user and as -root. -.IP "14." 4 -You can test if speech\-dispatcher works by invoking it as root\\ -\[aq]\[aq]sudo spd\-say "hello world"\[aq]\[aq] ## Bugreports and -feature requests -.PP -Please report Bugs and feature requests to: -https://github.com/chrys87/fenrir/issues (https///github.com/chrys87/fenrir/issues) -.PP -for bugs please provide a debug (#Howto%20create%20a%20debug%20file) -file that shows the issue. -### How\-to create a debug file -.IP "1." 3 -Delete old debug stuff\\ \[aq]\[aq]sudo rm /var/log/fenrir.log\[aq]\[aq] -.IP "2." 3 -Start fenrir in debug mode\\ \[aq]\[aq]sudo fenrir \-d\[aq]\[aq] -.IP "3." 3 -Do your stuff to reproduce the problem -.IP "4." 3 -Stop fenrir (\[aq]\[aq]fenrirKey + q\[aq]\[aq]) the debug file is -located in \[aq]\[aq]/var/log/fenrir.log\[aq]\[aq] -.PP -Please be as precise as possible to make it easy to solve the problem.