Chcę emulować przewijanie w poziomie, gdy używam (pionowego) kółka do przewijania i naciskania Shift.
W niektórych aplikacjach (Chrom {e, ium}) to już działa, ale szukam ogólnego rozwiązania dla aplikacji X.
Jak dotąd mam najbliższe xbindkeys
+ xdotool
.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Problem polega na tym, że xbindkeys
wydaje się , że brakuje niektórych wydarzeń, a czasami przewija się pionowy zwój. To bardzo denerwujące. Wygląda na xbindkeys
to, że używasz jakiegoś odpytywania?
Nie lubię też odradzania setek poleceń powłoki na sekundę.
Mam mały ekran i muszę dużo przewijać w poziomie.
Jak mogę uzyskać ogólne przewijanie w poziomie?
AKTUALIZACJA:
Jest inny sposób, który robi głównie to, czego chcę z xbindkeys
i xmodmap
.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Po Shiftprzytrzymaniu przyciski 4 i 5 wskaźnika są odwzorowane na 6 i 7. (Przyciski 4/5 służą do przewijania w pionie, a 6/7 do przewijania w poziomie). c:50
jest lewym Shiftklawiszem. Po zwolnieniu klucza przywracane jest domyślne mapowanie wskaźnika.
To ładnie rozwiązuje problem „zbyt wielu zdarzeń”. Jednak klawisz Shift nie działa już jako zwykły modyfikator. Próbowałem ponownie wydać informacje Shiftprasowe / prasowe w xdotool
następujący sposób:
"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
Zgodnie xev
z Shiftwydarzeniami, ale myślę, że nie jest już rozpoznawany jako modyfikator. Na przykład naciśnięcie Shift+ Anie spowoduje wygenerowania wielkiej litery A
.