Ciao a tutti.
Sono sempre alla ricerca di un modo per leggere la tastiera, senza bloccare il flusso del programma che funzioni sia sotto Windows che sotto Mac/Linux. Ho letto tonnellate di post su StackOverflow, provato decine di script, ma non c'è nulla che funzioni come voglio. Ormai cerco questa cosa da oltre 4 anni.

Ora ci provo con i threads ma sento già che mi sto infilando in un vicolo senza uscita. Anche se demando ad un thread secondario la lettura della tastiera con un input infatti, prima che questo mi ritorni la variabile, devo comunque aspettare che l'utente prema invio. E non è questo ciò che mi serve. Io ho bisogno che il tasto, o i tasti premuti, vengano letti immediatamente all'atto della loro pressione, non dopo l'invio.


Chiedo questo...

Esiste un modo di leggere il buffer della funzione input, prima che venga premuto invio e che questa assegni quanto digitato alla variabile?

Ad esempio, se io scrivo che a=input(), posso far si che un diverso thread legga cosa input sta ricevendo dal file stdin, man mano che l'utente digita i caratteri, in tempo reale?

Perdonate se non mi sono saputo spiegare bene.

La soluzione ideale sarebbe quella di trovare una "batteria", già pronta da caricare in Python ma fino ad ora, o sono stato sfortunato, oppure proprio non ce ne sono.

Prima che me le consigliate, vi racconto che: pygame non va bene perchè commuta la console in modo grafico, mentre io ho bisogno che rimanga così com'è, in modalità terminale. E nemmeno curses va bene, perchè sotto Windows non esiste e le sue emulazioni non funzionano.

GabryB.
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a