704 Commits
Author SHA1 Message Date
ak47 64f60fe4e8 Honor Num Lock during Remote keyboard capture
Forward numeric keypad identities with Num Lock enabled and preserve held-key pairing across lock changes. Suppress local lock feedback during remote capture so it cannot interrupt incoming speech. Add debug speech and capture-end diagnostics, expand private keypad checks, and repair the suspension probe source list.

Validated affected Go packages, focused remote speech race checks, the private X11 Remote input harness, and a reader build. Live physical keyboard, audible PowerShell speech, Braille, and disconnect-cause verification remain pending; the active reader session was left running.
2026-11-07 22:37:39 -05:00
ak47 abb4890e8a Announce popup state for buttons and links 2026-11-07 22:08:48 -05:00
ak47 4c95c9f278 Add global command bypass with Cthulhu+Z 2026-11-07 22:07:03 -05:00
ak47 d01965c00d Group inline links and list items into browse lines 2026-11-07 20:31:50 -05:00
Storm Dragon 3dbd7f2554 Avoid repeating Mumble server labels across columns
Collapse identical full-row labels only for Mumble while preserving mixed column data and repeated values from other providers. Add Qt native coverage and document live saved-server listening confirmation.
2026-11-07 20:12:25 -05:00
ak47 64440fbb78 Add Mumble message review shortcuts 2026-11-07 19:59:23 -05:00
ak47 d5f8a392cf Resume Cthulhu on empty i3 workspaces 2026-11-07 19:49:00 -05:00
ak47 7752c4e566 Fix Thunderbird deselection and review test synchronization 2026-11-07 15:57:33 -05:00
ak47 e7d02b1f62 Allow keyboard interruption of i3 speech during terminal handoff 2026-11-07 15:16:26 -05:00
ak47 a29910d002 Merge remote-tracking branch 'origin/testing' into testing 2026-11-07 14:46:59 -05:00
ak47 bf1f155018 Add native i3 desktop announcements 2026-11-07 14:46:46 -05:00
Storm Dragon c925344c41 Merge branch 'testing' of https://git.stormux.org/storm/cthulhu into testing 2026-11-07 14:43:12 -05:00
lilmike 20578ada40 Fix some issues with clickables on some websites. 2026-11-07 10:58:48 -08:00
Chase Cichorz 49eeae89f4 Fix GTK 4 foreground matching and menu labels 2026-11-07 13:40:23 -05:00
ak47 d0c977281d Bug fixes and package updates. 2026-11-07 13:14:22 -05:00
ak47 19b789ef5c Fix Remote speech stalls after pause and early completion 2026-11-06 22:11:29 -05:00
Chase CichorzandClaude Opus 5.5 6867d901b2 Support Remote browser and media keys and connection history UI
Accept the eighteen browser, volume, media and launch identities in the input vocabulary and both SDKs. Exercise media-key capture on the private Xorg harness, and permit only the new remember-host checkbox in the connection form integration test.

Validated: affected-package race tests, Tentacles make check, private native_remote_input.py and native_remote_keys.py. Physical input, live peer interoperability, speech and Braille acceptance remain pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 21:17:01 -05:00
Storm Dragon bf4a23645e Support compact Remote setup with reader-owned access selection 2026-11-06 20:07:05 -05:00
ak47 952d3c8204 Fix Remote Braille ordering and lease cleanup 2026-11-06 19:01:25 -05:00
Chase CichorzandClaude Opus 5.5 1c8ec3ce10 Inject Remote lock keys instead of retiring keyboard input
Refusing Caps, Num and Scroll Lock retired all remote input, so a
controller using Caps Lock as its screen-reader modifier lost keyboard
control on the first press. Lock keys are now owned like other keys and
released once at retirement without another toggle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 8e0ac3b258 Build the Tentacle SDK without cgo
The SDK reaches internal/datetime through settings validation, and that
package had only a cgo strftime implementation, so statically linked
Tentacle packages could not build. Split the locale-aware cgo formatter
into its own file and add a C-locale fallback for builds without cgo.
The reader itself still uses the cgo implementation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 cb4d98545f Expect typed remote.braille validation in the lifecycle conformance test
remote.braille is now implemented, so malformed parameters return the
invalid-parameters error. The unimplemented-operation check moves to an
operation that still does not exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 551ef86d5f Export and display Remote Braille through the reader
A controlled reader renders accepted application frames in a new
virtual-only cthulhu-braille mode at the controller's width and applies
its pan and route gestures; reader UI, flashes and secure frames are
never exported, and hidden frames are unroutable. A controller reader
reports its display width, shows peer cells as an untranslated raw
frame and forwards local pan and routing keys. The physical helper now
reports its width and edge pans.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 2651b5e9bd Add Remote Braille IPC to the host and both SDKs
remote.braille requests and events carry a typed op under a
braille-stream lease: the controller's width and gestures for a
controlled reader, rendered cells back to its child, and cells, local
geometry and display gestures for a controller. Direction is validated
per role; a full mailbox revokes the lease. No display owner is
attached yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 477d860fb8 Return the keyboard on Remote shortcuts and announce focus changes
During remote focus a Remote shortcut now ends capture, like F11,
instead of running its command, which would race with the focus change.
The reader announces when the keyboard starts and stops controlling the
remote computer, and the consent wording names the F11 escape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 c234cb82a8 Add Xorg Remote controller capture with a core F11 escape
The Xorg command owner gains an exclusive Remote capture mode. Native
transitions pass through the repeat normalizer and capture router;
forwarded keys leave as remote.input events, Remote's own shortcuts are
dispatched locally, and F11 ends capture on the X thread. Reader policy,
overflow or inconsistent input also end it. Ending releases forwarded
keys first and keeps the grab until held keys are released. Local key
echo is suppressed during capture. The app attaches the owner to
sessions installed with keyboard-capture.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 2d5327adf4 Add Remote controller capture IPC to the host and both SDKs
remote.focus lets a controller keyboard-capture lease ask core to enter
or leave remote focus; the reply acknowledges admission only. Core
reports the actual state with remote.focus events and forwards routed
transitions as remote.input events carrying the source keycode and, on
fresh presses, a canonical key name. A full focus mailbox revokes the
lease; revocation drains pending focus work. No native capture owner is
attached yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 27017bef11 Attach Remote keyboard injection to approved controlled sessions
Local launch and managed startup now start the incoming-key owner for
sessions installed with keyboard-inject, using one input-helper
Supervisor retained for the reader lifetime. Delivery rechecks lock,
XTerm handoff and internal reader UI in addition to lease, grant and
deadline. build-cthulhu.sh and both Arch packages build and install
cthulhu-input-helper; a missing helper leaves keyboard input
unavailable without affecting startup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase CichorzandClaude Opus 5.5 c1333c2fdb Route quarantined Remote capture and balance bypass modifiers
Add RemoteCaptureRouter for normalized controller capture. Ordinary keys
and Cthulhu/NVDA modifier chords are forwarded; only a required core
escape chord and local chords derived from resolved bindings stay local.
A local chord first releases forwarded modifiers remotely; a later
forwarded key presses still-held ones again. Releases of local or
withdrawn keys are consumed, and retirement reports physically held keys
whose releases the native owner must swallow. No production caller.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:06:38 -05:00
Chase Cichorz 6b3aa80138 Normalize captured autorepeat for quarantined Remote 2026-11-06 14:30:43 -05:00
ak47 ee1c32f049 Verify quarantined Remote mailbox owner crash recovery 2026-11-05 23:21:22 -05:00
ak47 06530f0120 Join quarantined Remote key mailbox to supervised input cleanup 2026-11-05 23:12:47 -05:00
ak47 5ab3efdfa7 Supervise quarantined Remote input helpers and block uncertain replacement 2026-11-05 22:55:36 -05:00
ak47 21d8904ee3 Add independent Remote input helper with EOF and watchdog cleanup 2026-11-05 22:35:40 -05:00
ak47 cd9ae05bbe Add quarantined Xorg destination-key ownership and cleanup 2026-11-05 21:56:14 -05:00
ak47 792cac5d0b Add lease-bound Remote key IPC and SDK validation 2026-11-05 21:28:29 -05:00
ak47 9ac33560dc Share verified reading context announcements with Remote 2026-11-05 20:39:19 -05:00
ak47 8631c5a601 Share verified native Where Am I speech with Remote 2026-11-05 19:04:09 -05:00
ak47 ee3d91af23 Share native current-line speech with Remote 2026-11-05 17:55:11 -05:00
ak47 103fbfd81a Share document Where Am I reports with Remote 2026-11-05 17:11:08 -05:00
ak47 02fb70e81a Keep uncertain accessibility sources out of Remote speech 2026-11-05 16:56:50 -05:00
ak47 c03ffa7409 Export reviewed object and flat reading to Remote 2026-11-05 16:50:52 -05:00
ak47 49be8309fe Enable isolated Remote speech and protect reading exports
Attach incoming software speech to reader sessions with lease checks, local output priority and isolated cancellation. Preserve every document fragment source for privacy checks and export reviewed browse current-line reading, spelling and phonetic output.

Verified focused reading and Remote race tests, complete review and external Remote race suites, private relay integration, speech regressions, affected-package vet, reader build and Tentacles make check. Audible speech, physical input/Braille and live interoperability remain unverified.
2026-11-05 15:41:08 -05:00
Storm Dragon ac67236eca Find works in browsers. 2026-11-05 12:34:36 -05:00
Storm Dragon 1074904c5d Party popper emoji added. 2026-11-04 23:17:21 -05:00
Storm Dragon f034a2ec97 Continue web fixes. Sound bug for locations hopefully fixed. 2026-11-04 22:09:55 -05:00
ak47 453206b85b Web fixes. 2026-11-04 21:22:51 -05:00
ak47 914d174925 Add bounded incoming Remote speech stream ownership 2026-11-04 20:10:47 -05:00
ak47 ac431dd514 Add isolated Remote speech synthesis and typed rendering
Preserve literal whitespace and resolved spelling/language state across complete Remote speech assemblies. Isolate cancellation from local status and echo, retire handles on configuration changes or rendering failure, and cover metadata preparation cancellation with private SSIP fixtures.

Verified focused application and backend race tests, ten repetitions of isolated-client/rendering cases, shared speech regressions, affected-package vet, reader build and Tentacles checks. Incoming mailbox integration, local priority and live audible acceptance remain pending.
2026-11-04 19:56:38 -05:00
ak47 622d2f96a1 Export document reading with Remote lease safeguards 2026-11-04 19:24:58 -05:00