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>
This commit is contained in:
Chase CichorzandClaude Opus 5.5 authored and Storm Dragon committed 2026-11-06 21:17:01 -05:00
1 parent bf4a23645e
commit 6867d901b2
7 files changed
+32 -5

No files matched your search

+1 -1
View File
@@ -315,7 +315,7 @@ func TestBehaviorRemoteCaptureConsumesUnsupportedKeys(t *testing.T) {
{release(121), RemoteCaptureResult{}},
{release(codeShift), remote(up(codeShift))},
})
for keysym, want := range map[string]string{"Prior": "Page_Up", "KP_Next": "KP_Page_Down", "a": "a", "A": "", "XF86AudioMute": "", "ISO_Level3_Shift": ""} {
for keysym, want := range map[string]string{"Prior": "Page_Up", "KP_Next": "KP_Page_Down", "a": "a", "A": "", "XF86AudioMute": "XF86AudioMute", "XF86Eject": "", "ISO_Level3_Shift": ""} {
if got := RemoteCaptureKeyName(keysym); got != want {
t.Fatalf("%s = %q, want %q", keysym, got, want)
}
+6 -1
View File
@@ -28,7 +28,12 @@ func ValidRemoteKeyName(name string) bool {
"KP_Left", "KP_Up", "KP_Right", "KP_Down", "KP_Insert", "KP_Delete",
"KP_Multiply", "KP_Add", "KP_Separator", "KP_Subtract", "KP_Decimal", "KP_Divide",
"semicolon", "equal", "comma", "minus", "period", "slash", "grave", "bracketleft",
"backslash", "bracketright", "apostrophe":
"backslash", "bracketright", "apostrophe",
// Browser, volume, media and launch keys (Windows VK 0xa6-0xb7).
"XF86Back", "XF86Forward", "XF86Reload", "XF86Stop", "XF86Search", "XF86Favorites",
"XF86HomePage", "XF86AudioMute", "XF86AudioLowerVolume", "XF86AudioRaiseVolume",
"XF86AudioNext", "XF86AudioPrev", "XF86AudioStop", "XF86AudioPlay", "XF86Mail",
"XF86AudioMedia", "XF86MyComputer", "XF86Calculator":
return true
}
return false