Updates for when prism doesn't behave.

This commit is contained in:
Storm Dragon committed 2026-10-13 17:42:56 -04:00
1 parent 0d9cc2651d
commit 6e92ad13d1
12 files changed
+415 -5

No files matched your search

+19 -2
View File
@@ -5,11 +5,13 @@ and readers that implement its Wine D-Bus protocol. An Orca endpoint is
available for future Orca-side integration; stock Orca does not implement
the required Wine methods.
It provides two independent capabilities:
It provides these capabilities:
- an MSAA/WinEvent reader for standard Wine controls;
- NVDA Controller 1, 2, and 3 plus Tolk compatibility for applications using
`nvdaControllerClient32.dll`, `nvdaControllerClient64.dll`, or `Tolk.dll`.
`nvdaControllerClient32.dll`, `nvdaControllerClient64.dll`, or `Tolk.dll`;
- a UIA notification bridge for applications whose announcements Wine discards,
including Prism's UIA speech backend.
The compatibility window is hidden and non-activating. It is expected to be
invisible; the important endpoint is the local Wine RPC server registered by
@@ -17,6 +19,21 @@ the helper. The helper forwards speech, braille, cancellation, and standard
control events to the selected reader on the session D-Bus. The default is
`org.stormux.Cthulhu1.Service`.
Wine currently returns success from `UiaRaiseNotificationEvent` without
delivering its text. The native application hooks redirect direct imports of
that function to the reader. This works with both 32-bit and 64-bit applications;
it requires no application files or per-game DLL overrides. Notifications from
background processes are ignored. Important notifications interrupt speech,
and an empty important notification cancels speech. Each notification is
bounded to 4095 UTF-16 code units without splitting surrogate pairs.
The bridge covers direct named imports, rather than calls obtained dynamically
with `GetProcAddress`. It leaves implementations that reject a missing provider
untouched. The hook DLL remains mapped until the application exits so redirected
imports remain valid across reader restarts. Close and reopen applications after
updating Wine Access to load the new hooks. `--no-dialog-reader` disables these
hooks along with standard control reading.
The executable is named `cthulhu-wine-access.exe` for compatibility with the
Cthulhu-Go supervisor.