我使用sshkeyboard
库读取通过ssh终端连接的树莓派的关键输入。我注意到,当发送单个密钥时,输出之间似乎有延迟,但是当我发送交替密钥时,输入之间没有延迟。考虑这个简单的示例代码:
from sshkeyboard import listen_keyboard
def onpress(key):
print("input detected")
listen_keyboard(on_press=onpress)
假设我快速输入'a'键10次,在输出中我可能得到4或5个输出' input detected">
但是当我把'a'和's'分别发送10次时,我得到了20个正确的输出。有办法解决这个问题吗?
是否有一种方法可以确保当我快速发送'a' 10次时,我得到10个输出?但是,如果我在按下'a'之间慢慢地花时间,那么对于相同数量的输入,我将得到相同数量的输出。
我找到了解决问题的方法。显然,有一个名为delay_second_char
的参数,其默认值为0.75s,这就是为什么垃圾发送单个字符并不完全有效的原因。
因此下面的代码实现修复了我的问题:
from sshkeyboard import listen_keyboard
def on_press(key):
print("Input detected")
listen_keyboard(on_press=on_press, delay_second_char = 0.05)