Python检测'键入'来自终端

时间:2017-04-03 14:44:21

标签: python python-2.7 keyboard curses

我试图编写一个python程序来模拟乐器。按下按钮时会弹奏音符,当您将手指从按钮上移开时,声音会自动停止:

while buttonUp:
  noteSilent()

  if buttonDown:
     notePlay()

根据我的理解,这样做的两个主要方法是使用pygame和curses。 Pygame似乎更简单,但它似乎旨在制作图形应用程序,而我完全满足于纯粹从命令行运行该程序。我一直试图让它与诅咒一起工作,但它并没有真正达到预期的效果。这就是我目前所拥有的:

        while key != ord('q'):
        key = stdscr.getch()
        curses.echo()
        stdscr.addch(20, 25, key)
        stdscr.refresh()

        NoteSilent(2)

        if key == ord('a'):
            print "hello"
            NotePlay(2)

这似乎没有达到预期的效果,所以对于如何解决这个问题的任何建议都会非常感激。

1 个答案:

答案 0 :(得分:0)

curses没有为按键和释放提供单独的事件,所以如果你希望它以这种方式工作,你可能会更好地使用pygame。

(奇怪的准异常:ncurses和PDCurses 可以鼠标按钮提供单独的按下和发布事件,如果你想这样做的话。这不是'非常标准的诅咒,我不知道Python界面是否支持它。)