Hello, I'd like to check, if a single key is pressed on a Linux xterm. This code waits for a key to be pressed and returns the character:
-------------------------------------------- #!/usr/bin/env python import sys import tty import termios fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) def getOneKey(): try: tty.setcbreak(sys.stdin.fileno()) ch = sys.stdin.read(1) return ord(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) while True: a = chr(getOneKey()) print a -------------------------------------------- My problem is, I don't want my program to wait for the keypress. I just want to check, if a key is currently pressed and if not, I'd like to continue with my program (like "INKEY$" in some BASIC-dialects). I tried several things: - event-handling from pygame: But that would open a pygame-window, I don't need. - same thing for window-managers like Tkinter. - threads: I couldn't do it (especially return values from thread-functions to the main-program). - curses: "nodelay()" or "halfdelay()" sound interesting. Maybe; but don't know how right now. I even wouldn't be able to "print" then ... - python-Xlib: Too complicated for me too right now; perhaps, if documentation becomes more complete. Does anybody know a code example (for Linux xterm) that does it ? TIA H. -- http://mail.python.org/mailman/listinfo/python-list