Voglio emulare lo scorrimento orizzontale quando utilizzo la rotellina (verticale) e premo Shift.
In alcune applicazioni (Chrom {e, ium}) questo funziona già, ma sto cercando una soluzione generica per le applicazioni X.
Il più vicino che ho ottenuto finora è xbindkeys
+ xdotool
.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Il problema è che xbindkeys
sembra che manchino alcuni eventi e, occasionalmente, uno scorrimento verticale "passa". Questo è molto fastidioso. Sembra che xbindkeys
stia usando una specie di polling?
Inoltre non mi piace generare centinaia di comandi di shell al secondo.
Ho un piccolo schermo e devo scorrere molto in orizzontale.
Come posso ottenere lo scorrimento orizzontale generico?
AGGIORNARE:
C'è un altro modo che fa principalmente quello che voglio con xbindkeys
e xmodmap
.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Quando Shiftsi tiene premuto, i pulsanti del puntatore 4 e 5 sono mappati su 6 e 7. (I pulsanti 4/5 indicano lo scorrimento verticale anteriore e 6/7 per lo scorrimento orizzontale). c:50
è la Shiftchiave di sinistra . Al rilascio dei tasti viene ripristinata la mappatura predefinita del puntatore.
Questo risolve bene il problema "troppi eventi". Tuttavia, il tasto Maiusc non funziona più come un normale modificatore. Ho provato a riemettere gli Shifteventi stampa / rilascio in xdotool
questo modo:
"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
Secondo xev
gli Shifteventi, ma penso che non sia più riconosciuto come modificatore. Ad esempio, premendo Shift+ Anon si produrrà maiuscole A
.