2011-11-13

script per cambiare il layout di tastiera

un piccolo script bash per modificare il layout della tastiera (toggle, si usa sempre lo stesso tasto per passare da un layout all'altro).

#!/bin/bash

# una funzione che estrae il layout corrente (in modo un po' brusco)
getCurrentLayout () {
setxkbmap -query | sed s/^[[:alpha:]]*:[[:space:]]*// | tail -n 1
}

# il layout corrente viene memorizzato in una variabile
# non è del tutto necessario ma rende lo script comprensibile
currentLayout=`getCurrentLayout`

if [ $currentLayout = "us" ]
then setxkbmap us dvorak-intl
elif [ $currentLayout = "dvorak-intl" ]
then setxkbmap it
else setxkbmap us
fi

questo script passa da layout americano a dvorak a italiano, si può facilmente modificare per i layout che si vogliono usare. Una annotazione: l'ultima voce non contiene un controllo condizionale (una cosa tipo "elif [ $currentLayout = "it" ] then setxkbmap us") per far sì che, in caso sia stato impostato un layout diverso da quelli previsti, si possa tornare facilmente a quello americano.