# [PERIPHS] Logitech cordless desktop MX

## DuF

Bon voilà c'est simple, je cherche la meilleure solution pour pouvoir utiliser tous les boutons de ma souris (une MX700) ainsi que tous les boutons de mon clavier, surtout les boutons multimédias, et que cela fonctionne pour toutes les applications et indifféremment du WM (sachant que je n'utilise ni KDE ni gnome, mais en général c'est fluxbox ou XFCE).

J'ai testé xmms-itouch, c'est sympa mais limité à xmms, j'ai regardé différentes documentations qu'un pote m'a filé :

http://linuxlab.dk/fcl/technotes/logitech

http://kadreg.free.fr/cla/

J'ai regardé aussi : 

/usr/X11R6/lib/X11/xkb/rules/xfree86.lst

et je ne sais pas trop quel est le meilleur choix parmis les suivants et si cela est réellement utile : 

```
  ltcd          Logitech Cordless Desktop

  logicdit      Logitech Cordless Desktop iTouch

  logicdp       Logitech Cordless Desktop Pro

  logicdpa      Logitech Cordless Desktop Pro (alternate option)

  logicdpa2     Logitech Cordless Desktop Pro (alternate option2)

  logicdo       Logitech Cordless Desktop Optical

  logicfn       Logitech Cordless Freedom/Desktop Navigator

  logicdn       Logitech Cordless Desktop Navigator

  logidak       Logitech Deluxe Access Keyboard

  logiik        Logitech Internet Keyboard

  itouch        Logitech iTouch

  logiitc       Logitech iTouch Cordless Keyboard (model Y-RB6)

  logiik        Logitech Internet Keyboard

  logiink       Logitech Internet Navigator Keyboard

  itouchin      Logitech iTouch keyboard Internet Navigator

```

Donc si quelqu'un a déjà configurer la bête de manière niquel je suis preneur, pour le moment je ne sais pas trop quelle est la meilleure solution et je n'ai pas envie de tester toutes les possibilités de configuration une à une  :Smile: 

----------

## Doudou

Arf, fallait dire au pote que tu voulais le reste!   :Wink: 

Comme dit dans la doc, je me suis fait une fichier pour xmodmap :

```

doudou@doudou crcon $ cat /etc/X11/Xmodmap

!Audio

! monter le son 

keycode 176 = XF86AudioRaiseVolume

! Baisser le son 

keycode 174 = XF86AudioLowerVolume

! mute

keycode 160 = XF86AudioMute

! audio stop 

keycode 164 = XF86AudioStop

! audio prev 

keycode 144 = XF86AudioPrev

! audio next 

keycode 153 = XF86AudioNext

! audio next 

keycode 162 = XF86AudioPlay

!Autre

! Courier 

keycode 236 = XF86Mail

! Recherche 

keycode 229 = XF86Search

! Executer 

keycode 230 = XF86Start

! WEB 

keycode 178 = XF86WWW

! Standby 

keycode 223 = XF86Standby

```

Les XF86... appartienne a /usr/X11R6/lib/X11/XKeysymDB, choisie celles que tu veux du moment quelles soient explicite.

Maintenant que tu as ce fichier il faut le lancer au démarage de X :

```

doudou@doudou crcon $ cat ~/.xinitrc

exec /usr/X11R6/bin/xmodmap -e "pointer = 1 2 3 6 7 4 5" &

exec /usr/X11R6/bin/xmodmap /etc/X11/Xmodmap &

exec Eterm &

fluxbox

```

1ere ligne pour la sourie, 2eme le clavier.

Comme tu vois, j'utilise Fluxbox donc il faut également le configurer :

```

doudou@doudou crcon $ cat ~/.fluxbox/keys 

.

..

None XF86AudioPlay :execCommand xmms -t

None XF86AudioStop :execCommand xmms -s

None XF86AudioPrev :execCommand xmms -rew

None XF86AudioNext :execCommand xmms -fwd

None XF86Mail :execCommand kmail

None XF86Start :execCommand launch

None XF86WWW :execCommand MozillaFirebird

None XF86AudioRaiseVolume :execCommand aumix -v+5

None XF86AudioLowerVolume :execCommand aumix -v-5

None XF86AudioMute :execCommand logitech_mute.sh

None XF86Standby :execCommand emu-script -d no

Control XF86Standby :execCommand emu-script -d yes

```

Et voila, tu as plus de touche donc a toi d'en rajouter mais la tu as l'essentielle...quoi que, petit rajout :

```

doudou@doudou crcon $ cat /usr/bin/logitech_mute.sh

#!/bin/bash

if [ -f ${HOME}/.logitechctl ] ; then 

  aumix -v`cat ${HOME}/.logitechctl`

  rm -f ${HOME}/.logitechctl

else

  echo >${HOME}/.logitechctl `aumix -vq|awk '{print $2}'|awk --field-separator "," '{print $1}'`

  aumix -v0

fi

```

pour le mute et 

```

Section "InputDevice"

  Driver       "mouse"

  Identifier   "MX700"

  Option       "Device" "/dev/mouse"

  Option       "Protocol" "ExplorerPS/2"

  Option       "Buttons" "7"

  Option       "ZAxisMapping" "6 7"

  Option       "Resolution" "100"

  Option       "SampleRate" "800"

EndSection

```

pour XF86Config.

Voila, le clavier fonctionne bien et la sourie aussi sur les appli qui la supporte (comme sdlquake2 et mplayer).

----------

## DuF

thx mon doudou  :Wink: 

la partie avec le xmodmap et tout j'avais fait, mais en fait j'aurai aimé un truc qui fonctionne pour tous les WMs, je sais je rêve mais qui sait... et sinon avec le xmodmap ça ne fonctionne pas pour le clavier, je me demande si ça vient pas de l'USB, faudra que je teste un peu plus précisément tout ça.

----------

## knarf

En faite je me suis amusé depuis 2 jours avec tout ce qui est périphérique genre Mouse / Keyboard.

 :Arrow:  Logitech Cordless Keyboard Optical

 :Arrow:  Touche Multimédia

 :Arrow:  Programme utilisé : lineakd

Procédure d'installation :

```
ACCEPT_KEYWORDS="~x86" emerge lineakd
```

Tout simplement, par la suite, il faut savoir quel clavier on utilise évidemment. La liste des claviers est disponible grace à la commande.

```
lineakd -l
```

Personnelement j'utilise 

```
 LTCDO          Logitech Cordless Desktop Optical.
```

Ensuite créer le fichiers de config. 

```
lineakd -c LTCDO
```

Ensuite il reste juste à spécifier toutes les commandes voulues dans le ~/.lineakd/lineakd.conf.

Je vous fait parvenir le mien.

```

# LinEAK - Linux support for Easy Access and Internet Keyboards

#  Copyright (c) 2001,2002, 2003  Sheldon Lee Wen <leewsb@hotmail.co

#       and Mark Smulders <Mark@PIRnet.nl>

#  http://lineak.sourceforge.net

#

# lineakd configuration file

#

# example key configuration:

#       play    = "xmms --play-pause"

#       eject   = EAK_EJECT

#

# available special actions:

#       EAK_EJECT

#       EAK_VOLUP

#       EAK_VOLDOWN

#       EAK_MUTE

#       EAK_SLEEP

#

KeyboardType = LTCDO

CdromDevice = /dev/cdrom

MixerDevice = /dev/mixer

Screensaver = 

Favorites = 

Finance = 

Go = mozilla

Home = nautilus

Mail = evolution

Media = gmplayer

Mute = EAK_MUTE

My Sites = 

Next = xmms -f

Play = xmms -p

Previous = xmms -r

Search = 

Shop = 

Sleep = EAK_SLEEP

Social = 

Stop = xmms -s

VolumeDown = EAK_VOLDOWN

VolumeUp = EAK_VOLUP

WebBack = 

Wheelbutton = 

iTouch = 

```

Par la suite j'ai tout simplement loadé le fichier au démarrage, vous le faite suivant votre Desktop ( Window ) manager. 

Pour ma part avec gnome. Applications > Préférences de bureaux > Préférences avancées > Session sous l'onglet Programme au démarrage vous mettez lineakd. Dès maintenant vos touches multimédias fonctionnent.

Maintenant pour la souris les boutons mouse4 et mouse5 ainsi que les touches Précédent et Suivant dans mozilla qui sont d'un grand pratique. Je pars donc pour mon cas personnel, à vous de voir si c'est adaptable dans vos situations.

 :Arrow:  Logitech MX500

 :Arrow:  Bouton Mouse4&5 | Précédent , Suivant dans Mozilla.

 :Arrow:  Programme utilisé : imwheel.

Pour commencer nous emergons le programme en question.

```
emerge imwheel
```

Par la suite, nous allons regarder dans notre XF86Config-4 et modifier les bonnes valeurs.

```
Section "InputDevice"

        Identifier      "Configured Mouse"

        Driver          "mouse"

        Option          "CorePointer"

        Option          "Device"                "/dev/psaux"

        Option          "Protocol"              "ExplorerPS/2"

        Option          "Buttons"               "7"

        Option          "ZAxisMapping"          "6 7"

        Option      "Resolution"  "1200"

        #Option         "Emulate3Buttons"       "true"

        Option      "Resolution"  "1200"

        #Option         "Emulate3Buttons"       "true"

        #Option         "ZAxisMapping"          "4 5"

EndSection

```

Il faut donc avoir l'options Buttons à 7.

Ainsi que l'options ZAxisMapping changée à 6 7. Et donc par la suite dans votre .xinitrc ne pas oublier de lancer avant votre VM. Ceci reéxpliquera au xmodmap que les touches 1 2 3 4 5 sont disponibles et que par déductions les 6 7 seront pour la roulettes.

```

xmodmap -e "pointer = 1 2 3 6 7 4 5" &

```

Par la suite il va falloir configurer notre .imwheelrc qui se trouve dans l'HOME de l'$USER. Il suffit juste de mettre dans l'.xinitrc

```

".*"

None, Up, Alt_L|Left

None, Down, Alt_L|Right

```

Maintenant que notre .imwheelrc est configuré au plus simple. Un petit man imwheel ne fait jamais de mal. Je vous conseille pour finir de rajouter à votre .xinitrc le démarrage de imwheel.

A rajouté dans votre .xinitrc.

```

/usr/bin/imwheel -p -f -b "67" &

```

Voila, à chaque démarrage, votre souris sera compatible avec les chers boutons mouse4 et mouse5, qui peuvent être très utile surtout sous QuakeX. Ainis que Précédent - Suivant sous Mozilla seront dès maintenant fonctionnel.

 J'espère ne pas avoir fait d'erreur.

 A pluche

----------

## DuF

Bon j'ai pas encore attaqué la partie concernant la souris, car je suis sur la conf du clavier, et là c'est pas ça du tout....

lineakd ne se charge pas qd je veux le lancer avec xfce4, un peu embêtant, en plus j'arrive pas à trouver le clavier qui correspond au mieux, par rapport au site de logitech, ça avait l'air d'être l'internet keyboard SE USB, mais non pas du tout...

Donc pour l'instant, rien de concrêt, je continue mes tests mais ça a le donc de m'agacer un bout... pas envie d'utiliser gnome ou kde juste pour avoir les touches multimédia fonctionnelles de manière homogène.

----------

## knarf

C'est marqué quoi sous ton clavier ? le nom ?

----------

## DuF

"logitech cordless keyboard"

ça c'est le plus basique, mais vu que mon clavier à en plus de la partie multimédia les fonctions itouch, la molette, les boutons comme : email, messenger/sms, camera web, recherche, achats, favoris, accueil... j'aurai aimé un truc plus proche de ce qu'il est réellement.

Je continu mes tests, je vérifie aussi que ça ne rentre pas en conflit avec d'autres configs précédentes que j'ai pu faire et sinon je n'arrive pas à loader lineakd avec xfce4, j'ai mis une ligne du type : 

```
lineakd -f /home/user/.lineak/lineakd.conf
```

dans mon ~/.xinitrc mais ça bloque le lancement de startxfce4, faudrait que je vois ce que fais ce script "startxfce4" afin d'être sûr qu'ils ne rentrent pas en conflit, en fait pas mal de chose à vérifier....

Mais je persiste car les boutons sont vraiment pratiques je trouve.

----------

## DuF

Bon ça avance, en fait j'avais foiré sur le copier coller du path vers le fichier de conf.... la boulette quoi  :Smile: 

là ça fonctionne pour la partie multimédia, c'est déjà ça, pas eu le temps de conf le reste mais a priori avec lineakd ça va le faire sans souci, je verrai pour le reste plus tard en tenant informé du bon avancement de la chose et ensuite de la souris.

Merci knarf.

----------

## knarf

Arf j'avais pas vu que tu avais réussi  :Wink: . Content pour toi

----------

## arlequin

Pour le clavier :

```
emerge hotkeys
```

Tout simplement...   :Wink: 

C'est ce que j'utilise (apparement j'ai le même clavier que toi), et c'est totalement indépendant de WM. Faut juste XFree   :Laughing: 

----------

## DuF

Le truc qui m'a un peu embêté avec hotkey c'est qu'il n'a pas été mis à jour depuis fin 2002, donc c'est pour ça que je voulais voir si il n'y avait pas mieux actuellement, avec lineakd là ça a l'air pas mal du tout, c'est juste dommage que les touches play/pause, stop, next, previous on ne puisse pas les faire fonctionner pour plusieurs applications différentes...

Mais c'est déjà bien  :Smile: 

----------

## knarf

Ah oui très juste, je n'y avais pas penser vu que mes besoins n'allait pas plus loin que l'xmms. Si il existe une solution meilleur je suis preneur.

----------

## DuF

Il me semble que pour gnome notamment, acme permet cela, en fait les progs qui vont utiliser gnome vont pouvoir être pilotés par acme, une sorte de couche entre gnome et les progs permettant à ceci de recevoir les commandes du clavier.

Peut être arlequin pourrait nous indiquer si avec hotkeys cela lui est possible et de toute façon tout autre information est la bienvenue. Si jamais de ma part je trouve une solution ultime, j'en ferai part, mais bon j'ai comme un gros doute  :Smile: 

----------

## DuF

Alors en ce qui concerne la souris, j'ai fait comme doudou et knarf pour la config sous X, pour mon [g]~/.imwheelrc[/g]

```
".*"

None, Up, Alt_L|Left,1

None, Down, Alt_L|Right,1

"^Mozilla.*"

None, Up, Alt_L|Left,1

None, Down, Alt_L|Right,1

```

En fait j'ai trouvé ça suite à un post concernant le fait que précédent et suivant ne fonctionne pas avec mozilla compilé en gtk2, effectivement c'est le cas, j'ai testé même avec ça ça ne fonctionne pas non plus, pas étonnant vu que c'est la même chose  :Smile: 

Je vais donc continuer à chercher, le man d'imwheel à l'air bien foutu, j'espère trouvé.

Sinon faut que je teste aussi le protocole de la souris défini dans /etc/X11/XF86Config car quand je test avec "xev" pour lui les boutons 4 et 5 sont les mêmes que 2 et 3. Est-ce que quelqu'un parmis vous a tester et est-ce que chez lui c'est pareil, ou non ?

----------

## knarf

En faite, dans mon Mini-Howto c'est pas vraiment comme ca que je fais personnelement que WM utilises-tu ? Si gnome, je saurais te guider.

----------

## DuF

J'utilise Xfce4 ou fluxbox, ça dépend de l'humeur  :Smile: 

----------

## knarf

Parce que en faite le truc c'est que personnelement à la place de l'.xinitrc j'ai créé un .load que je load grace au menu de gnome qui me permet de lancer des trucs au démarrage. Mais je sais pas comment ca se passe pour d'autre WM

----------

## knarf

Je resposte parce que c'est la journée des postes,

plus simplement :

Mon fichier qu'il faut loader au démarrage .load

```

knarf@gentooknarf knarf $ cat .load 

xmodmap -e "pointer = 1 2 3 6 7 4 5" 

/usr/bin/imwheel -p -f -b "67" 

```

Mes lignes dans mon XF86Config-4

```

        Driver          "mouse"

        Option          "CorePointer"

        Option          "Device"                "/dev/psaux"

        Option          "Protocol"              "ExplorerPS/2"

        Option          "Buttons"               "7"     

        Option          "ZAxisMapping"          "6 7"

        Option      "Resolution"  "1200"        

        #Option         "Emulate3Buttons"       "true"

        #Option         "ZAxisMapping"          "4 5"

```

Et pour finir mon .imwheelrc

```

knarf@gentooknarf knarf $ cat .imwheelrc 

".*"

None, Up, Alt_L|Left

None, Down, Alt_L|Right 

```

En fait c'est tout ce que tu as besoin, pour faire fonctionner, maintenant j'ai une MX500 je ne sais pas ce qu'il en est de la tienne.

----------

## arlequin

En fait, malgrès le fait qu'hotkeys n'est pas de la première fraîcheur, il s'accouple à merveille avec xmms. Bon, ceci avec la config de base.

Ceci dit, tu ne peut pas associer une touche à plusieurs applis, c'est-à-dire faire fonctionner la touche 'Play' avec Xmms et RhythmBox par exemple. Là, il faut faire un choix.

Voilà... hotkeys c'est pas mal sinon. J'ai pas cherché plus loin en fait, y a peut-être mieux. Mais comme chui pas super exigent   :Wink: 

----------

## DuF

OK, merci pour toutes les infos, je crois que je vais me limiter à la même utilisation que vous, en fait ça me va très bien, par contre reste la souris et les boutons supplémentaires... qui pour l'instant font la même chose que les boutons 2 et 3.

----------

## DuF

Pour information, la configuration la plus proche de mon clavier que j'ai trouvé avec lineakd est : 

```
LTCED          Logitech Cordless Elite Duo
```

Il me reste quelques touches qui ne fonctionnent pas (sms, webcam...) mais cela est peut être du à ma configuration du clavier sous XF86Config qui est foireuse ainsi que le ~/.xmodmaprc que je charge qui n'est peut être pas très bien adapté, je vérifierai ça.

Sinon petite incohérence, dans le fichier /etc/lineakkb.def le keycode pour la touche Media est de 129, qd je vérifie avec xev j'obtiens bien 129, pourtant elle n'a pas l'air de réagir... c'est la seule incohérence que j'ai noté.

----------

## deurk

Dis-moi mon cher DuF, j'ai une question parallèlle...

Comment as-tu fait pour que ton clavier et ta souris fonctionnent en USB? Ca m'intéresse grandement.

J'ai essayé de compiler dans mon noyau les options dans input core support / keyboard et mouse, et dans USB, j'ai compilé USB support , USB filesystem, et le USB PIIX machin chose...

Mais chou blanc au reboot quand je rebranche mon bazar sur USB...

(Je suis KC  :Twisted Evil: )

Peux-tu me détailler ton fonctionnement?

Thanks  :Wink: 

----------

## DuF

Les modules pour le clavier et la souris sont keybdev et mousedev qui sont à valider dans la section "input core support".

Pour l'USB plus spécifiquement j'ai :

```
 x x                      <*> Support for USB                                                                              

x x                      --- Miscellaneous USB options                                                                    

 x x                      [*]   Preliminary USB device filesystem                                                          

  x x                      --- USB Host Controller Drivers                                                                  x x   

  x x                      < >   EHCI HCD (USB 2.0) support (EXPERIMENTAL)                                                  x x   

  x x                      <*>   UHCI Alternate Driver (JE) support                                                         x x   

  x x                      < >   OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support                                          x x   

  x x                      --- USB Human Interface Devices (HID)                                                            x x   

  x x                      <M>   USB Human Interface Device (full HID) support                                              x x   

  x x                      [*]     HID input layer support                                                                  x x   

  x x                      [*]     /dev/hiddev raw HID device support                                                       x x   
```

Il faut aussi le module "input.o" comme indiqué dans l'aide de l'HID, sinon j'ai pas tout mis en module parce que sur certains noyaux j'avais des soucis pour compiler ces modules et comme je change souvent de noyau mais que je repars toujours du même fichier .config j'ai fait ainsi pour pas me casser la tête.

Je rappelle qu'avoir le clavier en USB empêche par exemple au démarrage sous grub de pouvoir l'utiliser  :Wink: 

----------

## deurk

 *DuF wrote:*   

> Je rappelle qu'avoir le clavier en USB empêche par exemple au démarrage sous grub de pouvoir l'utiliser 

 

Quelle tristesse... mais c'est pourtant le seul moyen avec un combo clavier/souris d'avoir sa souris en USB non?

Peut-être en activant le controle du clavier par le BIOS ca permet de l'utiliser ave GRUB avant que l'OS prenne le relai... je testerais si deja ca marche sous Gentoo...

----------

## DuF

 *deurk wrote:*   

> Quelle tristesse... mais c'est pourtant le seul moyen avec un combo clavier/souris d'avoir sa souris en USB non?

 

Euh pas forcément, j'ai pas trop lu la doc de mon combo en détail, mais il est possible de brancher l'un sur le PS2 et l'autre sur l'USB même si ils conseillent de ne pas le faire (est-ce pour ne pas être embêté à l'installation pour les utilisateurs sous windows pour qui il est normal que cela soit simple alors que nous on essaie de tester différentes solutions...).

 *deurk wrote:*   

> Peut-être en activant le controle du clavier par le BIOS ca permet de l'utiliser ave GRUB avant que l'OS prenne le relai... je testerais si deja ca marche sous Gentoo...

 

Etant possesseur d'une machine relativement ancienne (duron850) et d'une CM plutôt merdique  :Smile:  et surtout d'un chipset VIA qui m'a souvent causé des problèmes avec l'USB, j'ai pas cherché à touché au BIOS (déjà eu du mal à trouver le rêglage pour que l'USB fonctionne correctement...) donc je fais en sorte de penser à modifier GRUB en conséquence si j'ai besoin avant de reboot, sinon j'ai un clavier ps2 poussiéreux que je peux sortir dans les cas extrêmes.

----------

## deurk

Pour ma part, dans le BIOS j'ai l'option:

Clavier USB controllé par BIOS/OS

Souis USB controllée par BIOS/OS

En mettant les 2 sur BIOS, au moment du boot de GRUB, c'est le BIOS qui me gère le clavier, et ensuite l'OS le reprend...

En gros tout marche NICKEL   :Very Happy:   :Very Happy:   :Very Happy: 

C'est cool, merci de ton aide.

----------

