sabato 8 settembre 2007

Configurazione del mouse e dei tasti aggiuntivi

Update del 9 gennaio 2009: questo post è stato reso obsoleto da questo più recente.

Il mouse che uso assieme al portatile è il MI-2500 Optical Mouse della Trust:


Il mouse è dotato dell'indispensabile rotellina centrale, e di due tasti laterali.

Per far funzionare la rotellina centrale e riconoscere i tasti laterali a xorg, bisogna modificare il file xorg.conf in questo modo:

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mouse1"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "7"
Option "ZAxisMapping" "4 5"
EndSection

Questa configurazione è stata ottenuta effettuando degli esperimenti e verificando il risultato con il programma xev, che serve a vedere se funzionano tutti i bottoni e che codice evento forniscono.

Nel mio caso ho ottenuto la seguente mappa:

Da notare che se nel xorg.conf è presente la riga
Option "Device" "/dev/input/mice"
la rotellina centrale è mappata sui valori 4 e 5 anzichè 6 e 7; inoltre, se è impostato questo device la rotellina non funziona, sia mettendo ZAxisMapping "4 5" che "6 7".

Per capire con quali /dev/input fare gli esperimenti, ho lanciato il comando
cat /dev/input/[mouse]
Se muovendo il mouse si generano caratteri spuri, vuol dire che il device è usabile.

UPDATE: Ho appena scoperto che il mouse USB viene mappato all'avvio alcune volte come /dev/input/mouse1, altre su mouse2...

Soluzione definitiva: mettere come riferimento /dev/input/mice nel file xorg.conf. (così come era all'inizio...(?))


Tasti Laterali

Innanzi tutto dobbiamo avere un'idea di cosa far fare ai tasti laterali; nel mio caso pensavo di mettere la funzionalità di ingrandimento e rimpicciolimento del font nelle pagine mostrate da Firefox.

Per poter usare in maniera utile i tasti laterali, bisogna installare imwheel.

Nel file di configurazione che imwheel installa:
/etc/X11/imwheel/imwheelrc
ho messo questa configurazione:
"^Firefox-bin$"
None,Thumb1,Control_L|KP_Subtract
None,Thumb2,Control_L|KP_Add
Questo indica a imwheel di inviare i comandi di Control++ e Control+- alla finestra comandata dall'applicazione chiamata firefox-bin. Quei comandi servono proprio ad ingrandire e rimpicciolire i font nel browser.

Inoltre nel file /etc/X11/imwheel/startup.conf ho inserito la riga:
IMWHEEL_START=1
in modo che imwheel parta automaticamente all'avvio di xorg.


UPDATE:

Ho notato che anche per altre applicazioni ha senso fare lo zoom con i tasti laterali del mouse, come ad esempio il document viewer di default di gnome evince;
ho quindi aggiunto al file /etc/X11/imwheel/imwheelrc le righe:

"^evince$"
None,Thumb1,Control_L|KP_Subtract
None,Thumb2,Control_L|KP_Add

e ho lanciato il comando imwheel -k che automaticamente riavvia il programma imwheel rendendo effettiva la nuova configurazione.

UPDATE del 6 gennaio 2009:
Purtroppo c'è un fastidioso bug che rende scomodo l'uso di imwheel, per cui è necessario trovare una soluzione alternativa (o risolvere il bug!)