Explicit Writer and Hotkey modes
Why: Only the input behavior needed for the current task should be active.
Tradeoff: Every subsystem has to respond consistently when the application mode changes.
Modular Windows writing, hotkey, speech, and device-assistance tools
Writing assistance, global hotkeys, speech input, and device controls often live in separate utilities. Switching between them adds friction and can make the tools interfere with one another.
A modular .NET solution with explicit Writer and Hotkey modes. A mode manager coordinates keyboard hooks, overlays, prediction, speech, and settings so only the intended subsystem is active.
These points are grounded in the project repository, its tests, and its technical documentation. They are not estimates of business impact.
The solution separates Core contracts, App orchestration and UI, Infrastructure, Hotkeys, Input, Overlay, Prediction, Settings, Speech, Writer, VoiceBridge, and test projects.
The test project includes focused coverage for typing-model behavior, prediction ranking, sentence context, title hints, and word-buffer policy.
The mode menu is available through a global keyboard gesture, mode changes can be shown or spoken, and the hook can consume the gesture so it does not leak into the focused application.
This is a Windows-native suite with low-level input and desktop integration. That enables system-wide behavior but increases platform-specific testing and installation work.
Writer mode enables input hooks, overlays, suggestions, and writer hotkeys while disabling volume hotkeys
Evidence: Documented in the mode-system contributor guide.
Hotkey mode turns writer assistance off and enables system and volume shortcuts
Evidence: Documented in the mode-system contributor guide and enforced through mode guards.
Prediction is separated into providers, ranking, caching, context, and local language-model storage
Evidence: Represented by dedicated Writer services, providers, ranking, models, and storage modules.
Why: Only the input behavior needed for the current task should be active.
Tradeoff: Every subsystem has to respond consistently when the application mode changes.
Why: Prefix, phrase-memory, next-word, correction, recency, and local-model candidates can evolve independently.
Tradeoff: Candidate ranking and context become their own systems that require focused tests.
Why: Desktop behavior can survive restarts without requiring a service or database.
Tradeoff: Settings schema compatibility has to be maintained as modes and options evolve.