[PYTHON] Nombre de la tecla ESC

Iniciado por sunicomi, 11 Julio 2012, 15:00 PM

0 Miembros y 1 Visitante están viendo este tema.

sunicomi

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.

oxydec

#1
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

Eleкtro

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-press
Código (python) [Seleccionar]
import 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








sunicomi

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.