Tastiera USB Apple alluminio su PC Linux

Qualche giorno fa, ho installato sul PC del mio studio la versione 8 di Debian GNU/Linux ("jessie"), che è ancora in versione "testing", e così ho dovuto rinfrescarmi la memoria sulla configurazione del sistema. Ciò che sto per scrivere riguardo alla tastiera potrebbe tornarmi utile fra un anno o due, se non saranno cambiate troppe cose da qui al prossimo aggiornamento.

La tastiera che utilizzo con il mio PC è una Apple Aluminium USB Keyboard, modello A1243, versione italiana larga. È una tastiera con alcune particolarità, e di solito, collegandola ad un Linux appena installato, si riscontrano alcuni problemi, di cui due abbastanza seccanti:

  • il tasto a sinistra dell'1 e quello a sinistra della Z sono scambiati fra di loro (sono i tasti che generano i caratteri \, |, < e >);
  • i tasti funzione producono effetti speciali come la regolazione del volume o della luminosità del display, solamente con il tasto "fn" premuto svolgono la loro funzione naturale.

Ricordo di aver risolto questi problemi in passato nei modi più diversi: modifiche a /etc/X11/xorg.conf, opzioni di configurazione di Gnome... Più di recente, avevo fatto ricorso ad uno script che utilizzava il comando Xmodmap, perché installando nuove distribuzioni scoprivo che non c'era più un file /etc/X11/xorg.conf da modificare, e la volta dopo sparivano anche le opzioni di Gnome! Per giunta, tutti questi trucchi funzionavano solo sotto X: se mi girava di aprire una console a caratteri, trovavo di nuovo la tastiera spettinata.

La soluzione pulita c'è, e consiste nel configurare come si deve il kernel, ed in particolare il modulo hid_apple che gestisce questo modello di tastiera. Ecco quindi le ricette: siccome stiamo lavorando sulle impostazioni di sistema, tutti i comandi andranno impartiti come utente root.

Impostazione dei parametri "giusti" su un sistema già avviato (può servire per convincersi che la cura è quella giusta...):

echo 2 > /sys/module/hid_apple/parameters/fnmode
echo 0 > /sys/module/hid_apple/parameters/iso_layout

Riconfigurazione del sistema per avere i parametri corretti all'avvio:

  • creare un file /etc/modprobe.d/hid_apple.conf con il seguente contenuto: options hid_apple fnmode=2 iso_layout=0
  • Eseguire i seguenti comandi (validi per una distribuzione Debian): depmod -a
    update-initramfs -u -k all

Per finire, c'è da sistemare il tastierino numerico.

Così com'è, la tastiera è vista dal sistema come una "pc105" e funziona correttamente, anche se i tasti sono più di 105, ma il tastierino numerico offre la funzione alternativa di emulazione dei tasti movimento cursore come nei PC. Peccato che la tastiera Apple non abbia la spia "blocco numeri" che permetterebbe di sapere quale funzione sta svolgendo il tastierino! Per fortuna esiste la possibilità di fare in modo che il tastierino numerico produca sempre numeri, come è giusto che sia, dato che è da quasi trent'anni che non si trovano più in commercio tastiere prive di tasti dedicati per il movimento del cursore.

Sotto Gnome, aprire l'applicazione "strumento di personalizzazione" (gnome-tweak-tool), aprire la scheda "Digitazione" e nelle "Opzioni varie di compatibilità" selezionare "Numeric keypad keys always enter digits (as in Mac OS)".

Oltre a questo, io ho scelto di impostare alla voce "Comportamento tasto Canc su tastierino numerico" l'opzione "Tasto vecchia maniera con virgola" per battere rapidamente numeri decimali con la virgola secondo il costume italiano. Chi invece usa applcazioni che richiedono la battitura di molti numeri con il punto decimale potrà lasciare le cose come sono, o selezionare "Tasto vecchia maniera con punto".

Queste ultime due opzioni dovrebbero essere configurabili anche attraverso il file /etc/default/keyboard, e quindi funzionare anche in console o in ambienti diversi da Gnome, ma per il momento non ci sono ancora riuscito...

Ovviamente non tutto quello che ho scritto è "farina del mio sacco"; le dritte migliori le ho trovate sul blog di un certo Michael: The Apple Aluminium Keyboard under Linux.