aventrax
09-02-2008, 20:33
Vista la fatica che ho incredibilmente dovuto fare per configurare il mio nuovo mouse Logitech V470 bluetooth sul mio macbook (lato linux) ho deciso di scrivere due righe che riassumono la procedura da fare in Debian. Il tutto è adattabile a Ubuntu.
Il mouse ha 7 tasti, la particolarità è che la rotella si piega a destra e sinistra e possiamo associare qualsiasi funzione a questi tasti, io ho voluto fare in modo che fungessero come avanti-indietro in Firefox e nel file manager Nautilus. Cominciamo.
Innanzitutto accertiamoci di aver un kernel con supporto bluetooth, se usate quelli di default delle distro di solito siete già a posto.
Ora installiamo le utility.
# apt-get install bluez-utils
Proviamo ora a cercare il device..
# hcitool scan
Il comando sopra restituirà un indirizzo simile ad un MAC address (es. AA:00:11:22:33:BB) di una scheda di rete, scrivetevelo da qualche parte che quello è il mouse (se non avete altri dispositivi bluetooth accesi nelle vicinanze).
Proviamo dunque a connettere il mouse. Accendiamolo, e premiamo il tasto connect sotto di esso e lanciamo subito questo comando:
# hidd --connect AA:00:11:22:33:BB
Se il comando funziona non restituirà alcun output, verifichiamolo comunque così:
# hidd --show
AA:00:11:22:33:BB Logitech Bluetooth Mouse [046d:b008] connected
Da subito dovreste poter usare il mouse senza riavviare X o il SO, se così non fosse la causa è il vostro xorg.conf, ma a quello arriveremo dopo, al momento facciamo in modo che quello che abbiamo fatto sia automatico ad ogni avvio.
In /etc/default/bluetooth accertiamoci ci siano queste voci..
BLUETOOTH_ENABLED=1
HIDD_ENABLED=1
HIDD_OPTIONS="--master --connect AA:00:11:22:33:BB --server"
Ora apriamo /etc/bluetooth/hcid.conf e in fondo aggiungiamo questo
device AA:00:11:22:33:BB {
name "Logitech Bluetooth Mouse";
}
Assicuratevi che "name" sia esattamente la stringa che avete ricavato da /proc/bus/input/devices relativa al vostro mouse.
Ora passiamo alla configurazione di Xorg.
# cat /proc/bus/input/devices
[...]
I: Bus=0005 Vendor=046d Product=b008 Version=0314
N: Name="Logitech Bluetooth Mouse"
P: Phys=00:13:12:A9:52:44
S: Sysfs=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/hci0/aclaa00112233bb/input/input11
U: Uniq=AA:00:11:22:33:BB
H: Handlers=mouse2 event9
B: EV=17
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=143
B: MSC=10
Come vedete a noi interessano i parametri colorati. La stringa "Name" è quella che andava precedentemente in /etc/bluetooth/hcid.conf, e assieme alle altre serviranno ora in xorg.conf. Aggiungete una sezione "InputDevice" al vostro /etc/X11/xorg.conf :
Section "InputDevice"
Identifier "Logitech V470"
Driver "evdev"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/event9"
Option "Protocol" "evdev"
Option "Buttons" "7"
Option "Emulate3Buttons" "false"
Option "ZAxisMapping" "4 5"
# Option "Buttonmapping" "1 2 3 9 8" #non funziona con drv evdev
Option "Name" "Logitech Bluetooth Mouse"
Option "Dev Phys" "AA:00:11:22:33:BB"
EndSection
I valori da modificare sono quelli che abbiamo ricavato in precedenza da /proc/bus/input/devices, e sono ovviamente quelli colorati.Occhio al device, nel mio caso event9, cambiatelo di conseguenza per i vostri sistemi. Per far si che venga caricato questo nuovo dispositivo all'avvio di X, dovete aggiungere nella sezione ServerLayout una riga relativa al dispositivo definito sopra..
Section "ServerLayout"
[...]
InputDevice "Logitech V470"
EndSection
Ora che abbiamo configurato correttamente X, il mouse dovrebbe essere riconosciuto. Verifichiamo che sia così guardando i log di X in /var/log/Xorg.0.log, dovreste avere qualcosa di simile a questo...
(**) Logitech V470: always reports core events
(II) Logitech V470: Found 4 relative axes.
(II) Logitech V470: Configuring as pointer.
(II) Logitech V470: Found 8 mouse buttons
(II) Logitech V470: Configured 13 mouse buttons.
(**) Logitech V470: 2 valuators.
(**) Logitech V470: Configuring in Absolute mode.
(**) Logitech V470: Registering 13 buttons.
(II) Logitech V470: Init
(II) Logitech V470: On
Verifichiamo che tutti i tasti funzionino.
$ xev
Si aprirà una finestra e a terminale vedremo tutti gli input provenienti dal nostro mouse, tenendolo fermo proviamo a schiacciare tutti i tasti e verifichiamo che a ogni tasto venga scritto qualcosa di differente a terminale. Un altro modo per verificare questo è :
$ imwheel -c
Benissimo, il mouse funziona! Avviamo Firefox o Nautilus e verifichiamo che sia possibile andare avanti e indietro fra pagine o cartelle muovendo la rotella del mouse a destra e sinistra. Questa funzione via tastiera si ottiene premendo ALT+Freccia_DX/SX, non ci resta che farlo fare al mouse avvalendoci di due formidabili tools, xvkbd e xbindkeys.
In ~/.xbindkeysrc, che probabilmente non esiste oppure è vuoto, e scriveteci questo...
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
m:0x0 + b:7
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
m:0x0 + b:6
Ogni entry si compone di due righe, la prima è il comando che vogliamo sia eseguito, in questo caso ci avvaliamo di xvkbd che digiterà virtualmente ALT+FrecciaSX; la seconda è la definizione di quel qualcosa che fa eseguire il comando stesso. Nel nostro caso la pressione del tasto che abbiamo trovato prima con i comandi xev o imwheel.
Ecco fatto, ora abbiamo "bindato" al mouse una combinazione di tasti. Potete sbizzarrirvi a creare alias per qualsiasi altra cosa, ma per i nostri scopi basta questo.
Spero di essere stato utile a qualcuno.
Saluti.
Il mouse ha 7 tasti, la particolarità è che la rotella si piega a destra e sinistra e possiamo associare qualsiasi funzione a questi tasti, io ho voluto fare in modo che fungessero come avanti-indietro in Firefox e nel file manager Nautilus. Cominciamo.
Innanzitutto accertiamoci di aver un kernel con supporto bluetooth, se usate quelli di default delle distro di solito siete già a posto.
Ora installiamo le utility.
# apt-get install bluez-utils
Proviamo ora a cercare il device..
# hcitool scan
Il comando sopra restituirà un indirizzo simile ad un MAC address (es. AA:00:11:22:33:BB) di una scheda di rete, scrivetevelo da qualche parte che quello è il mouse (se non avete altri dispositivi bluetooth accesi nelle vicinanze).
Proviamo dunque a connettere il mouse. Accendiamolo, e premiamo il tasto connect sotto di esso e lanciamo subito questo comando:
# hidd --connect AA:00:11:22:33:BB
Se il comando funziona non restituirà alcun output, verifichiamolo comunque così:
# hidd --show
AA:00:11:22:33:BB Logitech Bluetooth Mouse [046d:b008] connected
Da subito dovreste poter usare il mouse senza riavviare X o il SO, se così non fosse la causa è il vostro xorg.conf, ma a quello arriveremo dopo, al momento facciamo in modo che quello che abbiamo fatto sia automatico ad ogni avvio.
In /etc/default/bluetooth accertiamoci ci siano queste voci..
BLUETOOTH_ENABLED=1
HIDD_ENABLED=1
HIDD_OPTIONS="--master --connect AA:00:11:22:33:BB --server"
Ora apriamo /etc/bluetooth/hcid.conf e in fondo aggiungiamo questo
device AA:00:11:22:33:BB {
name "Logitech Bluetooth Mouse";
}
Assicuratevi che "name" sia esattamente la stringa che avete ricavato da /proc/bus/input/devices relativa al vostro mouse.
Ora passiamo alla configurazione di Xorg.
# cat /proc/bus/input/devices
[...]
I: Bus=0005 Vendor=046d Product=b008 Version=0314
N: Name="Logitech Bluetooth Mouse"
P: Phys=00:13:12:A9:52:44
S: Sysfs=/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/hci0/aclaa00112233bb/input/input11
U: Uniq=AA:00:11:22:33:BB
H: Handlers=mouse2 event9
B: EV=17
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=143
B: MSC=10
Come vedete a noi interessano i parametri colorati. La stringa "Name" è quella che andava precedentemente in /etc/bluetooth/hcid.conf, e assieme alle altre serviranno ora in xorg.conf. Aggiungete una sezione "InputDevice" al vostro /etc/X11/xorg.conf :
Section "InputDevice"
Identifier "Logitech V470"
Driver "evdev"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/event9"
Option "Protocol" "evdev"
Option "Buttons" "7"
Option "Emulate3Buttons" "false"
Option "ZAxisMapping" "4 5"
# Option "Buttonmapping" "1 2 3 9 8" #non funziona con drv evdev
Option "Name" "Logitech Bluetooth Mouse"
Option "Dev Phys" "AA:00:11:22:33:BB"
EndSection
I valori da modificare sono quelli che abbiamo ricavato in precedenza da /proc/bus/input/devices, e sono ovviamente quelli colorati.Occhio al device, nel mio caso event9, cambiatelo di conseguenza per i vostri sistemi. Per far si che venga caricato questo nuovo dispositivo all'avvio di X, dovete aggiungere nella sezione ServerLayout una riga relativa al dispositivo definito sopra..
Section "ServerLayout"
[...]
InputDevice "Logitech V470"
EndSection
Ora che abbiamo configurato correttamente X, il mouse dovrebbe essere riconosciuto. Verifichiamo che sia così guardando i log di X in /var/log/Xorg.0.log, dovreste avere qualcosa di simile a questo...
(**) Logitech V470: always reports core events
(II) Logitech V470: Found 4 relative axes.
(II) Logitech V470: Configuring as pointer.
(II) Logitech V470: Found 8 mouse buttons
(II) Logitech V470: Configured 13 mouse buttons.
(**) Logitech V470: 2 valuators.
(**) Logitech V470: Configuring in Absolute mode.
(**) Logitech V470: Registering 13 buttons.
(II) Logitech V470: Init
(II) Logitech V470: On
Verifichiamo che tutti i tasti funzionino.
$ xev
Si aprirà una finestra e a terminale vedremo tutti gli input provenienti dal nostro mouse, tenendolo fermo proviamo a schiacciare tutti i tasti e verifichiamo che a ogni tasto venga scritto qualcosa di differente a terminale. Un altro modo per verificare questo è :
$ imwheel -c
Benissimo, il mouse funziona! Avviamo Firefox o Nautilus e verifichiamo che sia possibile andare avanti e indietro fra pagine o cartelle muovendo la rotella del mouse a destra e sinistra. Questa funzione via tastiera si ottiene premendo ALT+Freccia_DX/SX, non ci resta che farlo fare al mouse avvalendoci di due formidabili tools, xvkbd e xbindkeys.
In ~/.xbindkeysrc, che probabilmente non esiste oppure è vuoto, e scriveteci questo...
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
m:0x0 + b:7
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
m:0x0 + b:6
Ogni entry si compone di due righe, la prima è il comando che vogliamo sia eseguito, in questo caso ci avvaliamo di xvkbd che digiterà virtualmente ALT+FrecciaSX; la seconda è la definizione di quel qualcosa che fa eseguire il comando stesso. Nel nostro caso la pressione del tasto che abbiamo trovato prima con i comandi xev o imwheel.
Ecco fatto, ora abbiamo "bindato" al mouse una combinazione di tasti. Potete sbizzarrirvi a creare alias per qualsiasi altra cosa, ma per i nostri scopi basta questo.
Spero di essere stato utile a qualcuno.
Saluti.