如何避免按住按键时按键自动重复?

问题描述 投票:0回答:2

我目前正在编写一个程序,使用 Debian 上的 python 3 中的“键盘”库。

所以如果我按住一个键。键盘库获取多个 KeyDownEvents 而不是 KeyPress 处的一个,但我只想要第一个事件。有没有办法抑制自动重复?

我已经在 python 中尝试了多个终端命令,这些命令应该停止键盘自动重复,但这大多只适用于可打印的字符,但我也只需要 1 个事件,例如按下 Shift
我的结论是终端命令根本不会影响键盘库。

有什么想法吗?

致以诚挚的问候

python keyboard keydown keyup autorepeat
2个回答
0
投票

如果您同意在系统范围内进行更改,您可以通过以下方式关闭按键重复:

import os
os.system('xset r off')

您可以在程序退出时将其更改回来:

os.system('xset r on')

0
投票
if keyboard.is_pressed("b"):
    while keyboard.is_pressed("b"):
        print("")#something to do otherwise error occurs

程序将等待按键释放后执行下面的代码。如果您需要程序在按下按键时继续运行代码,您可以尝试使用线程。 “b”在代码中用作键,但您可以将其更改为其他字母。

© www.soinside.com 2019 - 2024. All rights reserved.