Haven 5.91.1:RDP 快捷栏回归移除了 Win 键开关
Haven issue #772 定位到 v5.91.1 工具栏切换提交:RDP/ SPICE/ GLKVM 会话的屏幕快捷栏仍有 Ctrl、Alt、Shift,但 Win 开关被新的 `KeyboardToolbar` 调用路径移除;硬件 Meta 键仍能到达 guest,预期是恢复左 Win 键的按住/释放切换。
作者原文@xchacha20-poly1305Symptom
The extended key bar on an RDP session (same screen for SPICE and GLKVM) no longer has a Win key. Ctrl, Alt, and Shift are still there. A hardware Meta key still reaches the guest; only the on-screen Win toggle is gone.
Commit
Introduced in
e9a7a2602f(chore(release): bump version to 5.91.1, 2026-10-30), the commit that also documents the sharedKeyboardToolbarin the v5.91.1 notes. Parent isb3b829f7ec. No pull request is attached to the commit.Before that commit,
RdpViewercalledRdpKeyToolbarand passed:winActive = winActive, onToggleWin = { winActive = !winActive if (!winActive) onKeyUp(SC_WIN_L) else onKeyDown(SC_WIN_L) },
RdpKeyToolbardrewRdpToggleButton("Win", …)at the start of the bar. The same commit replaced that call withsh.haven.core.toolbar.KeyboardToolbarand deleted theonToggleWinlambda.RdpKeyToolbarstill contains the Win button, but nothing calls it.
KeyboardToolbarandToolbarKeyhave Ctrl / Alt / Shift / AltGr and no Win entry, so the key cannot be added from the toolbar editor either.winActiveand theSC_WIN_Lkey-up inreleaseActiveModifiersare still inRdpScreen, and nothing setswinActiveto true.Expected
The desktop shortcut bar exposes a Win toggle again, holding and releasing left Win (
SC_WIN_L, extended scancode0x5B) the way Ctrl holdsSC_CTRL_L.