Нажатие клавиши 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()

Ответы на вопрос(1)

Ваш ответ на вопрос