Allow keyboard interruption of i3 speech during terminal handoff

This commit is contained in:
ak47 committed 2026-11-07 15:16:26 -05:00
1 parent a29910d002
commit e7d02b1f62
9 files changed
+205 -8

No files matched your search

+7 -2
View File
@@ -31,7 +31,9 @@ profiles use the existing settings path. Global preferences are usually the most
convenient place to set desktop announcement choices.
Announcements queue with other incoming speech; normal user-input interruption
still applies. They can speak during Fenrir terminal handoff. Screen lock,
still applies. They can speak during Fenrir terminal handoff, and the configured interruption
keys stop that local speech there too. Terminal echo and grabs remain delegated;
Cthulhu cancels only its own speech clients. Screen lock,
internal reader UI, speech disable, speech mode, and braille flash preferences
retain their existing policies. Suppressed events are discarded. Braille uses
the existing flash duration and restores the current application frame without
@@ -113,7 +115,10 @@ Use an expendable window and named workspaces for move and mark checks.
add no scratchpad announcement.
7. Return to the Fenrir test terminal. Enter and leave an i3 mode and switch
workspaces. Expect Cthulhu's desktop announcements while Fenrir continues
handling terminal content and keys. Leave the terminal for an accessible
handling terminal content and keys. Press Control during an announcement,
then repeat with Shift when using the all-keys interruption setting. Expect
Cthulhu's active speech and queued continuation to stop promptly, with no
Cthulhu key echo. Leave the terminal for an accessible
application; expect normal Cthulhu application focus, reading keys, title
changes, and braille to resume.
8. Disable one i3 Reading choice, Apply, and exercise its action. Expect that
+12 -3
View File
@@ -2,8 +2,13 @@
While input is delegated to a terminal reader in XTerm, Cthulhu suppresses
ordinary key echo, input-driven speech interruption and lock-state feedback.
It releases its command grabs. On return, Caps Lock tracking adopts the current
XKB lock state before treating Caps Lock as the reader modifier again.
An i3 desktop announcement opens a narrow exception: the configured interruption
keys can stop Cthulhu's active and queued speech during handoff, without key echo
or cancelling the terminal reader's own Speech Dispatcher client. Ordinary
terminal input still causes no Cthulhu cancellation when no such announcement
has been admitted. It releases its command grabs. On return, Caps Lock tracking
adopts the current XKB lock state before treating Caps Lock as the reader
modifier again.
Focused checks:
@@ -27,4 +32,8 @@ reader and physical keyboard handling require live verification.
4. Switch back and repeat with keypad commands where configured. Confirm
focus stays on the intended application and no key remains grabbed after
handoff. Restore the original lock state.
5. Record the exact keys, focused application, speech and Braille for failures.
5. While an i3 workspace or mode announcement is speaking in XTerm, press
Control, or Shift when using the “all keys” interruption setting. Expect
Cthulhu's current announcement and queued continuation to stop promptly.
Fenrir must continue receiving terminal keys, with no Cthulhu key echo.
6. Record the exact keys, focused application, speech and Braille for failures.