[pyar] Leer teclado sin bloquear el proceso

Roberto Alsina ralsina en netmanagers.com.ar
Mie Ago 11 22:53:59 ART 2010


On Wednesday 11 August 2010 22:41:15 Jose Luis Dallapiccola wrote:
> > 1) Hay que decir por lo menos en que plataforma estas
> 
> Mucha razón, mil perdones.
> 
> Desarrollo en Linux (Ubuntu), pero el programa correrá en Windows.
> 
> > 2) Hay por lo menos que decir si estas en una consola, ventana, o que
> 
> En principio, de no ser necesario, solamente correrá en consola. El
> programa en principio solamente lee unos datos del puerto serie y lo
> graba en un archivo.

Consola es una de esas cosas en que windows y linux son muy, pero muy 
distintos...


Veamos posibilidades...

1) Podes decir "presione enter" en vez de "presione una tecla"?

Si es así, podés hacer dos hilos, uno hace un raw_input y le pasa un flag al 
otro (el que lee el puerto serie), el del puerto serie le devuelve los datos 
al que estaba en la consola, este los imprime y termina.

2) Si no podes decir "presione enter", lo mismo, pero haciendo un read() sobre 
sys.stdin en vez de un raw_input

3) Si no querés tener dos procesos o hilos es un poco más complicado porque la 
manera "fácil" de hacerlo en windows es usar algo tipo conio y en linu algo 
tipo curses.

4) Si abandonas la idea de hacerlo primero en linux: usa conio: 

http://newcenturycomputers.net/projects/wconio.html

En particular, WConio.kbhit()



More information about the pyar mailing list