xbindkeys
xbindkeys

Comment avec XBindKeys, assigner aux boutons de sa souris, boule de commande, télécommande, manette de jeux, un bouton, une touche de clavier ou une commande ?

Vous avez une chouette souris, une boule de commande du tonnerre ou une manette qui décoiffe. Voilà le moment d’y assigner les actions qui vous plaisent.

Installation

Avec votre gestionnaire de paquets préféré, installez ceux-ci :

xbindkeys x11-utils xdotool xautomation

Utilisation

Récupérer le numéro du bouton que vous voulez réaffecter

Pour chaque bouton que vous voulez réaffecter, vous avez besoin de récupérer son numéro fourni par votre périphérique de commande.

Dans un Terminal, lancez la commande suivante :

xev
xev
xev

Déplacez votre pointeur dans le petit carré et ne le bougez plus. Maintenant, soyez attentif, à chaque fois que vous appuierez sur un bouton, des lignes comme ci-dessous vont s’afficher. Donc appuyez sur le bouton que vous voulez réaffecter.

…
ButtonPress event, serial 38, synthetic NO, window 0x7c00001,
    root 0x6b7, subw 0x7c00002, time 338268725, (42,36), root:(913,499),
    state 0x10, button 2, same_screen YES
…

Là, il y a marqué button 2. Vous avez trouvé le numéro de votre bouton.

Réaffecter le bouton

Créez le fichier de configuration .xbindkeysrc à la base de votre répertoire personnel.

Réaffecter le bouton avec un raccourci clavier ou une touche du clavier

Dans un terminal, lancez la commande suivante :

xev | sed -ne '/^KeyPress/,/^$/p'

Une petite fenêtre s’ouvre, vous pouvez maintenant tapez sur les touches de votre clavier. Attention, toujours une touche à la fois.

Cela vous donne des lignes comme ça :

KeyPress event, serial 37, synthetic NO, window 0x7c00001,
    root 0x6b7, subw 0x0, time 340353999, (-179,207), root:(2612,654),
    state 0x10, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
"   XmbLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

Repérez là ou il y a marqué keysym à droite vous avez un code, une virgule puis le nom de la touche que vous avez tapé, ici Return car j’ai appuyé sur la touche Entrée.

Maintenant que vous avez les noms des touches, ouvrez le fichier .xbindkeysrc et copier dedans les deux lignes suivantes :

"xdotool key 'KEY-COMBINATION'"
       b:MOUSE-BUTTON-CODE

À la place de KEY-COMBINATION, mettez les noms des touches que vous venez de récupérer dans l’ordre ou elles doivent être tapé, séparé par des + et remplacez MOUSE-BUTTON-CODE par le numéro du bouton que vous voulez réaffecter.

Exemple :

"xdotool key 'Control_L+Alt_L+Down'"
       b:8

Réaffecter le bouton avec une commande

Ouvrez le fichier .xbindkeysrc et copier dedans les deux lignes suivantes :

"COMMAND"
       b:MOUSE-BUTTON-CODE

Remplacez COMMAND par la commande de votre choix et MOUSE-BUTTON-CODE par le numéro du bouton que vous voulez réaffecter.

EXEMPLE :

"firefox"
       b:8

Réaffecter le bouton avec un autre bouton

Maintenant que vous connaissez le bouton que vous voulez réaffecter, vous allez trouver par la même méthode le bouton de l’action qui vous intéresse.

Ouvrez le fichier .xbindkeysrc et copier dedans les deux lignes suivantes :

"xte 'mouseclick MOUSE-BUTTON-CODE-1'"
b:MOUSE-BUTTON-CODE-2

Remplacez MOUSE-BUTTON-CODE-1 par le numéro du bouton qui a l’action que vous souhaitez. Remplacez MOUSE-BUTTON-CODE-2 par le numéro du bouton que vous voulez réaffecter.

Démarrez XBindKeys

Une fois votre fichier xbindkeysrc enregistré, dans un terminal, tapez la commande suivante :

xbindkeys

Dans le cas où xbindkeys était en cours d'exécution, vous pouvez lui faire utiliser la nouvelle configuration en lançant dans un terminal :

killall xbindkeys
xbindkeys

Rendre les changements permanents

Avec certaines distributions, XBindKeys est automatiquement lancé au démarrage du système s'il trouve un non vide. Pour d’autres, il faut le faire à la main.

Si XBindKeys ne se lance pas automatiquement chez vous, créez un fichier .xprofile à la base de votre répertoire personnel. Mettez dedans la ligne suivante :

xbindkeys &

Je me suis servie d’un tuto en langue anglaise et d’une aide d’un utilisateur du forum Hardware.fr

Maintenant, si vous avez envie, vous pouvez aller voir mes autres tutoriels : https://ignace72.eu/tag/tutoriel