在我的 thinkpad x201 上使用键盘时,无法同时按向左、向上和空格键。也就是说,当我开始一个接一个地按下按键时,第三个按键将被忽略。
我用 pygame、xev 和 evtest 验证了这一点。
如何解决这个问题?我什至不知道从哪里开始调试。
更新:当使用 g、h、b 或 n 而不是空格时,也会发生同样的情况。但它可以与其他组合一起使用,例如 left+space+g。
答案1
这是矩阵键盘的硬件问题。供应商将它们安装在笔记本电脑中,并销售大多数采用矩阵技术的键盘,因为它们与大多数机械键盘相比更便宜。
如果您尝试按下键盘上使用相同数据线的三个按钮,则其中一个键可能会出现幻影。维基百科解释得很好:https://en.wikipedia.org/wiki/Rollover_(key)
如果您确实需要按这三个或更多按钮,建议购买机械键盘。其中一些作为“多个”键盘连接到您的计算机。可以按下键盘上的每个按钮,它都会被识别。
答案2
有两点需要考虑:
- 窗口系统被设计为了解可以同时按下的某些键,即“修饰键”。 left和space通常不用作修饰符(尽管您可能会发现left使用重新分配很有用
xmodmap
)。 - 键盘的设计对“翻转”(即您可以同时按下的键的数量)进行了限制。
进一步阅读: