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.
This commit is contained in:
ak47 committed 2026-11-07 22:37:39 -05:00
1 parent abb4890e8a
commit 64f60fe4e8
12 files changed
+120 -18

No files matched your search

+4 -4
View File
@@ -9,8 +9,8 @@ import "errors"
var ErrRemoteCaptureChord = errors.New("remote capture local shortcut is invalid")
// RemoteCaptureKey is one normalized captured transition. Symbol is the
// group-zero, level-zero keysym the native owner resolved for a press, the
// same form the command owner matches against bindings; releases and repeats are
// group-zero, unshifted keysym the native owner resolved for a press, with
// Num Lock selecting numeric keypad identities; releases and repeats are
// matched by keycode, so a later layout change cannot alter ownership.
type RemoteCaptureKey struct {
Keycode uint8
@@ -43,8 +43,8 @@ type RemoteCaptureTransition struct {
// handled by the native owner without waiting for the network or a Tentacle.
var RemoteCaptureEscape = CommandChord{Symbol: 0xffc8}
// RemoteCaptureKeyName returns the canonical Remote key name for a
// group-zero, level-zero keysym name, or "" when it has none.
// RemoteCaptureKeyName returns the canonical Remote key name for an unshifted
// keysym name (with Num Lock selecting keypad identities), or "" when it has none.
func RemoteCaptureKeyName(keysym string) string {
switch keysym {
case "Prior":