Windows 键盘处理键盘输入的速度有多快?

2022-12-23 16:13:14 +08:00
 sivacohan
我尝试用 Arduino Leonardo 来模拟成键盘鼠标,在测试的过程中发现。
如果在循环中不加入 delay ,就会导致 Windows 的 Keyboard buffer 被写满。
而在每次 KeyPress 之后增加 100ms 延迟后,情况有所好转。

我的问题是:
1. Windows 10 有关于 Keyboard Interrupt 的相关文档吗?我想了解一下 Windows 的处理流程。
2. Windows 系统下,HID 输入的极限速度是多快?
705 次点击
所在节点    问与答
5 条回复
kokutou
2022-12-23 16:46:29 +08:00
参考人的最快打字速度呗。
cpstar
2022-12-23 17:01:03 +08:00
我觉得是不是换成 linux 看看什么样子,然后再来判定到底是 OS 的问题、driver 的问题,还是什么问题。
Eiden
2022-12-25 16:28:12 +08:00
usb hid 是轮询的, 这个轮询周期跟键盘硬件(usb 接口速率)有关系, 慢的 16ms, 快的 1ms, 对于 atmega 32u4(usb 1.1 fs)来说应该是工作在 1000hz 轮询周期的
sivacohan
2022-12-25 23:30:30 +08:00
@Eiden 这是我现在不太理解的地方。
从系统的表现上来看,似乎是 keypress 的事件被放到了一个队列里面,而后 windows 再慢慢消费。
具体表现是,当系统看起来有点卡且不相应键盘事件后,拔下 Leonardo ,windows 还会在 vscode 里面继续写内容约 5~8 秒。
giaodadi
2022-12-26 13:13:10 +08:00
有 4000hz 的键盘

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904324

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX