Una volta la tastiera sotto X era configurata dall'amministratore editando a mano l'apposita sezione del file di configurazione del server. Se un utente aveva desideri particolari, si faceva un suo file .Xmodmap nella home con le personalizzazioni del caso.
Oggi, con l'avvento degli ambienti desktop (io parlo di GNOME, ma altri sistemi hanno meccanismi simili), la configurazione della tastiera è vista come una preferenza dell'utente: c'è una comoda GUI per settarla e ci pensa gconf a tenerla archiviata e a far sì che sia caricata all'avvio.
La GUI permette all'utente di scegliere il layout e di attivare alcune opzioni da una lista predefinita, ad es. come funziona il Blocco Maiusc, se l'Alt di destra deve copiare quello di sinistra, cosa farsene del tasto Menù, ecc.
Ma se uno ha delle esigenze diverse, se vuole per esempio disabilitare il tasto Bloc Num che continua a premere per sbaglio, o rimappare quegli utilissimi tasti come ç e § o ancora finalmente trovare un degno uso per il tasto Ins... in questi casi come si fa?





sicuramente questo metodo farà al caso tuo; è quello che ho usato per convincere X a vedere la rotella del volume del mio portatile, letta da xev come tasti 174 e 176 [che sono poi i codici "normali" per le rotelline, ma a saperlo prima..]
ecco la base: X memorizza ogni tasto con un codice, detto [indovina] Keycode.
Alla N corrisponde il keycode 57, alla x il 53, alla p il 33 ecc. ecc.
Per conoscere il keycode di un tasto qualunque si può usare il programma da terminale "xev", veramente molto intuitivo, ma per la necessità del topic forse eccessivo.
Per conoscere in un solo momento i keycode di tutti i tasti basta dare da terminale il comando:
xmodmap -pkementre con
xmodmap -pke > 'lista keycode'otteniamo un file di testo più comodamente consultabile della finestra del terminale.
Il tasto ò/ç sulla mia tastiera è il 47; verosimilmente lo è su tutte le tastiere.
Dato che io uso in X i layout di tastiera italiana, tedesca e statunitense il comando per quel tasto mi dà:
keycode 47 = ograve ccedilla odiaeresis Odiaeresis at dead_cedilla dead_doubleacute dead_doubleacute semicolon coloncioè indica, nell'ordine, i risultati di:
- pressione del tasto con tastiera italiana = ò
- pressione con maiusc = ç
- pressione con tastiera tedesca = ö
- pressione con tastiera tedesca + maiusc = Ö
- pressione con italiana + alt gr = @
- pressione con italiana + alt gr + maiusc = ¸ [è un "dead", cioè se premi alt gr + maiusc + ò non succede nulla, se subito dopo premi la s ottieni una ş]
- pressione con tedesca + alt gr = ˝
- pressione con tedesca + alt gr + maiusc = ˝
- pressione con americana = ;
- pressione con americana + alt gr = :
La tastiera americana non supporta il tasto compose, per cui premere il tasto alt gr è inutile, non permette di inserire caratteri aggiuntivi
con un solo layout di tastiera, la riga apparirebbe
keycode 47 = ograve ccedilla at dead_cedillacioè: tasto -- tasto + maiusc -- tasto + alt gr -- tasto + maiusc + alt gr
facciamo l'ipotesi di voler mettere una bella e utilissima [ma non in linux, in effetti, dove basta usare il caps lock..] Ò al posto della ç ed una & sopra alla @, al posto della ¸
a tal fine basterebbe usare il comando xmodmap -e [.....] per ogni tasto che si vuole modificare, ma così si rischierebbe di perdere il controllo di quali tasti si sono modificati, quindi meglio scrivere le modifiche in un solo file; nel nostro caso:
keycode 47 = ograve Ograve at sterling<br />..... [altre modifiche]salviamo il file per esempio col nome Xmodificato47
per scrupolo salviamo la configurazione precedente del tasto in un altro file, diciamo Xoriginale47
dando da terminale - nella cartella in cui il file è salvato - il comando:
xmodmap Xmodificato47si può verificarne immediatamente l'effetto
una volta riavviato X si tornerà alle impostazioni originali, ma nel caso si volesse ritornarci subito [download o videochiamata in corso, schiribizzo, ...], basterà ripristinarle col comando
xmodmap Xoriginale47se le impostazioni piacciono si può mettere il comando all'avvio della sessione in mille modi, per esempio creando un lanciatore [eseguibile] che punti ad esso e mettendolo nella cartella ~/.config/autostart ...
con questo criterio si possono rimappare i tasti anche se si usano due o più layout di tastiera
il tasto bloc num è uno come tutti gli altri, dotato di un keycode proprio che risulterà dal xmodmap -pke
per disabilitarlo basta con lo stesso principio rimuovere dal tasto la sua funzione..
nonostante io non lo veda sulla mia tastiera, bloc num mi viene mappato come
keycode 75 = F9 XF86_Switch_VT_9<br />keycode 76 = F10 XF86_Switch_VT_10<br /><b>keycode 77 = Num_Lock Pointer_EnableKeys</b>inserendo nel file Xmodifiche
keycode 47 = ograve Ograve at sterling<br />keycode 77 =<br />..... [altre modifiche]otterrei contemporaneamente la modifica del tasto ò e la disabilitazione di bloc num
per "dare un degno uso" al tasto ins invece non c'è bisogno di mettere mano a X.. se usi gnome [kde o xfce, e magari anche con altri DE/WM], potrai impostare delle scorciatoie da tastiera a tuo gusto..
per esempio io [che uso xfce] ne ho impostate tante legate al tasto windows.. ma questa è un'altra storia...