Moved restore speech on prompt to existing temp interrupt speech command, Fenrir+kp_plus unbound now.

This commit is contained in:
Storm Dragon
2025-06-28 01:49:20 -04:00
parent 40b88efa34
commit beae1866bb
8 changed files with 19 additions and 4 deletions

View File

@ -74,7 +74,7 @@ KEY_FENRIR,KEY_0=bookmark_10
KEY_FENRIR,KEY_KPSLASH=set_window_application
2,KEY_FENRIR,KEY_KPSLASH=clear_window_application
KEY_KPPLUS=progress_bar_monitor
KEY_FENRIR,KEY_KPPLUS=silence_until_prompt
#KEY_FENRIR,KEY_KPPLUS=silence_until_prompt
KEY_FENRIR,KEY_F2=toggle_braille
KEY_FENRIR,KEY_F3=toggle_sound
KEY_FENRIR,KEY_F4=toggle_speech

View File

@ -76,7 +76,7 @@ KEY_FENRIR,KEY_F3=toggle_sound
KEY_FENRIR,KEY_F4=toggle_speech
KEY_FENRIR,KEY_ENTER=temp_disable_speech
KEY_FENRIR,KEY_SHIFT,KEY_P=progress_bar_monitor
KEY_FENRIR,KEY_SHIFT,KEY_ENTER=silence_until_prompt
#KEY_FENRIR,KEY_SHIFT,KEY_ENTER=silence_until_prompt
KEY_FENRIR,KEY_SHIFT,KEY_CTRL,KEY_P=toggle_punctuation_level
KEY_FENRIR,KEY_RIGHTBRACE=toggle_auto_spell_check
KEY_FENRIR,KEY_CTRL,KEY_SHIFT,KEY_ENTER=toggle_output

View File

@ -124,7 +124,9 @@ interruptOnKeyPressFilter=
doubleTapTimeout=0.2
[general]
debugLevel=0
# Debug levels: 0=DEACTIVE, 1=ERROR, 2=WARNING, 3=INFO (most verbose)
# For production use, WARNING (2) provides good balance of useful info without spam
debugLevel=2
# debugMode sets where the debug output should send to:
# debugMode=File writes to debugFile (Default:/tmp/fenrir-PID.log)
# debugMode=Print just prints on the screen

View File

@ -20,6 +20,9 @@ class command():
return
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(self.env['commandBuffer']['enableSpeechOnKeypress']))
self.env['commandBuffer']['enableSpeechOnKeypress'] = False
# Also disable prompt watching since speech was manually re-enabled
if 'silenceUntilPrompt' in self.env['commandBuffer']:
self.env['commandBuffer']['silenceUntilPrompt'] = False
self.env['runtime']['outputManager'].presentText(_("speech enabled"), soundIcon='SpeechOn', interrupt=True)
def setCallback(self, callback):

View File

@ -24,6 +24,9 @@ class command():
return
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(self.env['commandBuffer']['enableSpeechOnKeypress']))
self.env['commandBuffer']['enableSpeechOnKeypress'] = False
# Also disable prompt watching since speech was manually re-enabled
if 'silenceUntilPrompt' in self.env['commandBuffer']:
self.env['commandBuffer']['silenceUntilPrompt'] = False
self.env['runtime']['outputManager'].presentText(_("speech enabled"), soundIcon='SpeechOn', interrupt=True)
def setCallback(self, callback):

View File

@ -118,6 +118,9 @@ class command():
"""Helper method to restore speech when prompt is detected"""
# Disable silence mode
self.env['commandBuffer']['silenceUntilPrompt'] = False
# Also disable the keypress-based speech restoration since we're enabling it now
if 'enableSpeechOnKeypress' in self.env['commandBuffer']:
self.env['commandBuffer']['enableSpeechOnKeypress'] = False
# Re-enable speech
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', 'True')
self.env['runtime']['outputManager'].presentText(_("Speech restored"), soundIcon='SpeechOn', interrupt=True)

View File

@ -184,6 +184,10 @@ class outputManager():
if self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled'):
self.presentText(_("speech temporary disabled"), soundIcon='SpeechOff', interrupt=True)
self.env['commandBuffer']['enableSpeechOnKeypress'] = True
# Also enable prompt watching for automatic speech restoration
if 'silenceUntilPrompt' not in self.env['commandBuffer']:
self.env['commandBuffer']['silenceUntilPrompt'] = False
self.env['commandBuffer']['silenceUntilPrompt'] = True
self.env['runtime']['settingsManager'].setSetting('speech', 'enabled', str(not self.env['runtime']['settingsManager'].getSettingAsBool('speech', 'enabled')))
self.interruptOutput()

View File

@ -4,5 +4,5 @@
# Fenrir TTY screen reader
# By Chrys, Storm Dragon, and contributers.
version = "2025.06.25"
version = "2025.06.28"
codeName = "testing"