eventos de teclado en Python

Pablo Rodríguez oinos en web.de
Dom Nov 16 11:02:46 CET 2008


Gracias, Chema, Arnau, Íñigo y Josu, por la respuesta.

Uso Linux y curses será la solución.

Gracias de nuevo,


Pablo


Inigo Aldazabal Mensa wrote:
> El Viernes, 14 de Noviembre de 2008 11:23, Arnau Sanchez escribió:
>> Pablo Rodríguez escribió:
>>> ¿Cómo podría hacer algo así en Python puro? Con input se puede hacer,
>>> pero ha de ser una letra (no vale pulsar enter o espacio) y además hay
>>> que pulsar enter al final.
>> No hay una solución multiplataforma. En Windows puedes usar
>> msvcrt.getch(); en *nix se tira de "curses" o se toca la configuración
>> del terminal a través de "termios". Más info:
>>
>> http://mail.python.org/pipermail/python-list/2000-October/058188.html
>>
>> Más info de "curses":
>>
>> http://www.amk.ca/python/howto/curses/
> 
> Por ejemplo (copiopego de google):
> 
> #
> import curses
> 
> class TestScreen:
>     def __init__(self, scr):
>         self.scr = scr
>         self.scr.move(10, 5)
>         self.scr.addstr('Press q to QUIT', curses.A_BOLD)
> 
> 
>     def loop(self):
>         k = None
>         while k != 'q':
>             k = self.scr.getkey()
>             try:
>                 o = ord(k)
>             except:
>                 o = '????'
>             #Error.elog('test:', k, o)
> 
> def test_keys(scr):
>     screen = TestScreen(scr)
>     screen.loop()
> 
> if __name__ == '__main__':
>      curses.wrapper(test_keys)
> #
> 
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
> 
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es