GNU/Linux >> Belajar Linux >  >> Linux

Membuat Gerakan Mouse Menggulir Saat Tombol Tengah Ditekan?

Di Windows, saya terbiasa mengklik tombol tengah dan menawarkan opsi "gulir cepat" ke atas atau ke bawah. Bagaimana saya bisa mendapatkan perilaku ini di Linux? Saat ini tampaknya menggunakan tombol kembali pada klik tengah sebagai gantinya.

Saya menggunakan Gnome di bawah CentOS.

Jawaban yang Diterima:

Fitur Windows ini tidak pernah benar-benar masuk ke dunia Unix. Di dunia Unix, tujuan utama tombol tengah mouse adalah untuk menempelkan konten clipboard (atau lebih tepatnya, teks yang dipilih dengan mouse, yang disalin secara otomatis). Beberapa aplikasi lintas platform seperti Firefox dan Chrome yang mendukung tombol tengah mouse bergaya Linux di bawah Windows dan sebaliknya, tetapi selain itu sebagian besar aplikasi tidak mendukung pengguliran berbutir halus semacam ini.

Meskipun demikian, Anda bisa mendapatkan cukup dekat di tingkat sistem. Dimungkinkan untuk mengatur tombol mouse sehingga ketika ditekan, gerakan mouse diubah menjadi peristiwa roda. Ini adalah fitur yang sama dengan yang biasa Anda gunakan, tetapi Anda mungkin menemukan gerakan yang terputus-putus, karena aplikasi menerima peristiwa roda, yang biasanya ditafsirkan sebagai menggulir satu baris atau kolom utuh.

Untuk bermain dengan konfigurasi ini, gunakan program xinput (saya tidak tahu apakah ada antarmuka GUI untuk itu). Pertama, jalankan perintah berikut untuk melihat nama perangkat penunjuk Anda:

$ xinput --list       
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Generic USB Mouse                         id=8    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

Misalnya, pada output di atas, perangkat penunjuknya adalah Generic USB mouse . Anda dapat menjalankan perintah berikut untuk membuat daftar properti yang dapat disetel:

xinput --list-props 'Generic USB Mouse'

Kumpulan properti yang Anda cari adalah yang "Evdev Wheel Emulation". Dengan pengaturan berikut, saat tombol tengah mouse (tombol 2) ditekan, menggerakkan mouse mengirimkan peristiwa roda (4=atas, 5=bawah, 6=kiri, 7=kanan).

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5

Anda mungkin ingin mengubah parameter lain (kelembaman, batas waktu).

Terkait:Pencarian nama file duplikat yang tidak peka huruf besar-kecil?

Anda dapat menempatkan perintah-perintah ini dalam sebuah skrip. Tambahkan #!/bin/sh sebagai baris pertama, dan buat file skrip dapat dieksekusi (mis. chmod +x ~/bin/activate-wheel-emulation.sh ). Kemudian tambahkan skrip itu ke daftar perintah untuk dijalankan saat sesi Anda dimulai (gnome-session-properties memungkinkan Anda mengonfigurasinya).

Jika Anda memiliki akses root dan Anda ingin membuat perubahan untuk semua pengguna (dapat diterima di komputer rumah), lebih mudah melakukannya melalui file konfigurasi server X.org. Sebagai root, buat file bernama /etc/X11/xorg.conf.d/wheel-emulation.conf berisi pengaturan untuk driver mouse. Pengaturannya sama tetapi pengaturannya sedikit berbeda.

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Linux
  1. Tombol "bunuh Proses Terbesar"?

  2. Saya Tidak Dapat Melihat Tombol Berikutnya (Instalasi ubuntu Di Vmware)?

  3. Cegah matikan Debian saat tombol daya fisik ditekan

  1. Nonaktifkan numlock, pertahankan binding tombol tombol mouse

  2. Bagaimana cara menonaktifkan pesan Chromium tidak dimatikan dengan benar saat browser saya terbuka?

  3. Mengapa saya tidak bisa menggulir di terminal?

  1. Proses Induk Baru Ketika Proses Induk Meninggal?

  2. Kapan `relatime` Menjadi Default?

  3. libvirt:bagaimana saya bisa memulai domain saat host memulai?