Come cambiare il layout della tastiera sotto Linux

Da UZ wiki.

Come cazzeo S i fa sèp noon fnZoiena lq tasstiweRA?' -- Oscar Wilde

I computer presenti in questa aula sono impostati per utilizzare la tastiera come se fosse una tastiera italiana. Tuttavia, indipendentemente dalle scritte stampate sui tasti, è possibile utilizzare la tastiera come una tastiera americana: ad esempio, il tasto di fianco alla elle scriverà su schermo un carattere ; invece che una ò. Questa impostazione torna molto comoda se si vuole programmare, o in ogni caso se ci si trova a scrivere spesso caratteri che sulla tastiera italiana non ci sono. Per esempio scrivendo in francese è sensato scegliere il layout di tastiera francese per non impazzire ad inserire le lettere accentate.

In Linux ci sono due diversi comandi per cambiare il layout della tastiera, a seconda che stiate lavorando sotto X (l'interfaccia grafica) o in una console testuale. (se non avete compreso il significato della frase precedente, probabilmente vi interessa solo il primo di questi comandi ;-) )

Cambiare il layout della tastiera sotto X

Si può fare anche con interfaccia grafica (DA AGGIUNGERE).

Si utilizza il comando setxkbmap: aprite una shell e digitate

 setxkbmap it	per il layout italiano (quello solito)
 setxkbmap us	per il layout americano

Abbreviazioni utili per le altre lingue sono fr per il francese, de per il tedesco, es per lo spagnolo. Poi provate un po' di tasti e vedete dove sono i caratteri speciali che vi servono... Se caricate layout che usano alfabeti esotici come el (greco), non sempre le applicazioni che state usando (e i font) possono supportare i caratteri greci. Sperimentate un po', o chiedete pure aiuto agli amministratori.

Cambiare il layout della tastiera in una console testuale

 loadkeys it
 loadkeys us
 loadkeys fr

eccetera. Valgono le stesse considerazioni fatte sopra.

Layout di tastiera internazionale

Questi comandi (il primo sotto X, il secondo in console testuale) impostano il cosiddetto layout internazionale:

 setxkbmap us_intl
 loadkeys us-intl.iso01

(occhio ai trattini alti e bassi). Cos'è il layout internazionale? È un layout di tastiera che funziona sostanzialmente come quello americano, ma permette di inserire moltissimi caratteri accentati di tutte le lingue con combinazioni di due tasti. Ad esempio: se premete ` (il tasto accento discendente, si trova a sinistra dell'1 sulle tastiere americane) e poi una vocale, ottenete la vocale con un accento grave sopra (funziona anche con le maiuscole... mai provato a scrivere lettere maiuscole accentate con la tastiera italiana?). Se premete il tasto ~ e poi una n ottenete la lettera ñ. Se premete ïl tasto virgolette e poi una u, ottenete ü (per ottenere soltanto le virgolette, premete virgolette e poi spazio). Se premete AltGr+S, ottenete ß. E non finisce qui...

Il tasto compose

Se non si vuole cambiare il layout di tastiera, ma si ha bisogno di tanto in tanto di inserire caratteri speciali, si può abilitare il tasto compose, utilissimo per inserire lettere accentate, umlaut e simili mediante combinazioni di tasti. Per farlo, aprite il file .Xmodmap nella vostra directory home, ad esempio digitando

 kate ~/.Xmodmap

dalla riga di comando; cercate le righe seguenti

 !! Fourth example: Make Menu key on WIN95 keyboard doing Compose
 !keysym Menu = Multi_key

verso la fine del file, cancellate il punto esclamativo all'inizio della seconda di queste righe e salvate il file. Infine, lanciate il comando

 xmodmap ~/.Xmodmap

In questo modo, il tasto menu di Windows (altrimenti inutile, su Linux) viene associato alla funzionalità compose. Il funzionamento è il seguente: quando premete il tasto menu (quello vicino al Crtl destro nelle nostre tastiere) non viene inserito nessun simbolo, ma si entra in modalità composizione, ed il sistema resta in attesa di una combinazione di tasti, simile a quelle descritte nel paragrafo precedente; se si cambia idea, e non si vuole più inserire un carattere, basta premere nuovamente il tasto menu, per uscire dalla modalità composizione e tornare ad inserire i normali caratteri del vostro layout di tastiera.

Per avere la lista completa delle combinazioni di tasti disponibili, leggete il file

 /usr/share/keymaps/include/compose.latin.inc.gz

per farlo potete usare il comando:

 zcat /usr/share/keymaps/include/compose.latin.inc.gz | less

oppure andare qui per una lista leggibile che dovrebbe essere corretta.