为什么连接到一台计算机上的两个不同的键盘会有心灵感应?

为什么连接到一台计算机上的两个不同的键盘会有心灵感应?

我把两个不同的键盘连接到我的电脑上。(两者都使用 USB 端口与计算机通信。)问题是:

为什么当我在一个键盘上按下 Caps-Lock 或 Num-Lock 时,另一个键盘上的相关灯(键盘上的 LED)也会亮起和熄灭!?

正如@Tetsujin在第一条评论中提到的,我猜想计算机从一个键盘接收请求,并将答案广播到所有端口。如果是这样,为什么?每个端口没有一个特定的地址来只向该地址发送答案吗?这种当前机制不会增加漏洞吗?(例如硬件键盘记录器)

答案1

Windows 每次只接受一个键盘(没有专门的驱动软件),因此与一个键盘的交互会影响所有键盘。虽然您可以插入多个键盘并且所有键盘都可以工作,但它们都通过操作系统中的同一个界面进行处理,并且都得到同等对待。

键盘本身只向 Windows 发送键码,告诉它按下了哪个键,所有键盘都发送相同的键码(一般而言),操作系统(Windows)决定如何处理它们。因此,操作系统实际上控制着 Caps 和 Num 等修饰键的状态。

由于所有连接的键盘受到相同的影响,因此当切换 Caps Lock(等)时,无论使用了哪个 Caps Lock 键,操作系统都会将所有键盘更新为相同的状态。

您可以通过打开Windows 屏幕键盘。您会注意到,它的视觉按键反映了您在物理键盘上按下的修饰键(shift、control、alt、Caps lock 等)。

为了进一步阅读,也许可以查看以下其他 SU 问题:

相关内容