Quiero emular el desplazamiento horizontal cuando uso mi rueda de desplazamiento (vertical) y presiono Shift.
En algunas aplicaciones (Chrom {e, ium}) esto ya funciona, pero estoy buscando una solución genérica para aplicaciones X.
Lo más cerca que llegué hasta ahora es xbindkeys+ xdotool.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
El problema es que xbindkeysparece faltar algunos eventos, y ocasionalmente un desplazamiento vertical "pasa". Esto es muy molesto. Parece que xbindkeysestá utilizando algún tipo de encuesta?
Además, no me gusta generar cientos de comandos de shell por segundo.
Tengo una pantalla pequeña y tengo que desplazarme mucho horizontalmente.
¿Cómo puedo lograr el desplazamiento horizontal genérico?
ACTUALIZAR:
Hay otra manera que hace principalmente lo que quiero con xbindkeysy xmodmap.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Cuando Shiftse mantiene presionado, los botones de puntero 4 y 5 se asignan a 6 y 7. (Los botones 4/5 son de desplazamiento vertical anterior y 6/7 para el desplazamiento horizontal). c:50Es la Shifttecla izquierda . Al soltar la tecla, se restaura la asignación de puntero predeterminada.
Esto resuelve muy bien el problema de "demasiados eventos". Sin embargo, la tecla Shift ya no funciona como modificador normal. Traté de volver a emitir los Shifteventos de prensa / lanzamiento de xdotoolesta manera:
"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
De acuerdo con xevlos Shifteventos, pero creo que ya no se reconoce como un modificador. Por ejemplo, presionar Shift+ Ano produciría una mayúscula A.