1 14/04/2026 11 min

Se devi aggiungere una tastiera con una nuova disposizione tasti, la prima scelta non è “come la imposto”, ma dove deve vivere la mappatura. In Linux e in altri sistemi moderni il layout può essere gestito a tre livelli diversi: sistema operativo, ambiente grafico e applicazione. Se confondi questi strati, ti ritrovi con una tastiera corretta in login ma sbagliata nel desktop, oppure perfetta nel desktop e inutilizzabile in SSH o in console.

La regola pratica è semplice: se il layout deve valere per tutta la macchina, agisci sul sistema; se serve solo per l’utente, imposta il profilo grafico; se serve solo per un programma, usa le preferenze dell’app o un remap locale. Prima di toccare file di configurazione, verifica sempre lo stato attuale con un test rapido: ti evita di sovrascrivere una disposizione già personalizzata o di rompere un layout composto da dead key, livelli AltGr o tasti speciali.

Capire il tipo di modifica: layout, variante o remap

Non tutte le “nuove disposizioni” sono uguali. In pratica ci sono tre casi ricorrenti. Il primo è il cambio di layout, per esempio da italiano a US. Il secondo è la selezione di una variante, cioè una modifica del layout base, come un italiano con dead key o una disposizione internazionale. Il terzo è il remap vero e proprio, dove vuoi spostare o ridefinire tasti specifici, per esempio Caps Lock trasformato in Ctrl o una tastiera ISO adattata a una ANSI.

Questa distinzione conta perché cambia lo strumento. Un layout standard si aggiunge quasi sempre con una configurazione già prevista dal sistema. Un remap personalizzato, invece, spesso richiede un file di mapping, un servizio dedicato o una regola a livello di desktop environment. Se il tuo obiettivo è “voglio scrivere in una lingua diversa”, non partire con un remapper: prima verifica se il layout esiste già nel sistema. Se invece vuoi un comportamento non standard, come un tasto fisico che produca simboli diversi, allora il remap è la strada giusta.

Verifica il layout disponibile prima di creare roba nuova

Su Linux il primo controllo utile è capire quali layout sono già presenti e come il sistema li vede. Con X11 e con Wayland la gestione può cambiare, ma il principio resta lo stesso: prima osserva, poi modifica. Un check rapido sul server o sulla workstation può essere fatto con strumenti come `localectl`, `setxkbmap` o con la configurazione dell’ambiente grafico.

localectl status
setxkbmap -query

Nel primo comando controlli il layout di sistema, nel secondo quello attivo nella sessione X11. Se sei su Wayland, `setxkbmap` può non riflettere la sessione corrente, quindi va usato solo come indicazione parziale. Il risultato che cerchi è semplice: sapere se il layout è già presente o se devi aggiungerlo come variante o definizione custom. Se il sistema non mostra il layout atteso, il problema non è nella tastiera fisica ma nella configurazione della mappa.

Per una tastiera nuova o poco comune, controlla anche l’identificativo hardware. Questo ti serve quando la disposizione dipende dal modello o quando vuoi differenziare due tastiere collegate alla stessa macchina.

lsusb
cat /proc/bus/input/devices

Se il dispositivo non compare correttamente, non ha senso lavorare sul layout: prima va risolto il layer di input. Se compare ma i tasti non corrispondono, allora sei nel caso classico di mapping errato.

Aggiungere un layout standard su Linux

Quando il layout è già supportato dal sistema, la soluzione migliore è usare gli strumenti nativi. Su sistemi con `systemd` e `localectl`, puoi impostare il layout persistente a livello di console e, in molti casi, anche come base per l’ambiente grafico. È la via più pulita quando vuoi una configurazione stabile e ripetibile.

sudo localectl set-keymap it
sudo localectl set-x11-keymap it pc105 deadtilde

Il primo comando agisce sulla console testuale, il secondo sull’ambiente X11. La parte finale, `deadtilde`, è una variante: non sempre serve, ma mostra bene il meccanismo. Se la tua distribuzione o il desktop environment ignora questa impostazione, non è un fallimento del comando: significa che il livello di gestione successivo sta sovrascrivendo il valore. In quel caso devi intervenire nel pannello grafico o nel profilo utente.

Su molte distribuzioni puoi anche usare la configurazione di XKB nel file di sistema. Il percorso cambia, ma il contenuto segue lo stesso schema: layout, modello, variante, opzioni. Un esempio tipico è questo:

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "it"
    Option "XkbModel" "pc105"
    Option "XkbVariant" "deadtilde"
    Option "XkbOptions" "compose:ralt"
EndSection

Questo approccio è utile quando vuoi centralizzare la configurazione in un ambiente gestito o in un’immagine standard. Il rovescio della medaglia è il blast radius: una modifica errata può toccare tutte le tastiere della macchina o dell’ambiente grafico. Prima di salvare, conserva sempre una copia del file originale e annota il rollback. Se stai lavorando su un server con accesso remoto, considera che una tastiera sbagliata può complicare anche solo l’inserimento di caratteri speciali nelle sessioni SSH.

Aggiungere una disposizione personalizzata con XKB

Se il layout non esiste, la via più ordinata su Linux è creare una definizione XKB personalizzata. È il caso tipico di una tastiera con simboli rimappati, un layout per una lingua minoritaria o una variante aziendale con tasti funzione aggiuntivi. Qui non stai “forzando” il sistema: stai aggiungendo una mappa coerente al catalogo dei layout.

In genere il lavoro si divide in tre parti: definizione del tipo di tastiera, simboli e opzioni. I file si trovano spesso sotto percorsi come `/usr/share/X11/xkb/` o in directory locali se vuoi evitare di toccare i file di sistema. Per esempio, puoi creare una variante nella sezione symbols e poi richiamarla con `localectl` o dal pannello del desktop.

partial alphanumeric_keys
xkb_symbols "customit" {
    include "it(basic)"
    name[Group1]= "Italiano personalizzato";
    key <AD03> { [ e, E, EuroSign, cent ] };
    key <AE02> { [ 2, quotedbl, at, dead_doubleacute ] };
    include "level3(ralt_switch)"
};

Lo snippet sopra è un esempio di struttura, non una ricetta universale. L’idea è mostrare che una disposizione personalizzata può partire da un layout esistente e cambiare solo alcuni tasti. È spesso il modo migliore, perché riduci il rischio di errori rispetto a una definizione da zero. Dopo aver creato la variante, devi rigenerare o ricaricare la mappa. Su X11 spesso basta una sessione nuova o un reload del layout; su Wayland dipende dal compositor e dal desktop environment.

Se vuoi rendere persistente la variante, imposta il layout con il nome della tua definizione. Ad esempio, se hai registrato una variante chiamata `customit`, la sessione dovrà richiamarla esplicitamente. Se non compare nelle opzioni del pannello grafico, il problema è quasi sempre uno dei seguenti: file nel percorso sbagliato, sintassi non valida, cache del desktop non aggiornata, oppure il compositor non legge quel catalogo di layout.

Impostare la tastiera dal desktop environment

Quando lavori su workstation o laptop, il pannello grafico è spesso il punto migliore per la modifica utente. È meno fragile di un file manuale e rende immediata la verifica. Su GNOME, KDE Plasma, XFCE e altri ambienti trovi di solito una sezione dedicata a lingua, input o tastiere. La logica è la stessa: aggiungi il layout, definisci la scorciatoia per cambiare disposizione e prova subito la scrittura di caratteri critici come apostrofo, accenti, parentesi e simboli AltGr.

Il vantaggio del pannello è che ti mostra subito se il layout è stato accettato. Il limite è che non sempre coincide con la configurazione di sistema. Per esempio, potresti avere una tastiera impostata correttamente nel desktop ma un login manager che usa ancora un’altra mappa. Se hai bisogno di coerenza completa, verifica anche il comportamento alla schermata di accesso e nella console testuale.

Un buon test pratico è aprire un terminale e verificare i caratteri più sensibili. Non limitarti alle lettere: prova simboli, dead key e combinazioni con AltGr. Se la disposizione è pensata per scrivere codice o amministrare sistemi, controlla in particolare slash, backslash, pipe, tilde, apici e backtick. Sono i tasti che più spesso tradiscono una configurazione sbagliata.

Configurare una tastiera nuova in una sessione remota

In ambienti remoti la tastiera introduce un problema in più: la sessione potrebbe essere locale, VNC, RDP o SSH con terminale. Se sei in SSH, il layout non si configura sul server per il client che stai usando: il server riceve già i caratteri elaborati dal tuo sistema locale. Se invece usi una sessione grafica remota, il layout va impostato nel sistema che ospita il desktop, non nel client da cui ti connetti.

Questo dettaglio evita errori classici. Per esempio, un amministratore cambia il layout sulla macchina remota pensando di correggere la tastiera del laptop locale. Il risultato è solo confusione. La verifica giusta è capire dove nasce l’input: sul client o sulla sessione remota. Se puoi digitare correttamente una password ma i simboli nel terminale risultano sbagliati, il problema è quasi sempre nel livello sbagliato della catena.

Tastiere fisiche diverse: ISO, ANSI, ABNT e varianti regionali

Quando aggiungi una nuova disposizione tasti, spesso stai anche compensando una differenza fisica tra tastiere. Una ISO europea ha un tasto in più rispetto a una ANSI americana; alcune tastiere brasiliane o latine hanno posizioni particolari per simboli e accentazione. In questi casi il layout software deve riflettere la geometria reale, altrimenti il mapping dei tasti non coincide con ciò che vedi stampato sui keycap.

La correzione può essere semplice: cambiare solo il modello hardware nel profilo XKB. In altri casi devi aggiungere opzioni come la posizione del tasto AltGr o il comportamento di Caps Lock. Non sottovalutare il modello: se il sistema pensa di avere una tastiera `pc101` mentre fisicamente è una `pc105`, alcuni tasti non cadranno mai al posto giusto.

Metodo pratico di verifica dopo la modifica

Dopo ogni cambio, fai sempre una verifica in tre livelli. Primo: controllo di configurazione, per confermare che il sistema stia leggendo il layout impostato. Secondo: prova manuale di digitazione in un editor semplice. Terzo: test con combinazioni speciali, perché è lì che emergono i problemi veri. Se uno dei tre livelli fallisce, non considerare la modifica conclusa.

localectl status
setxkbmap -query
xev

`xev` è utile su X11 per vedere il keycode e il keysym generati. Premi un tasto e controlla se il simbolo prodotto corrisponde a quello atteso. Se il tasto fisico è corretto ma il simbolo è sbagliato, hai un problema di layout. Se il tasto non genera niente, il problema è più a monte: driver, dispositivo o sessione grafica. Su Wayland, strumenti equivalenti dipendono dal compositor; in quel caso devi usare il metodo previsto dall’ambiente in uso, non forzare tool pensati per X11.

Rollback pulito quando il layout non funziona

Ogni modifica alla tastiera dovrebbe avere un rollback immediato. Se hai usato `localectl`, torna al layout precedente con lo stesso strumento. Se hai modificato un file XKB o una configurazione del desktop, ripristina il file salvato prima della modifica e ricarica la sessione. Il rollback deve essere più semplice del change, altrimenti in emergenza non lo esegui davvero.

sudo cp /path/backup/X11-keyboard.conf /etc/X11/xorg.conf.d/00-keyboard.conf
sudo systemctl restart display-manager

Il restart del display manager ha impatto sulla sessione grafica, quindi va fatto solo se necessario e con consapevolezza del blast radius: utenti disconnessi, sessioni perse, eventuali lavori non salvati. Se stai operando su una macchina condivisa, avvisa prima o pianifica una finestra di manutenzione. Su una workstation singola, il rischio è minore ma resta comunque un’interruzione del lavoro in corso.

Quando conviene usare un remapper dedicato

Un remapper dedicato ha senso quando la disposizione non è solo “lingua diversa”, ma una vera rimappatura funzionale. Se vuoi trasformare un tasto in una combinazione, creare layer multipli o cambiare il comportamento in base all’app, gli strumenti del sistema base diventano scomodi. In questi casi è più pulito usare un tool che lavori a livello di input event, con regole esplicite e profilo esportabile.

Il prezzo da pagare è la complessità operativa. Un tool esterno introduce un servizio in più, una configurazione in più e un punto di guasto in più. Prima di adottarlo, chiediti se il problema non si risolve con una variante XKB o con le opzioni del desktop environment. Se la risposta è sì, resta sullo stack nativo: è più facile da mantenere e più prevedibile tra una distribuzione e l’altra.

Checklist finale per evitare errori banali

  1. Ho capito se il cambio deve valere per sistema, utente o applicazione.
  2. Ho verificato il layout esistente con `localectl status` o con il pannello grafico.
  3. Ho distinto layout standard, variante e remap personalizzato.
  4. Ho salvato un backup o una copia del file prima di modificare configurazioni.
  5. Ho provato tasti critici, non solo lettere e numeri.
  6. Ho controllato che il login manager e la sessione grafica usino la stessa disposizione, se serve coerenza totale.
  7. Ho preparato un rollback rapido e so quale servizio o sessione verrà toccato.

In pratica, aggiungere una tastiera con una nuova disposizione tasti non è un’operazione complessa, ma è facile sbagliarla se salti il controllo del livello giusto. La parte tecnica vera non è “scrivere la configurazione”, è capire dove il sistema prende il layout e come quel valore viene sovrascritto. Se parti da lì, la modifica resta pulita, ripetibile e reversibile.