Saya ingin meniru pengguliran horizontal ketika saya menggunakan roda gulir (vertikal) saya dan menekan Shift.
Pada beberapa aplikasi (Chrom {e, ium}) ini sudah berfungsi, tetapi saya sedang mencari solusi generik untuk aplikasi X.
Yang paling dekat yang saya dapatkan sejauh ini adalah xbindkeys
+ xdotool
.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
Masalahnya adalah bahwa xbindkeys
tampaknya melewatkan beberapa peristiwa, dan kadang-kadang gulir vertikal "melewati". Ini sangat menyebalkan. Sepertinya xbindkeys
menggunakan semacam polling?
Saya juga tidak suka menelurkan ratusan perintah shell per detik.
Saya mendapat layar kecil dan harus banyak menggulir secara horizontal.
Bagaimana saya bisa mencapai pengguliran horizontal generik?
MEMPERBARUI:
Ada cara lain yang melakukan sebagian besar apa yang saya inginkan xbindkeys
dan xmodmap
.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Ketika Shiftditahan, tombol penunjuk 4 dan 5 dipetakan ke 6 dan 7. (Tombol 4/5 adalah pengguliran vertikal kedepan dan 6/7 untuk pengguliran horizontal). c:50
adalah tombol kiri Shift. Pada rilis kunci, pemetaan pointer default dikembalikan.
Ini menyelesaikan masalah "terlalu banyak acara" dengan baik. Namun, tombol Shift tidak berfungsi sebagai pengubah normal lagi. Saya mencoba menerbitkan kembali acara Shiftpers / rilis dengan xdotool
seperti ini:
"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
Menurut xev
para Shiftperistiwa melewati, tapi saya berpikir itu tidak diakui sebagai pengubah lagi. Misalnya, menekan Shift+ Atidak akan menghasilkan huruf besar A
.
~/.xbindkeysrc.scm
. Pada titik tertentu itu gagal, tetapi mungkin bekerja pada sistem Anda.Jawaban:
Saya menemukan solusi yang dapat diterima untuk saya.
Saya tidak menemukan cara untuk menggunakan Shiftatau tombol lain sebagai pengubah untuk memutar sumbu roda selama ditekan.
Saya sekarang menggunakan sederhana
.xbindkeysrc
dengan tombol sakelar:Skrip toggle.sh terlihat seperti ini:
Ini memungkinkan saya untuk beralih perilaku. Ketika saya menekan Alt+ X, sumbu roda mouse saya diputar, dan ketika saya menekannya lagi, itu diset ke default.
Itu seharusnya bekerja untuk saat ini.
Jika seseorang menemukan cara untuk melakukannya dengan Shift"pengubah" (sumbu mouse diputar selama ditekan), beri tahu saya.
EDIT: Karena Alt+ xadalah hotkey yang umum digunakan, saya mengubahnya menjadi:
(Saya beralih ke konfigurasi tipuan sehingga di atas harus dalam file bernama
.xbindkeysrc.scm
)Ini akan mengubah arah roda gulir dengan Ctrltombol + mouse kanan.
sumber
Anda bisa menggunakan btnx dan ini adalah alat konfigurasi gui .
Paket Ubuntu yang lebih baru dan di sini
Setelah Anda melakukan deteksi tombol pada mouse Anda menggunakan btnx-config just map "Scroll Up" bersama dengan pengubah tombol shift ke tombol x apa pun yang Anda inginkan.
sumber
Seperti yang diisyaratkan di sini , saya menginstal imwheel , kemudian dibuat
~/.imwheelrc
dengan konten berikut.Saya kemudian berlari
imwheel -b 45
di terminal. Saya menguji, dan saya belum melihat masalah diagonal terkait dengan scrolling tinggi dan xbindkeys.NB
-b 45
membatasiimwheel
untuk menangkap hanya gulir ke atas dan ke bawah, mencegahnya menghalangi (misalnya)xbindkeys
binding untuk tombol jempol.Masalah
Namun, ada beberapa masalah yang terkait dengan ini.
Control_L, Up, Control_L|Up
di~/.imwheelrc
, tapi ini tidak bekerja.imwheel
mengirimkan peristiwa roda gulir horizontal ke jendela aktif, bukan jendela di bawah kursor mouse. Ini berlawanan dengan perilaku standar roda gulir. Ini juga menunjukkan bahwa Ctrlsolusi pada poin di atas juga akan kurang optimal.imwheel
tampaknya tidak lagi dalam pengembangan. Sudah macet pada versi pra-rilis selama 10 tahun terakhir (sejak 2004).sumber