收集的背景信息

收集的背景信息

我想要回答的根本问题很简单:

在 Windows 10 中使用 HID 设备理论上每秒可以写入的最大字符数是多少?

为了回答这个问题,我必须弄清楚 Windows 10 操作系统如何处理键盘输入。翻阅了数百页文档后,我感到无比困惑。

收集的背景信息

根据基本的电子知识,我们知道,硬件按钮按下是否能被软件解释,可以通过两种方式检查:轮询和中断

轮询是反复检查硬件状态以了解输入值的变化。

中断是硬件触发的事件,它中断主线代码以提供有关硬件变化的信息。

由于轮询在处理需要即时响应的事件时效率极低,因此倾向于使用中断。不使用轮询是因为监控即时变化需要非常高的轮询频率,每秒多次轮询会占用太多系统资源。

因此,我猜测 Windows 操作系统使用硬件中断来处理键盘按下。但是,大多数机械按钮都会发生抖动,需要大约 10ms 才能消除抖动。我猜测,从硬件角度来看,这设定了一个最大理论限制,约为 100Hz。

但是软件呢?Windows 10 如何处理中断?每秒可以生成多少个中断?

相关内容