More update work on readme and settings.

This commit is contained in:
Storm Dragon
2025-12-19 03:07:46 -05:00
parent 096aef9f08
commit 7a17b36d50
3 changed files with 43 additions and 35 deletions

View File

@@ -222,7 +222,7 @@ Fenrir supports two main keyboard layouts:
Configure in `/etc/fenrir/settings/settings.conf`: Configure in `/etc/fenrir/settings/settings.conf`:
```ini ```ini
[keyboard] [keyboard]
keyboardLayout=desktop # or 'laptop' keyboard_layout=desktop # or 'laptop'
``` ```
### First Time Setup ### First Time Setup
@@ -255,9 +255,9 @@ Enable remote control in `/etc/fenrir/settings/settings.conf`:
enable=True enable=True
driver=unixDriver # or tcpDriver driver=unixDriver # or tcpDriver
port=22447 # for TCP driver port=22447 # for TCP driver
socketFile= # custom socket path (optional) socket_file= # custom socket path (optional)
enableSettingsRemote=True # allow settings changes enable_settings_remote=True # allow settings changes
enableCommandRemote=True # allow command execution enable_command_remote=True # allow command execution
``` ```
### Remote Drivers ### Remote Drivers
@@ -299,8 +299,8 @@ echo "setting set speech#pitch=0.6" | socat - UNIX-CLIENT:/tmp/fenrirscreenreade
echo "setting set speech#volume=0.9" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set speech#volume=0.9" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Change punctuation level (none/some/most/all) # Change punctuation level (none/some/most/all)
echo "setting set general#punctuationLevel=all" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set general#punctuation_level=all" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
echo "setting set general#punctuationLevel=none" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set general#punctuation_level=none" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Voice and TTS engine control # Voice and TTS engine control
echo "setting set speech#voice=en-us+f3" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set speech#voice=en-us+f3" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
@@ -311,14 +311,14 @@ echo "setting set sound#enabled=False" | socat - UNIX-CLIENT:/tmp/fenrirscreenre
echo "setting set sound#volume=0.5" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set sound#volume=0.5" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Keyboard and input settings # Keyboard and input settings
echo "setting set keyboard#charEchoMode=1" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set keyboard#char_echo_mode=1" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
echo "setting set keyboard#wordEcho=True" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set keyboard#word_echo=True" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Screen control (ignore specific TTYs) # Screen control (ignore specific TTYs)
echo "setting set screen#ignoreScreen=1,2,3" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set screen#ignore_screen=1,2,3" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Multiple settings at once # Multiple settings at once
echo "setting set speech#rate=0.8;sound#volume=0.7;general#punctuationLevel=most" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting set speech#rate=0.8;sound#volume=0.7;general#punctuation_level=most" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
# Reset all settings to defaults # Reset all settings to defaults
echo "setting reset" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock echo "setting reset" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
@@ -421,7 +421,7 @@ setting <action> [parameters]
- `speech#voice=voice_name` - Voice selection (e.g., "en-us+f3") - `speech#voice=voice_name` - Voice selection (e.g., "en-us+f3")
- `speech#module=module_name` - TTS module (e.g., "espeak-ng") - `speech#module=module_name` - TTS module (e.g., "espeak-ng")
- `speech#driver=driver_name` - Speech driver (speechdDriver/genericDriver) - `speech#driver=driver_name` - Speech driver (speechdDriver/genericDriver)
- `speech#autoReadIncoming=True/False` - Auto-read new text - `speech#auto_read_incoming=True/False` - Auto-read new text
*Sound Settings:* *Sound Settings:*
- `sound#enabled=True/False` - Enable/disable sound - `sound#enabled=True/False` - Enable/disable sound
@@ -430,32 +430,32 @@ setting <action> [parameters]
- `sound#theme=theme_name` - Sound theme - `sound#theme=theme_name` - Sound theme
*General Settings:* *General Settings:*
- `general#punctuationLevel=none/some/most/all` - Punctuation verbosity - `general#punctuation_level=none/some/most/all` - Punctuation verbosity
- `general#debugLevel=0-3` - Debug level - `general#debug_level=0-3` - Debug level
- `general#emoticons=True/False` - Enable emoticon replacement - `general#emoticons=True/False` - Enable emoticon replacement
- `general#autoSpellCheck=True/False` - Automatic spell checking - `general#auto_spell_check=True/False` - Automatic spell checking
*Focus Settings:* *Focus Settings:*
- `focus#cursor=True/False` - Follow text cursor - `focus#cursor=True/False` - Follow text cursor
- `focus#highlight=True/False` - Follow text highlighting - `focus#highlight=True/False` - Follow text highlighting
*Keyboard Settings:* *Keyboard Settings:*
- `keyboard#charEchoMode=0-2` - Character echo (0=none, 1=always, 2=capslock only) - `keyboard#char_echo_mode=0-2` - Character echo (0=none, 1=always, 2=capslock only)
- `keyboard#wordEcho=True/False` - Echo complete words - `keyboard#word_echo=True/False` - Echo complete words
- `keyboard#charDeleteEcho=True/False` - Echo deleted characters - `keyboard#char_delete_echo=True/False` - Echo deleted characters
- `keyboard#interruptOnKeyPress=True/False` - Interrupt speech on key press - `keyboard#interrupt_on_key_press=True/False` - Interrupt speech on key press
*Screen Settings:* *Screen Settings:*
- `screen#ignoreScreen=1,2,3` - TTY screens to ignore - `screen#ignore_screen=1,2,3` - TTY screens to ignore
- `screen#autodetectIgnoreScreen=True/False` - Auto-detect screens to ignore - `screen#autodetect_ignore_screen=True/False` - Auto-detect screens to ignore
- `screen#screenUpdateDelay=float` - Screen update delay - `screen#screen_update_delay=float` - Screen update delay
*Time Settings:* *Time Settings:*
- `time#enabled=True/False` - Enable time announcements - `time#enabled=True/False` - Enable time announcements
- `time#presentTime=True/False` - Announce time - `time#present_time=True/False` - Announce time
- `time#presentDate=True/False` - Announce date changes - `time#present_date=True/False` - Announce date changes
- `time#delaySec=seconds` - Announcement interval - `time#delay_sec=seconds` - Announcement interval
- `time#onMinutes=00,30` - Specific minutes to announce - `time#on_minutes=00,30` - Specific minutes to announce
## Table Navigation ## Table Navigation
@@ -623,7 +623,7 @@ rsync -av source/ destination/ # File synchronization
### Customization ### Customization
Progress monitoring can be configured through settings: Progress monitoring can be configured through settings:
- **Default enabled**: Set `progressMonitoring=True` in sound section - **Default enabled**: Set `progress_monitoring=True` in sound section
- **Sound integration**: Works with all sound drivers (sox, gstreamer) - **Sound integration**: Works with all sound drivers (sox, gstreamer)
- **Remote control**: Enable/disable through remote commands - **Remote control**: Enable/disable through remote commands
@@ -677,8 +677,8 @@ send_fenrir_command("setting set speech#rate=0.9")
- TCP driver binds only to localhost (127.0.0.1) - TCP driver binds only to localhost (127.0.0.1)
- Socket file permissions are set to write-only (0o222) - Socket file permissions are set to write-only (0o222)
- Commands are processed with Fenrir's privileges - Commands are processed with Fenrir's privileges
- Settings changes can be disabled via `enableSettingsRemote=False` - Settings changes can be disabled via `enable_settings_remote=False`
- Command execution can be disabled via `enableCommandRemote=False` - Command execution can be disabled via `enable_command_remote=False`
### Troubleshooting ### Troubleshooting
@@ -688,7 +688,7 @@ send_fenrir_command("setting set speech#rate=0.9")
- Ensure remote driver is enabled in settings - Ensure remote driver is enabled in settings
**Commands not working:** **Commands not working:**
- Verify `enableCommandRemote=True` in settings - Verify `enable_command_remote=True` in settings
- Check Fenrir debug logs: `/var/log/fenrir.log` - Check Fenrir debug logs: `/var/log/fenrir.log`
- Test with simple command: `echo "command interrupt" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock` - Test with simple command: `echo "command interrupt" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock`
@@ -710,7 +710,7 @@ fenrir [OPTIONS]
- `-p, --print` - Print debug messages to screen - `-p, --print` - Print debug messages to screen
- `-e, --emulated-pty` - Use PTY emulation with escape sequences for input (enables desktop/X/Wayland usage) - `-e, --emulated-pty` - Use PTY emulation with escape sequences for input (enables desktop/X/Wayland usage)
- `-E, --emulated-evdev` - Use PTY emulation with evdev for input (single instance) - `-E, --emulated-evdev` - Use PTY emulation with evdev for input (single instance)
- `-F, --force-all-screens` - Force Fenrir to respond on all screens, ignoring ignoreScreen setting - `-F, --force-all-screens` - Force Fenrir to respond on all screens, ignoring ignore_screen setting
- `-i, -I, --ignore-screen SCREEN` - Ignore specific screen(s). Can be used multiple times. Combines with existing ignore settings. - `-i, -I, --ignore-screen SCREEN` - Ignore specific screen(s). Can be used multiple times. Combines with existing ignore settings.
### Examples: ### Examples:
@@ -724,7 +724,7 @@ sudo fenrir -e
# Override settings via command line # Override settings via command line
sudo fenrir -o "speech#rate=0.8;sound#volume=0.5" sudo fenrir -o "speech#rate=0.8;sound#volume=0.5"
# Force Fenrir to work on all screens (ignore ignoreScreen setting) # Force Fenrir to work on all screens (ignore ignore_screen setting)
sudo fenrir -F sudo fenrir -F
# Ignore specific screens # Ignore specific screens

View File

@@ -3,14 +3,13 @@
enabled=True enabled=True
# Select the driver used to play sounds, choices are genericDriver and gstreamerDriver. # Select the driver used to play sounds, choices are genericDriver and gstreamerDriver.
# Generic driver uses fewer dependencies but spawns a process for each sound played including progress bar beeps
# Gstreamer is the default. # Gstreamer is the default.
driver=gstreamerDriver driver=gstreamerDriver
#driver=genericDriver #driver=genericDriver
# Sound themes. These are the pack of sounds used for sound alerts. # Sound themes. These are the pack of sounds used for sound alerts.
# Sound packs may be located at /usr/share/sounds # Sound packs may be located at /usr/share/sounds
# For system wide availability, or ~/.local/share/fenrirscreenreader/sounds
# For the current user.
theme=default theme=default
# Sound volume controls how loud the sounds for your selected soundpack are. # Sound volume controls how loud the sounds for your selected soundpack are.
@@ -110,8 +109,10 @@ driver=evdevDriver
device=ALL device=ALL
# gives Fenrir exclusive access to the keyboard and lets it control keystrokes. # gives Fenrir exclusive access to the keyboard and lets it control keystrokes.
grab_devices=True grab_devices=True
ignore_shortcuts=False # Ignore shortcut bindings and pass all keys through without processing Fenrir commands.
# When True, Fenrir will only monitor screen content without intercepting keyboard input.
# the current shortcut layout located in /etc/fenrirscreenreader/keyboard # the current shortcut layout located in /etc/fenrirscreenreader/keyboard
ignore_shortcuts=False
keyboard_layout=desktop keyboard_layout=desktop
# echo chars while typing. # echo chars while typing.
# 0 = None # 0 = None
@@ -138,6 +139,8 @@ debug_level=2
# debugMode=Print just prints on the screen # debugMode=Print just prints on the screen
debug_mode=File debug_mode=File
debug_file= debug_file=
# Punctuation settings control how punctuation is spoken during text review.
# Profile selects a punctuation definition file from config/punctuation/ (e.g., default.conf)
punctuation_profile=default punctuation_profile=default
punctuation_level=some punctuation_level=some
respect_punctuation_pause=True respect_punctuation_pause=True
@@ -247,6 +250,11 @@ enabled=True
inactive_timeout_sec=120 inactive_timeout_sec=120
# Comma-separated list of text patterns to promote when detected # Comma-separated list of text patterns to promote when detected
# Leave empty to disable pattern-based promotion # Leave empty to disable pattern-based promotion
# Examples:
# error,warning,failed - Announce build/command errors
# complete,finished,done - Announce task completions
# new message,@username - Announce chat notifications
# download complete - Announce download completions
list= list=
[menu] [menu]

View File

@@ -4,5 +4,5 @@
# Fenrir TTY screen reader # Fenrir TTY screen reader
# By Chrys, Storm Dragon, and contributors. # By Chrys, Storm Dragon, and contributors.
version = "2025.12.14" version = "2025.12.19"
code_name = "testing" code_name = "testing"