IMWheel

IMWheel permet d'utiliser les boutons supplémentaires des souris en leur faisant correspondre des combinaisons de touche clavier.

Au départ, imwheel rendait possible l'utilisation des souris de la série Microsoft Intellimouse Wheel (et autres) sous XFree86 (et Xorg) avec Linux. Il fonctionne avec toutes les souris identifiées sous Linux.

La dernière version d'IMWheel est sortie en 2004 ; néanmoins il est toujours utilisable dans les versions récentes grâce au rétro-portage.

Créez le fichier ~/.imwheelrc. Recopiez-y un exemple de configuration.

Lancez ensuite dans un terminal la commande suivante :

$ imwheel -k -b "0 0 0 0 8 9" &

Cette commande :

  • (optionnel) tue le processus imwheel s'il en existe déjà un (-k)
  • récupère les évènements des touches spécifiées (non nulles) à la souris :
    • ici les touches 8 et 9 uniquement, soit les boutons précédents et suivants.
    • les autres boutons (molette vers le haut/bas, gauche/droite) ne sont pas pris en compte par imwheel mais sont toujours pris en compte par le système.

Une fois les tests effectués, si tout fonctionne, pensez à rajouter la commande que vous avez utilisé dans les applications lancées au démarrage de la session.

Pour utiliser imwheel graphiquement, entrez la commande

imwheel --config

dans un terminal et configurez vos boutons.

Attention : si vous avez un bouton 10 (extBt7), alors vous devez entrer la commande : imwheel -k -b "0 0 0 0 8 9 10" & afin qu'il soit reconnu comme extBt7 dans votre fichier de configuration

Le nom des boutons

Index Interpreté No Bouton Nom dans imwhellrc
1 Molette Haut 4 Up
2 Molette Bas 5 Down
3 Molette Gauche 6 Left
4 Molette Droite 7 Right
5 Bouton Pouce 1 8 Thumb1
6 Bouton Pouce 2 9 Thumb2
7 Bouton Extra 1 10 ExtBt7
8 Bouton Extra 2 11 ExtBt8
etc.
Il semblerait que seuls les boutons 4 à 9 soient pris en compte par imwheel car la commande imwheel -k "0 0 0 0 8 9" semble limitée. A confirmer et préciser comment utiliser les autres boutons si possible
Attention, si on associe un événement souris avec un raccourci clavier, celui-ci change si vous avez plusieurs disposition clavier. Ex : azerty/bépo

Faites une sauvegarde du fichier de démarrage de imwheel :

sudo cp /etc/X11/imwheel/startup.conf /etc/X11/imwheel/startup.backup

Éditez-le avec les droits d'administration et trouvez la ligne IMWHEEL_START=0 pour la modifiez par la suivante :

IMWHEEL_START=1

Trouvez encore la ligne #IMWHEEL_PARAMS='-b "0 0 8 9"' et modifiez-la par la suivante :

IMWHEEL_PARAMS="-k"

après modification, votre fichier devrait ressembler à ça :

  # Configuration file for setting imwheel startup parameters.
  # Set this to "1" to make imwheel start along with your X session.
  IMWHEEL_START=1
  # Specify the command line parameters to pass to imwheel.
  # Simply uncomment the bottom line, and if necessary replace
  # the default options with your own. A button spec of "0 0 8 9"
  # will grab the thumb buttons of most mice. "0 0 0 0 8 9" should
  # work for mice with a scroll wheel with two axes. Keep in mind
  # that each button number must be separated by a space.
  IMWHEEL_PARAMS="-k"

Enregistrez et fermez le fichier startup.conf.

Avec le fichier ~/.imwheelrc, imwhell remplacera les évenements qu'il reçoit par les combinaisons au clavier. Ainsi le bouton 8 deviendra inopérant s'il n'a pas de combinaison associé.

Ce problème apparait avec firefox par exemple puisque ça marche par défaut sans imwhell mais ne fonctionne plus avec imwheel si vous ne spécifiez pas un raccourci (voir le forum anglophone).

Exemple 1

Voici un exemple de la structure de ce fichier :

#Structure du fichier :
#Touche du clavier, Bouton de la souris, Résultat (touche de clavier ou événement), Répétitions
#Exemple, dans la ligne suivante:
# "Control_L, Down, Control_L|KP_Subtract, 1"
# "Control, Down" correspond a presser Control gauche et la molette de la souris vers le bas
# "Control_L|KP_Subtract": correspond a presser Control gauche et le bouton - du clavier numerique
# Ces deux actions sont associees, une fois (", 1")
#Décocher les lignes suivantes vous permettra de vérifier qu'il n'y a pas d'inversion,
#en affichant "haut", "bas", "droite", "gauche" ou "pouce",
#dans un terminal ou un fichier de texte, par exemple
#".*"
#, Up, h|a|u|t
#, Down, b|a|s
#, Left, d|r|o|i|t|e
#, Right, g|a|u|c|h|e
#, Thumb1, p|o|u|c|e
#Générique
".*"
# Zoom
Control_L, Up, Control_L|KP_Add, 1
Control_L, Down, Control_L|KP_Subtract, 1
#Précédent
None, Thumb1, Alt_L|Left, 1
#Suivant
#(si vous disposez de deux boutons latéraux, vous pouvez mettre Thumb2 à la place de Left)
None, Left, Alt_L|Right, 1
#Bouton du milieu
None, Right, Button2, 1

Ce fichier permettra d'utiliser la fonction précédent/suivant avec le pouce et le tilt droit.

La fonction bouton du milieu sera activée en cliquant avec le tilt gauche ou le bouton du milieu.

La fonction zoom est utilisée par un appui sur la touche CTRL gauche et un jeu de la molette zoom/dézoome les îcones (fonctionne très bien dans nautilus et firefox).

Note Utilisateur : une fois sur 2 lorsque je clique sur ce dernier je dérape sur le tilt gauche, du coup au lieu d'ouvrir un nouvel onglet ça me faisait revenir à la page précédente. Avec cette configuration le problème est réglé.

Exemple 2

"Nautilus"
# suivant/precedent
None,		Thumb1,	Alt_L|Left
None,		Thumb2,	Alt_L|Right
# Zoom
#Control_L,	Up,	Control_L|KP_Subtract
#Control_L,	Down,	Control_L|KP_Add

"Mozilla Firefox"
None,		Thumb1, Alt_L|Left
None,		Thumb2,	Alt_L|Right

".*"
, Up, Button4
, Down, Button5
, Thumb1, Button8
, Thumb2, Button9
Le dernier paramètre ne semble par fonctionner. Son but si ça fonctionne est de retourner les événements des boutons de souris tels qu'ils seraient survenus en l'absence d'imwhell

Exemple 3

Pour compléter et personnaliser l'utilisation de votre souris, un autre exemple de fichier .imwheelrc. On y trouve l'intégration des boutons latéraux pour bon nombre de programmes.

Merci de rajouter vos trouvailles ;-)

"aterm"
None,           Up,     Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down
Control_L,      Up,     Up
Control_L,      Down,   Down

"Xplns"
None,           Up,     Left
None,           Down,   Right
Control_L,      Up,     Up
Control_L,      Down,   Down

"kvt"
None,		Up,	Shift_L|Page_Up
None,		Down,	Shift_L|Page_Down

"Konsole"
None,		Up,	Shift_L|Page_Up
None,		Down,	Shift_L|Page_Down

"XMcd"
None,		Up,	C
None,		Down,	Shift_L|C

"XMMS_Player"
Shift_L,	Up,	Right
Shift_L,	Down,	Left

"XMMS_Playlist"
Shift_L,	Up,	Page_Up
Shift_L,	Down,	Page_Down

"xmms"
None,		Left,	Z
None,		Right,	B

"XATITV-GATOS"
None,		Down,	KP_Subtract
None,		Up,	KP_Add

"Xman"
None,		Down,	F
Shift_L,	Down,	3
None,		Up,	B

"^Firefox-bin$"
None,		Up,	Alt_L|Left
None,		Down,	Alt_L|Right

"Nautilus"
# suivant/precedent
None,		Left,	Alt_L|Left
None,		Right,	Alt_L|Right
# Zoom
Control_L,	Up,	Control_L|KP_Subtract
Control_L,	Down,	Control_L|KP_Add

"^gnome-terminal"
None,		Up,	Control_L|Page_Up
None,		Down,	Control_L|Page_Down

"Rhythmbox"
None,		Up,	Alt_L|Left
None,		Down,	Alt_L|Right

"VIM"
Shift_L,	Up,	Control_L|Y
Shift_L,	Down,	Control_L|E
#None,		Up,	Page_Up
#None,		Down,	Page_Down

"NXTerm"
None,   	Up,     Shift_L|Page_Up
None,   	Down,   Shift_L|Page_Down

Il se peut que l'interface graphique ne se lance pas avec la commande imwheel –config. Un rapport de bug existe ici.


Contributeurs :…

  • imwheel.txt
  • Dernière modification: Le 11/09/2022, 11:27
  • par moths-art