我想建立一个应用程序在Python中,我必须检测按键被按下

问题描述:

你好人我正在建立一个使用pythonraspbian汽车遥控器,但我想要的是当'w'键被按下我想打电话给forward()但问题是如何得到的东西当琴键被按下() thimg蟒蛇 感谢我想建立一个应用程序在Python中,我必须检测按键被按下

您可以使用curses达到你想要的树莓丕什么。 Curses是用于CLI程序的图形API,您可以实现的远不止检测关键事件。

在下面的例子中,我们打印“Up is pressed;”当按下键时,返回到屏幕。当按下q时,我们停止程序。

import curses 

def example_curses(stdscr): 
    stdscr.keypad(1) 
    while 1: 
     key = stdscr.getch() 
     if key == curses.KEY_UP: 
      stdscr.addstr("Up is pressed; ") 
      # call forward() 
     elif key == ord('q'): 
      break 


def main(): 
    curses.wrapper(example_curses) 
    print("'q' has pressed") 

if __name__ == "__main__": 
    main() 

我们还使用stdscr.keypad(1),因为它可以帮助我们检测特殊键按下:

终端通常返回特殊键,如光标键或 导航键,例如Page Up和家庭,作为多字节转义 序列。虽然您可以编写应用程序以期望得到这样的 序列并相应地处理它们,但curses可以为您做到这一点, 返回一个特殊值,如curses.KEY_LEFT。要让诅咒做 这项工作,你必须启用键盘模式。

+0

其实这不是我想要的。我需要一个按键被按下的功能。 – salmanarshad1999

+0

这就是它,'而stdscr.getch()== key'等于while-a-key-is-pressed – Megabeets