Per tastiera multimediale immagino abbiate capito a cosa mi riferisco, ovvero
a quella tastiera che presenta anche un set aggiuntivo di tasti per controllare
ad es., il volume dell'audio, la gestione del lettore CD o per lanciare
programmi predefiniti come il browser, la calcolatrice, o anche funzioni di
sistema come suspend, close, etc.
Farla funzionare sotto windows non rapprsenta alcun problema, dato che e'
sempre fornita con il suo corredo di driver, i casini iniziano quando la
si vuole utilizzare sotto Linux.
Quello che ho trovato io non e' il modo migliore di utilizzarla, perche'
ho semplicemente mappato certi tasti con una sequenza di altri.
Ad esempio, quando premo il tastino "WWW" e' come se premessi la sequenza
di tasti:
lynx -book
e quindi mi si apre il browser testuale lynx, ma se dovessi essere gia'
dentro un programma in esecuzione, premere tale tastino corrisponde
ad dare i comandi corrispondenti ai tasti:
"l", "y", "n", "x", " ", "-", "b", "o", "o", "k",
"INVIO"
quindi potrebbe portare a brutte conseguenze.
Immaginiamo infatti che stiamo lavorando su un programma testuale che
si aspetta ora un comando, noi digitiamo il tastino che abbiamo mappato con
"lynx -book\n" ["\n" sta per invio], e per il nostro programma la lettera
"l" corrisponde al comando deLete, quindi ci chiedera' la conferma circa
l'imminente cancellazione, e la lettera successiva passata dal tastino e'
"y", quindi e' come se dessimo una conferma. Spero di essere stato chiaro.
In poche parole, quello che per ora sono riuscito a fare e' solo abbinare
una sequenza di tasti ad un altro. Cio' sara' utile se noi per esempio
aprimo una nuova console per avviare lynx, e invece di scrivere il comando
per esteso, basta premere il corrispondente tastino.
Altro utilizzo e' mappare i 2 tastini del volume, il "+" e il "-" ad un
qualsiasi programma per la regolazione del volume che accetta nella linea
di comando le modifiche da apportare al mixer: per esempio io uso
aumix, e per abbassare il volume di 5 punti percentuali basta che
digiti
aumix -v-5
Ho quindi mappato il tastino "-" del volume a tale comando, il tastino
"+" a aumix -v+5, e per finire il tastino "mute" a aumix -v 0.
Vediamo ora come fare.
Qui illustro come mappare un solo tasto, dato che l'operazione e'
uguale per tutti. Prendo come esempio il tasto "WWW".
Per prima cosa dobbiamo trovare la sequenza di escape ad esso assegata:
/usr/bin/showkey -s
e digitare il tasto in questione.
Il risultato che vediamo apparire e' qualcosa dle tipo:
0xe0 0x32 quando lo premiamo e
0xe0 0xb2 quando lo rilasciamo
questi (32 e b2) sono i "raw scan-codes" assegnati al tasto (esadecimali).
Il passo successivo consiste nell'assegnargli un codice ("key code)":
setkeycodes e032 120
(mappare anche quando rilasciamo il tasto non ci interessa, in questo caso
ci serve solo mappare la pressione, quindi usiamo il codice 32)
Per controllare semplicemente facciamo:
getkeycodes
e verifichiamo che nella tabellina Escaped scancodes al valore 32
sia assegnato il codice 120.
Ora dobbiamo editare il file usato per la definiziuone della tastiera: nel
mio caso, il piu' generico, e' /usr/lib/kbd/keymaps/i386/qwerty/it.map,
ma per verificarlo basta verificare nel file /etc/rc.d/rc.M la chiamata
a loadkeys.
Editiamo dunque il it.map (nel caso abbiate it.map.gz, no probl,
basta decompattarlo con gzip -d it.map.gz e potete lasciarlo anche
non compresso, non cambia nulla, il loadkeys se ne accorge da solo)
e inserire alla fine le seguenti righe:
keycode 120 = F70
string F70 = "lynx -book\n"
Per rendere operativo il tutto, basta una semplice chiamata a:
loadkeys it
E ogni volta che verra' premuto il tastino "WWW" partira' magicamente
lynx :)
Nota1: questo metodo non funziona sotto X (e quindi xterm e
tutti gli altri), ma solo su console.
Nota2: per fare in modo che al riavvio successivo le impostazioni non
vadano perse, basta mettere nel file /etc/rc.d/rc.local la seguente
riga:
setkeycodes e032 120
Fine.