...@.@...
Linux
Altri OS
Zelda PH
Films
Real-Life
Scarica il mio Curriculum Vitae!
  
  
Sostieni il sito!
Collabora con GnuLinuxExperience
Mouse a cinque o piu tasti, farli riconoscere al sistema
[IMG xev]Seppur Xorg sia già in grado di riconoscere e far usare senza problemi i principali tasti dei mouse (sinistro, destro e rotellina) grazie al driver che incorpora, la situazione si fa piu complessa nel momento in cui viene collegato un apparecchio con un numero maggiore di pulsanti. Per utilizzare questi supporti è quindi necessario apportare delle modifiche al sistema, in particolare si tratta di installare dei particolari driver e di apportare qualche piccola modifica al file xorg.conf, situato in /etc/X11/. Prima di cominciare a seguire le indicazioni di questa pagina è bene apprendere qualche nozione preliminare, si procederà quindi con delle banali indicazioni sulla classica configurazione dei mouse a tre tasti e sulla mappatura degli stessi, quindi con l'installazione del software necessario per poi iniziare a sistemare il tutto. Seppur all'apparenza possa sembrare un procedimento lungo e noiso, in verità è molto semplice e porta via poco tempo. Se già si conosce come funziona xorg.conf è tra l'altro possibile evitare la lettura della prima parte della guida.

La configurazione di Xorg e la mappatura dei tasti
Xorg, fra le diverse funzioni che possiede, integra al suo interno la configurazione delle periferiche come tastiere, mouse e tavolette grafiche... Ovviamente nel nostro caso si dovrà analizzare la sezione relativa al mouse, la cui configurazione classica si può esservare di seguito. Lanciate dunque il comando

cat /etc/X11/xorg.conf
L'output generato sarà probabilmente molto lungo ed articolato. Fra le sezioni "InputDevice" cercate quella relativa al mouse in uso ed osservatela. Molto probabilmente sarà simile (non necessariamente identica) a questa:
Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol"		"ImPS/2"
	Option		"ZAxisMapping"		"4 5"
	Option		"Emulate3Buttons"	"true"
EndSection
Analizziamone dunque le varie voci:
  • Identifier "Configured Mouse": è semplicemente l'identificativo del mouse all'interno del file. Modificarlo in modo inadeguato significherebbe creare disagi;
  • Driver "mouse": indica quale driver si sta utilizzando per la gestione della periferica;
  • Option "Device" "/dev/input/mice": indica la posizione della periferica, in caso si utilizzino piu mouse è possibile che venga usato "mousex" (dove x è sostituito da una cifra) al posto di "mice";
  • Option "Protocol" "ImPS/2": indica il tipo di collegamento grazie al quale la periferica comunica con il pc, è possibile che venga indicato "ImPS/2" anche se il mouse è collegato alla porta USB, ma ciò è di poca rilevanza;
  • Option "ZAxisMapping" "4 5": è una voce relativa alla mappatura della rotellina, che analizzeremo meglio piu in là;
  • Option "Emulate3Buttons" "true": indica che si sta usando un mouse composto da tre tasti (per lo meno sono quelli mappati correttamente): sinistro, destro e rotellina.
Eccetto la prima, tutte queste stringhe verranno eliminate durante il procedimento descritto dalla guida, ma è bene conoscerle in modo da approfondire la comprensione di xorg.conf.

Ora passiamo a poche piccole indicazioni circa la mappatura dei tasti: essi vengono rappresentati ognuno da un numero. 1, 2 e 3 si riferiscono rispettivamente ai tasti sinistro, rotellina e destro. In aggiunta esistono poi altri due numeri che rappresentanto il movimento della rotellina: il 4 indica la rotazione della stessa verso l'alto, il 5 verso il basso.

1 (↑4) 2 (↓5) 3

I tasti aggiuntivi vengono mappati di conseguenza con i numeri 6, 7, 8 ecc...

Installazione del software necessario
I pacchetti da installare sono semplicemente due: il primo è relativo al server X e contiene i driver per la gestione del mouse, si tratta di input-evdev, mentre il secondo è xev. Input-evdev è rilasciato insieme al server X nella maggior parte delle distro, in quanto fa appunto parte di xserver-xorg, potrebbe quindi già essere installato nel vostro sistema.

Come procedere
Eccovi dunque alla parte della guida che spiega il procedimento da seguire per il completo riconoscimento del mouse, vi ricordo che di deafault i tasti laterali verranno usati per navigare avanti ed indietro fra le pagine del browser. Per prima cosa dobbiamo scoprire come evdev visualizza la periferica in questione, per farlo è necassario esplorare il file devices in /proc/bus/input/. Esso contiene diverse indicazioni, se faticate a visualizzare quelle relative al vostro mouse date il comando cat prima e dopo il collegamento del device, in modo da poter identificare facilmente quel che state cercando; sarà qualcosa di simile a questo:

I: Bus=0003 Vendor=1267 Product=0212 Version=0111
N: Name="PS/2+USB Mouse"
P: Phys=usb-0000:00:13.0-1/input0
S: Sysfs=/class/input/input11
H: Handlers=mouse1 event2 ts1 
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103
Prenderemo in considerazione solo la seconda e la quinta riga. Analiziamole velocemente:
N: Name="PS/2+USB Mouse"
È il nome del vostro dispositivo, verrà inserito in xorg.conf.
H: Handlers=mouse1 event2 ts1 
Indica l'Handler del dispositivo, la voce event comprende un numero (che per il resto del tutorial verrà indicato con x), essa dovrà esser riportata su xorg.conf.

Aprite dunque con i privilegi di root il file xorg.conf, raggiungete la sezione relativa al mouse e commentate tutte le stringhe ad eccetto dell'Identifier, ovviamente potete scegliere il vostro editor di testo preferito sostituendolo al qui indicato nano:

sudo nano /etc/X11/xorg.conf
Section "InputDevice"
	Identifier	"Configured Mouse"
#	Driver		"mouse"
#	Option		"CorePointer"
#	Option		"Device"		"/dev/input/mice"
#	Option		"Protocol"		"ImPS/2"
#	Option		"ZAxisMapping"		"4 5"
#	Option		"Emulate3Buttons"	"true"
EndSection
Aggiungete ora le righe che seguono:
        Driver          "evdev"
        Option          "Device"        "/dev/input/eventx"
        Option          "Name"          "PS/2+USB Mouse"
Quindi analizziamole:
  • Driver "evdev": indica i driver che devono essere usati per la gestione della periferica, come potete notare, non sono gli stessi di prima;
  • Option "Device" "/dev/input/event7": /dev/input/ resterà invariato, perchè lì è situata la periferica, ma questa volta non sarà piu individuata come mice o mouse, bensì con eventx, per la precisione lo stesso che avete rilevato dal precedente comando cat /proc/bus/input/devices;
  • Option "Name" "PS/2+USB Mouse": sempre dall'output dell'appena citato comando avete individuato il nome assegnato alla periferica (seconda riga), esso va indicato in questa stringa.
Il risultato finale sarà simile a questo:
Section "InputDevice"
	Identifier	"Configured Mouse"
#	Driver		"mouse"
#	Option		"CorePointer"
#	Option		"Device"		"/dev/input/mice"
#	Option		"Protocol"		"ImPS/2"
#	Option		"ZAxisMapping"		"4 5"
#	Option		"Emulate3Buttons"	"true"
        Driver          "evdev"
        Option          "Device"        "/dev/input/event7"
        Option          "Name"          "PS/2+USB Mouse"
EndSection
La configurazione di X è dunque finita, salvate il file e riavviate Xorg. Una volta che vi sarete riloggati potrete riprendere l'uso del mouse esattamente come facevate in precedenza. È dunque il momento di annotarvi il numero corrispondente ai tasti supplementari, che ora verranno correttamente riconosciuti; per farlo usere xev: una volta lanciato vi mostrerà in output il numero relativo al tasto che avete premuto una volta portato il puntatore sull'apposita finestra, che comparirà appena avviato il programma. Avrete qualcosa di simile a questo:
xev | grep button
    state 0x0, button 1, same_screen YES
    state 0x100, button 1, same_screen YES
    state 0x0, button 2, same_screen YES
    state 0x200, button 2, same_screen YES
    state 0x0, button 3, same_screen YES
    state 0x400, button 3, same_screen YES
Fatto ciò è arrivato il momento di impostare la mappatura dei tasti grazie al comando xmodmap. Potrete impostare l'ordine che preferite prendendo in considerazione ciò che avete dedotto circa il funzionamento di ogni tasto in base alle vostre esigenze, ad esempio:
xmodmap -e "pointer = 1 2 3 4 5 8 9"
o
xmodmap -e "pointer = 3 2 1 4 5 8 9"
oppure
xmodmap -e "pointer = 1 2 3 4 5 9 8"
In questo modo potrete decidere la funzione che caratterizzerà ogni tasto, ecco spiegati gli esempi:
  • classico mouse per destri, il tasto 8 corrisponde a "INDIETRO" se cliccato durante la navigazione col browser, mentre il tasto 9 corrisponde ad "AVANTI";
  • identico al primo, ma con i tasti destro e sinistro invertiti, adatto ai mancini;
  • identico al primo, ma con i tasti di navigazione invertiti.
Potete effettuare voi stessi delle prove per verificare, in questo modo comprenderete anche meglio. Ora, per rendere il tutto predefinito, dovete aggiungere la stringa pointer = 1 2 3 4 5 8 9 a .Xmodmap; ovviamente sostituirete pointer = 1 2 3 4 5 8 9 con l'ordine che avete scelto prima:
echo "pointer = 1 2 3 4 5 8 9" >> ".Xmodmap"
Avete finito, ora potrete godervi appieno il vostro mouse!
Home
Lanoiadimuu?
ProjectSymphony
Ubuntu-it
Gbarl.it
Emule-Project
Contattami!
Inprocomm IPN 2220
Supporto al wi-fi su PS3
Brother DCP-115C
Vai al blog
  
  
Per una visualizzazione corretta del sito GnuLinuxExperience consiglia
di usare
Firefox Web Browser
  
Questo sito è ottimizzato per una corretta visualizzazione da parte dei Web Browser testuali
Copyright
...@.@... gnulinuxexperience.com © 2008, tutti i diritti riservati.
Ogni contenuto del sito è di proprietà dell'autore, immagini, layouts e testi, salvo diversa indicazione, sono curati nonché realizzati dall'autore del sito stesso. 
Per maggiori informazioni circa l'utilizzo del contenuto del sito è possibile recarsi a questa pagina.
Contact: spillo_89@libero.it