Buenas gente, me gustaría saber como se hace para referirse a la tecla ESC en python. Lo quiero saber mas que nada para lo siguiente:
a = raw_input("")
if a == TECLA_ESCAPE :
..............
Gracias de antemano.
Solo es una hipotesis pero creo que ESC en decimal es 27 asi que supongo que si haces un casting a entero del caracter que quieres comparar y lo comparas con 27 te funcionaria.
P.D. Es decir, suponiendo que esta codificado en ASCII
No, Eso no es para nada algo fácil.
Cualquiera de estos dos módulos es lo que necesitas usar:
http://docs.python.org/library/msvcrt.html
http://docs.python.org/py3k/library/curses.html
Pero si estás usando TKinter, Te puedes ahorrar el trabajo:
Cita de: http://stackoverflow.com/questions/5760620/in-python-how-do-you-get-it-to-input-a-keyboard-pressimport Tkinter as tk
def keypress(event):
if event.keysym == 'Escape':
root.destroy()
x = event.char
if x == "w":
print "blaw blaw blaw"
elif x == "a":
print "blaha blaha blaha"
elif x == "s":
print "blash blash blash"
elif x == "d":
print "blad blad blad"
else:
print x
root = tk.Tk()
print "Press a key (Escape key to exit):"
root.bind_all('<Key>', keypress)
# don't show the tk window
root.withdraw()
root.mainloop()
Espero que te sirva
saludos
Muchas gracias a los dos, ya he solventado el problema. El problema era que raw_input no detecta la pulsacion de ESC por lo que al final da igual el nombre pues no la detecta. La solucion ha sido usar la api GetAsyncKeyState para detectar la pulsacion de la tecla ESC.
Pero repito, muchas gracias a los dos.