双击 ScrollLock 键无法更改 KVM 目标机器

双击 ScrollLock 键无法更改 KVM 目标机器

使用 Belkin KVM 切换器。通常情况下,我可以双击滚动锁并选择与我想要切换到的机器相对应的数字,但是,自从我从 12.10 升级到 13.04 Beta 2 后,双击滚动锁就无法再更改机器了。

我以为这个“双击”是硬编码到 KVM 单元中的,它应该总是有效,但看来我错了。

有人有什么想法吗?KVM 是 Belkin 2 端口 1DL102P(带有内置电缆和音频支持),设备本身没有任何按钮,因此没有“手动覆盖”或“硬重置”按钮。

看起来像这样:

贝尔金 2 端口 1DL102P

有什么想法、主意或建议吗?这是某种按键绑定故障吗?

答案1

当你调用这个脚本时它会切换吗?

#!/bin/bash
SLEEP=0.2
LEDMASK=4
LEDNAME="Scroll Lock"

xmessage -timeout 1 "Switching..." &

STATE="$(( $(xset q | awk '/LED/ {print $10}') & LEDMASK ))"

test $STATE -eq $LEDMASK && xset -led named "$LEDNAME" && sleep $SLEEP
xset led named "$LEDNAME"  
sleep $SLEEP
xset -led named "$LEDNAME" 
sleep $SLEEP
xset led named "$LEDNAME"  
test $STATE -ne $LEDMASK && sleep $SLEEP && xset -led named "$LEDNAME"

答案2

好的,看来从两台机器上拔下 KVM 的 kbd/鼠标适配器并重新插入可以起到某种“硬重置”的作用,因为现在它又可以工作了。

由于该设备从 PS2 端口而不是使用 AC 适配器获取电源,因此拔掉 PS2 电缆就可以了。

答案3

uli42 的答案在我的 Syba KVM 上工作时保留了关键点。KVM 不会监听从键盘到 PC 的“按键按下”信号,而是监听从 PC 到键盘的“设置 LED”信号……可能是为了利用操作系统对各种不同键盘布局的支持,如果购买 KVM 的高级用户自定义了他们的键盘映射,那么它就可以使用 Just Work™。

哎呀,我的 Syba KVM 手册上说该功能“仅适用于 Windows”,事后看来,这是一个很大的线索。

(macOS 没有 Scroll Lock 的概念,不会切换 LED,而 X11 的默认键盘配置让 Scroll Lock 很长时间都不受约束。)

重新添加类似的绑定 xmodmap -e 'add mod3 = Scroll_Lock'将使其在 X11 下工作,就像在 Windows 上一样。

(我没有时间去测试它,但我想你也可以通过编写某种脚本来切换滚动锁定 LED 然后将其绑定到 F14,从而使相同的肌肉记忆在任何 Mac 上发挥作用。)

Apple 键盘和替代键帽同时显示“Scroll Lock”和 F14

至于 Wayland,请咨询您特定 DE 的开发人员。我上次研究时发现,libinput 的作者让每个 Wayland 合成器自行开发与 、 等命令等同的解决xmodmap方案setxkbmap

mod3或者,您可以通过不绑定并使用类似xbindkeys在按键时运行这样的脚本的方式使其成为单次按键Scroll_Lock

#!/bin/sh
LEDNAME="Scroll Lock"

echo "Switching KVM..."
xset led named "$LEDNAME"
sleep 0.5
xset -led named "$LEDNAME"

相关内容