[Python] Domanda su input.
Gabriele Battaglia
iz4apu a libero.it
Lun 19 Feb 2018 15:15:02 CET
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.
Maggiori informazioni sulla lista
Python