feat: add hold-to-talk listener and restore Handy-managed preferences
This commit is contained in:
1 parent
0992f3b863
commit
e61f230978
7 files changed
+135
-47
No files matched your search
+16
-12
@@ -119,15 +119,17 @@ reports are not a fresh comparison with this baseline.
|
||||
## Open choices and next discussion
|
||||
|
||||
Dictation: plain local transcription is selected; rambling cleanup is deferred.
|
||||
Handy preferences are Nix-owned in `modules/capabilities/handy.nix`: Nemotron
|
||||
Streaming 3.5, automatic language detection, default microphone, Live overlay at
|
||||
the bottom, Ctrl+Shift+V paste through wtype, preserved clipboard, manual submission
|
||||
and no cloud processing. Other preferences use pinned app defaults. A user service
|
||||
copies the baseline into Handy's writable store on each start, allowing migrations
|
||||
while resetting GUI edits. Models/recordings stay outside Nix; the selected model
|
||||
is already downloaded on Zenith. Other hosts still need model provisioning.
|
||||
Super+Shift+D toggles; Super+Ctrl+D cancels. Super+D push-to-talk awaits the user's
|
||||
decision about a keyboard listener: Niri 26.04 has no key-release bindings.
|
||||
Handy preferences are application-owned again: the Nix settings generator and
|
||||
startup reset are removed. The existing settings file is left untouched.
|
||||
Nix installs Handy/wtype and runs Handy as a graphical-session user service.
|
||||
Super+D launches a short-lived Python/evdev listener: hold to record, release D
|
||||
or Super to finish. Both keys must be on the same keyboard. Niri owns the shortcut
|
||||
and disables repeat; no persistent keyboard logger or exclusive input grab runs.
|
||||
A udev uaccess rule grants the active local user access to keyboard event devices.
|
||||
Super+Shift+D toggles; Super+Ctrl+D cancels. Both stop any active hold listener
|
||||
before issuing their Handy command, preventing a later release from restarting
|
||||
recording. Begin push-to-talk from idle: Handy exposes toggles, not idempotent
|
||||
start/stop commands. Niri 26.04 itself has no key-release bindings.
|
||||
Noctalia suppresses microphone activity popups/indicators; camera and screen-sharing
|
||||
indications remain. Automatic paste and live capture need interactive checks.
|
||||
|
||||
@@ -139,9 +141,11 @@ and Vulkan batch mode (156 ms inference, 420 ms load). This checks model inferen
|
||||
not live capture/stop/cancel. No new audio was recorded. Switching to CPU is not a
|
||||
confirmed fix. After activation, retry live recording and stopping, and inspect
|
||||
the service logs if it hangs.
|
||||
Verification: formatting, flake evaluation, both workstation builds and whitespace
|
||||
checks passed. Handy loaded the generated settings in an isolated data directory
|
||||
without settings parse errors. System activation remains user-owned and pending.
|
||||
Synthetic listener checks cover release during startup, repeat, modifier-first
|
||||
release, device disconnect and cancellation, without live input/audio access.
|
||||
System activation and an interactive hold/release trial remain user-owned.
|
||||
Formatting, flake evaluation, both workstation builds, synthetic listener checks
|
||||
and whitespace checking passed. No live input listener or microphone was started.
|
||||
|
||||
The focus is the broader environment, not further API/database polish. Candidate
|
||||
areas remain places/ownership, navigation/interaction, human/agent collaboration,
|
||||
|
||||
Reference in new issue
Block a user