Je veux émuler le défilement horizontal lorsque j'utilise ma molette de défilement (verticale) et que j'appuie sur Shift.
Dans certaines applications (Chrom {e, ium}), cela fonctionne déjà, mais je cherche une solution générique pour les applications X.
Le plus proche que j'ai obtenu jusqu'à présent est xbindkeys
+ xdotool
.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Le problème est qu'il xbindkeys
semble manquer certains événements, et parfois un défilement vertical "passe". C'est très ennuyeux. Il semble xbindkeys
utiliser une sorte de sondage?
Je n'aime pas non plus générer des centaines de commandes shell par seconde.
J'ai un petit écran et je dois beaucoup faire défiler horizontalement.
Comment réaliser un défilement horizontal générique?
MISE À JOUR:
Il y a une autre façon qui fait surtout ce que je veux avec xbindkeys
et xmodmap
.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Lorsque Shiftest maintenu enfoncé, les boutons de pointeur 4 et 5 sont mappés sur 6 et 7. (Les boutons 4/5 sont pour le défilement vertical et 6/7 pour le défilement horizontal). c:50
est la Shifttouche gauche . Lors de la libération de la touche, le mappage du pointeur par défaut est restauré.
Cela résout bien le problème des «trop d'événements». Cependant, la touche Maj ne fonctionne plus comme modificateur normal. J'ai essayé de ré-émettre les Shiftévénements de presse / communiqué avec xdotool
comme ceci:
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'; xdotool keydown Shift_L"
c:50
"xmodmap -e 'pointer = default'; xdotool keyup Shift_L"
release + shift + c:50
Selon xev
les Shiftévénements, je pense que ce n'est plus reconnu comme un modificateur. Par exemple, appuyer sur Shift+ Ane produira pas de majuscule A
.