簡體   English   中英

如何在Linux中的python控制台程序中真正綁定鍵?

[英]How to trully bind key in python console program in linux?

我正在尋找python [linux]中的鍵綁定。

我的程序必須捕獲鍵“ q”並正確關閉。

我找到了這個

import curses
stdscr = curses.initscr()
curses.cbreak()
stdscr.keypad(1)

stdscr.addstr(0,10,"Hit 'q' to quit")
stdscr.refresh()

key = ''
while key != ord('q'):
    key = stdscr.getch()
    stdscr.addch(20,25,key)
    stdscr.refresh()
    if key == curses.KEY_UP: 
        stdscr.addstr(2, 20, "Up")
    elif key == curses.KEY_DOWN: 
        stdscr.addstr(3, 20, "Down")

curses.endwin()

但是它卡住了循環,當按下任何鍵時,我的程序必須每秒鍾工作一次,並在后台捕獲“ q”。

加:

stdscr.nodelay(True)

到程序開始。 然后,getch總是會立即返回。 如果自上次調用getch以來用戶未進行任何操作,它將返回-1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM