Souris Logitech MediaPlay
Configuration de la souris Logitech MediaPlay
Introduction
Voici comment configurer les boutons multimédia de la souris Logitech MediaPlay. J'ai fait cette installation avec la distribution Kubuntu 6.10 Edy Eft et un kernel 2.6.17.
Le module lmpcm_usb
D'abord, téléchargez le module "lmpcm_usb" de David Oliveira. Ensuite, le décompresser, le compiler et l'installer. À la commande sudo, entrez votre mot de pase. Évidemment, changez le nom du fichier au besoin :
$ tar zxvf lmpcm_usb-0.5.5.tar.gz
$ cd lmpcm_usb-0.5.5
$ make
$ sudo make install
Selon votre distribution, au lieu d'utiliser sudo vous pouvez aussi changer d'utilisateur pour devenir root avec la commande su :
$ su
Password:
- make install
- exit
Dans la version 0.5.5 la commande depmod est en commentaire dans le fichier Makefile, probablement une erreur du développeur. Vous devez donc la tapper manuellement :
$ sudo depmod -A
Maintenant, chargez le module pour voir s'il est bien compilé et qu'il se charge sans problème :
$ sudo modprobe lmpcm_usb
Pour voir s'il est bien chargé :
$ lsmod | grep lmpcm
lmpcm_usb 7680 0
usbcore 134912 5 usbhid,lmpcm_usb,ehci_hcd,ohci_hcd
$ dmesg | grep MediaPlay
[17179595.036000] /home/alain/src/lmpcm_usb-0.5.5/lmpcm_usb.c: v0.5.5:USB Logitech MediaPlay Cordless Mouse driver
Pour que le module lmpcm_usb soit utilisé pour gérer la souris MediaPlay, il faut qu'il soit chargé avant les modules usbmouse et usbhid. Dans la documentation de lmpcm_usb on demande d'enlever les modules usbmouse et usbhid. Le problème est qu'on peut en avoir besoin pour d'autres périphériques, par exemple le clavier Logitech G15 a besoin du module usbhid.
Pour que le module lmpcm_usb soit chargé en premier, il faut modifier le fichier modules.dep pour rendre usbmouse et usbhid dépendant de lmpcm_usb, ce qui oblige lmpcm_usb à être chargé en premier. Ici on utilise l'éditeur graphique kate ou l'éditeur texte emacs. Utilisez l'éditeur de votre choix. Dans kate, décochez l'option Retour à la ligne dynamique du menu Affichage pour plus de facilité. Vous devez modifier le fichier correspondant à la version de votre kernel, ici le 2.6.17-11.
kdesu kate /lib/modules/2.6.17-11-generic/modules.dep
ou
sudo emacs /lib/modules/2.6.17-11-generic/modules.dep
Repérez la ligne correspondant à lmpcm_usb :
/lib/modules/2.6.17-11-generic/misc/lmpcm_usb.ko: /lib/modules/2.6.17-11-generic/kernel/drivers/usb/core/usbcore.ko
et ajoutez-la aux modules usbhid et usbmouse (entre le ":" et le module usbcore) .
Avant :
/lib/modules/2.6.17-11-generic/kernel/drivers/usb/input/usbmouse.ko: /lib/modules/2.6.17-11-generic/kernel/drivers/usb/core/usbcore.ko
/lib/modules/2.6.17-11-generic/kernel/drivers/usb/input/usbhid.ko: /lib/modules/2.6.17-11-generic/kernel/drivers/usb/core/usbcore.ko
Après :
/lib/modules/2.6.17-11-generic/kernel/drivers/usb/input/usbmouse.ko: /lib/modules/2.6.17-11-generic/misc/lmpcm_usb.ko /lib/modules/2.6.17-11-generic/kernel/drivers/usb/core/usbcore.ko
/lib/modules/2.6.17-11-generic/kernel/drivers/usb/input/usbhid.ko: /lib/modules/2.6.17-11-generic/misc/lmpcm_usb.ko /lib/modules/2.6.17-11-generic/kernel/drivers/usb/core/usbcore.ko
Configuration du serveur X
Pour que le serveur X puisse utiliser les boutons multimédia, on doit d'abord changer la configuration de la souris.
Faites une copie de sauvegarde de votre fichier xorg.conf au cas où ça tournerait mal :
$ cd /etc/X11
$ sudo cp xorg.conf xorg.conf.backup
$ kdesu kate xorg.conf
Ajoutez les options suivantes :
Avant :
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
option "CorePointer"
option "Device" "/dev/input/mice"
option "Protocol" "ExplorerPS/2"
option "ZAxisMapping" "4 5"
option "Emulate3Buttons" "true"
EndSection
Section "ServerLayout"
...
InputDevice "Configured Mouse"
...
EndSection
Après :
Section "InputDevice"
Identifier "LMPCM"
Driver "mouse"
option "CorePointer"
option "Device" "/dev/input/mice"
option "Protocol" "ExplorerPS/2"
option "ZAxisMapping" "4 5 6 7"
Option "Buttons" "9"
Option "Name" "MediaPlay"
Option "Vendor" "Logitech"
EndSection
Section "ServerLayout"
...
InputDevice "LMPCM"
...
EndSection
Redémarrer
À ce point-ci un redémarrage de la machine est nécéssaire. Il faut que les modules soient chargés dans le bon ordre (changé précédemment dans le fichier modules.dep) et le serveur X doit être redémarré pour que les nouveaux paramètres soient pris en compte (changé précédemment dans le fichier xorg.conf).
On pourrait tenter de décharger les modules à la main avec rmmod et les recharger avec modprobe dans le bon ordre, mais on risquerait de se retrouver sans clavier opérationnel si on possède un clavier USB. Il faudrait ensuite fermer notre session et redémarrer le serveur X. Un redémarrage est beaucoup plus simple et va nous confirmer que tout est bien configuré.
Si par malheur vous avez fait une erreur et que ça ne démarre plus, choisissez l'option rescue mode dans le menu de Grub (menu apparaîssant au boot). Si ça ne marche pas non plus, bootez avec le CD de Kubuntu, ou tout autre Live CD et allez faire les changements nécéssaires aux fichiers de configuration.
Configuration des boutons
Pour bien configurer la souris il faut savoir que certains boutons de la souris sont perçu comme étant des boutons normaux de souris, alors que d'autres sont perçu comme des touches de clavier. Ce qui permet de leur assigner facilement une fonctions dans KDE ou Gnome.
<cadre type=note> Numéros des boutons de souris
Bouton de gauche | 1 |
Clic de la molette | 2 |
Bouton de droite | 3 |
Molette vers le haut | 6 |
Molette vers le bas | 7 |
Bouton bleu précédant | 8 |
Bouton bleu suivant | 9 |
Codes des touches de clavier
Molette vers la gauche | 233 |
Molette vers la droite | 234 |
Media | 168 |
Play / pause | 162 |
Piste suivante | 153 |
Piste précédante | 144 |
Volume + | 176 |
Volume - | 174 |
</cadre>
Il faut maintenant dire au serveur X d'utiliser tout ces beaux boutons! En plus du fichier xorg.conf, il faut exécuter un script pour faire connaître les nouveaux boutons qui sont perçu comme des touches de clavier grâce à leur keycode.
Pour connaître les keycodes et pour être certains qu'ils sont bien reconnu on peut exécuter xev et voir quel code est associé à quel bouton en appuyant sur chacun d'eux :
$ xev
...
KeyRelease event, serial 31, synthetic NO, window 0x2e00001,
root 0x75, subw 0x0, time 4143197446, (76,59), root:(79,853),
state 0x10, keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0x2e00001,
root 0x75, subw 0x0, time 4143199326, (76,59), root:(79,853),
state 0x10, keycode 168 (keysym 0x1008ff32, XF86AudioMedia), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
...
Conclusion
Maintenant que la configuration est terminée, rebootez votre ordinateur et utilisez votre souris Logitech MediaPlay! Vous pouvez aussi utiliser xev pour confirmer que tout les boutons sont bien reconnus.
--Meloman 19 fév 2007 à 04:11 (CET) Alain Rivest