Нажатие клавиши Python и прослушивание нажатия клавиши
Я управляю удаленной игрушечной машиной, используя код Python. На данный момент код, как показано ниже
def getkey():
fd = sys.stdin.fileno()
old = termios.tcgetattr(fd)
new = termios.tcgetattr(fd)
new[3] = new[3] & ~TERMIOS.ICANON & ~TERMIOS.ECHO
new[6][TERMIOS.VMIN] = 1
new[6][TERMIOS.VTIME] = 0
termios.tcsetattr(fd, TERMIOS.TCSANOW, new)
c = None
try:
c = os.read(fd, 1)
finally:
termios.tcsetattr(fd, TERMIOS.TCSAFLUSH, old)
return c
def car():
while True:
key = getkey()
if key == 's': #Down arrow
print "Down"
Backward()
elif key == 'w': #Up arrow
print "Up"
forward()
elif key == 'a':
print "left"
Left()
elif key == 'd':
print "Right"
Right()
elif key == 'q': #Quit
print "That's It"
break
def forward():
GPIO.output(11,True) #Move forward
Когда я нажимаю 'w', вызывается метод forward (), и машина движется вперед, но не останавливается, пока я не выйду из программы или не вызову GPIO.output (11, Flase) из какого-либо другого метода.
Есть ли какой-нибудь ключ Listener, который обнаруживает отпускание ключа того или иного ключа.
Например, если нажата кнопка «w», вызывается этот метод, а в случае освобождения вызывается другой метод.
Кодекс Судо
if w_isPressed()
forward()
else if w_isReleased()
stop()