从命令行启动的程序中是否无阻塞,无缓冲地检测按键?

时间:2019-07-03 01:28:42

标签: python

首先让我说我知道这个问题与this one非常相似,但是并不相同。

为了描述我想要实现的目标,我将与getkey library的工作示例进行比较:

from getkey import getkey, keys
from time import sleep
sleep(2)
print "Start"
key = getkey(blocking=False)
while key != "m":
    if key == keys.UP:
        print "UP"
    else:
        print key
    sleep(2)
    print "Next..."
    key = getkey(blocking=False)
print "End"

这段代码的作用几乎是我想要实现的。 “唯一”的区别是,我只想在执行读取键盘的命令的执行时刻按下按键时才能检测到。但是,在此示例中,在sleep()期间按下的所有键均被缓冲,随后被一个接一个地检测到。 是否真的不可能在“当前时间”检查按键,例如使用INKEY$(从Basic读取键盘)或IN A, #1F(从Kempston操纵杆读取)早在80年代,就在ZX Spectrum上从m / c中获取)?

0 个答案:

没有答案