[Python] Fwd: pynput: help request.

Manlio Perillo manlio.perillo a gmail.com
Mar 24 Lug 2018 22:47:41 CEST


On Tue, Jul 24, 2018 at 12:03 PM Gabriele Battaglia <iz4apu a libero.it> wrote:
>
> Ciao.
> Avevo chiesto, ad una comunità online di Python, un aiuto per capirci
> qualcosa di questa libreria, avrei voluto vedere un esempio di
> funzionamento.
> Posto qui il mio messaggio originale, se qualcuno ha uno script
> funzionante che la include, potrebbe inviarmelo, per favore?
>

pynput ha delle limitazioni abbastanza severe:
https://pynput.readthedocs.io/en/latest/limitations.html

Sono accettabili per te?
Nel tuo messaggio originale scrivi che il programma deve girare sia su
Win che MacOS.

Se il tuo script gira su terminale, esiste un implementazione senza
queste limitazioni.

Comunque se sei su Windows puoi usare pyunput o msvcrt.getwche per
implementare una bozza, e da questa chiedere consigli più dettagliati.

Da quello che leggo in
https://github.com/python/cpython/blob/master/Lib/getpass.py#L97,
getwch(e) ha il problema che non processa l'input e quindi devi
gestire il KeyboardInterrupt da te.  Ma usando SetConsoleMode
(https://docs.microsoft.com/en-us/windows/console/setconsolemode)
dovrebbe essere possibile implementare la lettura da console secondo
le tue necessità semplicemente resettando *solo* il flag
ENABLE_LINE_INPUT.

Su UNIX basta usare termios, ed anche qui dovrebbe bastare resettare
il flag ICANON, ed impostare VMIN = 1 e VTIME = 0.

Che cosa vuoi fare? Intercettare la pressione dei tasti da tastiera a
basso livello, o semplicemente leggere un carattere alla volta dalla
tastiera senza che l'utente premi INVIO?
pyunput credo che legga a basso livello.

> [...]

Ciao  Manlio


Maggiori informazioni sulla lista Python