Come disabilitare la tastiera integrata del portatile su Linux
Alcune volte potreste voler disabilitare la tastiera integrata del PC, ad esempio perchè è rotta e alcuni tasti risultano costantemtente premuti.
Questa semplice linea di comando vi permette di farlo automaticamente con un solo comando o, se preferite, potete inserirla in uno script .sh per l'esecuzione automatica.
Il codice
xinput float $(xinput list | grep AT | cut -d'=' -f 2 | cut -c 1-2)
Come funziona
xinput list permette di vedere tutti i dispositivi di input collegati xinput float permette di rimuovere virtualmente un dispositivo
Esempio del risultato del comando xinput list: Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ MLK Trust Deskset 16593 id=12 [slave pointer (2)] ⎜ ↳ Logitech M570 id=13 [slave pointer (2)]
Per scollegare il Logitech M570 è necessario dare xinput float 13 dove 13 è l'ID del mouse M570 nel mio sistema (viene mostrato dal comando xinput list)
Dato che la tastiera integrata viene spesso mostrata come “AT Translated Set 2 keyboard”, il comando sopra estrae l'id mostrato per il dispositivo “AT Translated Set 2 keyboard”.
- xinput float scollega il dispositivo identificato dai seguenti comandi
- xinput list elenca i dispositivi
- grep AT mantiene solo la riga con AT nel nome (AT Translated Set 2 keyboard nel mio caso)
- cut -d'=' -f 2 tiene solo i caratteri dopo il = che è usato da xinput per mostrare l'id del dispositivo
- cut -c 1-2 mantiene solo i due caratteri dell'ID del dispositivo
Il comando cut -d'=' -f 2 serve già a selezionare due caratteri e dovrebb essere sufficiente senza il comando cut successivo, ma non funziona e non capisco perchè. Ho quindi dovuto usare il secondo cut per ottenere il risultato.
Nota importante
Questo codice funziona se l'id della tastiera è >9 (composto quindi da 2 caratteri). Se il vostro dispositivo ha un id <=9 dovrebbe essere sufficiente cambiare cut -c 1-2 con cut -c 1-1
Come automatizzarlo
Dipende molto dalla distro e dal desktop environment che usate. Potete eseguirlo manualmente nel terminale, ma secondo me è meglio inserirlo in uno script .sh da eseguire all'avvio * Apri un blocco note, inserisci la riga di codice e salvalo con estensione .sh. * Esegui poi chmod +x NameOfTheScript.sh per renderlo eseguibile
Ora puoi eseguirlo ad ogni avvio facendo doppio clic su di esso o impostandolo come applicazione di avvio del sistema. Se non sai come fare, fai una ricerca online e troverai indicazioni dettagliate per qualsiasi distro o ambiente desktop.