feat(hid): 添加 Linux 键盘与 SysRq 快捷键 (#307)

控制台增加独立快捷键菜单,提供常用组合键和 Linux SysRq 指令,虚拟键盘补充 Linux 布局。
通过可靠且有序的 WebSocket 发送组合键,取消或失败时逐一释放按键,防止修饰键残留。
执行期间避免物理键盘与虚拟键盘交错输入,断连、失焦和切换布局时停止执行。
修正焦点移动后的物理按键释放,并将原虚拟键盘组合键迁移到统一菜单。

验证:独立暂存快照前端构建通过;6 项快捷键单测及 5 组浏览器测试通过,覆盖组合键序列、失败清理、取消及键盘焦点。

Refs #307
This commit is contained in:
mofeng-git
2026-10-28 07:21:52 +08:00
parent 8d58119b77
commit 3c15168ddc
8 changed files with 371 additions and 127 deletions

View File

@@ -109,6 +109,36 @@ export default {
selectResolution: 'Select resolution...',
selectFps: 'Select FPS...',
},
shortcuts: {
close: "Close shortcuts",
unavailable: "HID is disconnected",
releaseKeys: "Release held keys first",
stopped: "Shortcut stopped",
failed: "Shortcut interrupted. Check the HID connection.",
sysrqHelp: "SysRq is PrintScreen. SysRq must be enabled on the target Linux system. Open kernel documentation",
actions: {
'ctrl-alt-delete': "Ctrl+Alt+Del",
'task-manager': "Task Manager",
'switch-window': "Switch windows",
'close-window': "Close window",
'lock-windows': "Lock Windows",
'run': "Run",
'tty1': "Switch to virtual terminal 1",
'tty2': "Switch to virtual terminal 2",
'restart-x': "Restart the X server",
'force-quit': "Force Quit Applications",
'sysrq-h': "Show help",
'sysrq-f': "Invoke the OOM killer",
'sysrq-m': "Show memory information",
'sysrq-t': "Show tasks",
'sysrq-r': "Restore keyboard mode",
'sysrq-e': "Terminate all processes except init",
'sysrq-i': "Kill all processes except init",
'sysrq-s': "Sync disks",
'sysrq-u': "Remount filesystems read-only",
'sysrq-b': "Reboot immediately without syncing disks",
},
},
common: {
loading: 'Loading...',
save: 'Save',
@@ -236,6 +266,7 @@ export default {
power: 'Power',
keyboard: 'Virtual Keyboard',
keyboardTip: 'Show virtual keyboard',
shortcuts: 'Shortcuts',
webTerminal: 'Web Terminal',
stats: 'Stats',
statsTip: 'View connection statistics',