Desde el python docs:
import termios, fcntl, sys, os
fd = sys.stdin.fileno()
oldterm = termios.tcgetattr(fd)
newattr = termios.tcgetattr(fd)
newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
termios.tcsetattr(fd, termios.TCSANOW, newattr)
oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)
try:
while 1:
try:
c = sys.stdin.read(1)
print "Got character", `c`
except IOError: pass
finally:
termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
Esto sólo funciona para las variantes de Unix sin embargo. No creo que haya una forma de plataforma cruzada.
¿Dónde está la tecla "cualquiera"? No tengo uno en mi teclado –
+1 para uso obvio de un cliché. –
@Patrick ¿Por qué no tiene la tecla "uno" en su teclado? El resto de los números están bien? ¿Perdiste "1"? ¿O le parece agradable ingresar "1" a través de combinaciones de teclas ASCII? – AneesAhmed777