Bagaimana cara mengikat tombol mouse ke tombol?

19

Saya memiliki Mouse Laser Logitech MX400 yang memiliki 5 tombol + 4 untuk pengguliran vertikal / horizontal. Saya ingin pengaturannya jadi daripada menggulir horizontal menekan kanan pada scrollwheel akan mengirim Ctrl+ Tabdan kiri akan mengirim Ctrl+ Shift+ Tab, yang akan memungkinkan saya untuk menelusuri tab di browser.

Juga, akan lebih baik jika saya dapat memetakan kembali tombol tengah ke salah satu yang ada di samping karena sangat sulit untuk ditekan.

Bonus lainnya adalah jika saya dapat menulis skrip yang memungkinkan saya untuk menentukan tombol apa yang bergantung pada jendela mana yang sedang aktif.

Saya sudah mencoba menggunakan xmodmaptetapi saya hanya bisa melihat cara mengatur ulang tombol, tidak meminta mereka mengirim sinyal kunci.

Terima kasih sebelumnya.


Peta Tombol (menggunakan xev):

Left        1
Middle      2
Right       3
ScrollUp    4
ScrollDown  5
ScrollLeft  6
ScrollRight 7
Backward    8
Forward     9
Callum Rogers
sumber

Jawaban:

18

The xbindkeys dan XTE dapat membantu Anda.

Misalnya file .xbindkeysrc saya terlihat seperti ini:

# close the window under the mouse cursor
"xte 'mouseclick 1' && xte 'keydown Alt_L' 'key F4' 'keyup Alt_L'"
  b:8+Release

# double click
"xte 'mouseclick 1' 'mouseclick 1'"
  b:9
lukasz
sumber
Ini luar biasa dan dapat diperluas, terima kasih banyak
Callum Rogers
1
Untuk mendapatkan xte di Ubuntu 16.x, Anda harus menginstal xautomation dari apt .
1111161171159459134
Itu tidak berfungsi sebaik yang saya suka, karena tidak berfungsi sama jika saya menahan tombol. Mouse lama saya memiliki tombol yang memungkinkan roda gulir berputar bebas, yang sangat bagus jika saya hanya ingin memulainya bergerak sangat cepat dan gulir jauh. Tapi yang baru saya tidak punya itu, jadi saya mengikat dua tombol di samping (saya pikir mereka dirancang sebagai tombol back / forward untuk menjelajah Web) ke tombol PgUp / PgDn. Tetapi saya harus menekan mereka berulang kali jika saya ingin terus menggulir; Saya tidak bisa menahan mereka begitu saja. Bagaimana saya membuatnya menahan kunci selama saya menahan tombol?
flarn2006
5

Terima kasih kepada semua orang untuk solusinya. Berikut ini adalah panduan yang lebih mudah / dikombinasikan (dilakukan pada Xubuntu 18.04).

  1. Buka terminal (seperti xterm / terminal / terminator), menjadi root ( sudo su -) atau gunakan sudo di depan perintah:

    apt install xbindkeys xautomation
  2. Periksa pemetaan tombol dengan xev, untuk ini Anda tidak perlu izin root, keluar dari sesi root (dengan exit) atau buka terminal lain sebagai pengguna.

    xev | grep button
  3. Sebuah jendela kecil akan muncul. Anda harus memindahkan mouse ke jendela itu dan menekan tombol yang ingin Anda remap. Contoh output di terminal adalah:

    state 0x0, button 8, same_screen YES

    Ini adalah tombol sisi ke-2 pada mouse saya yang ingin saya gunakan sebagai PAGE_DOWN.

    state 0x0, button 9, same_screen YES

    Ini adalah tombol sisi ke-1 (ya, urutannya terbalik) yang ingin saya gunakan sebagai PAGE_UP.

  4. Ketika Anda memiliki semua tombol yang ingin Anda remap, Anda dapat menutup jendela xev kecil. Buka editor favorit Anda (gedit / vi / nano misalnya) dan edit file konfigurasi.

    vi .xbindkeysrc
  5. Jika Anda sudah memiliki beberapa konten dalam file, lihat apakah sudah ada ikatan seperti itu (tidak mungkin, tidak secara default) dan tambahkan di akhir.

    #Pagedown press
    "xte 'keydown Next'"
    b:8
    
    #Pagedown release
    "xte 'keyup Next'"
    b:8 + Release
    
    #Pagedup press
    "xte 'keydown Prior'"
    b:9
    
    #Pageup release
    "xte 'keyup Prior'"
    b:9 + Release

    Catatan: Anda memerlukan dua entri, satu untuk menekan tombol dan satu untuk rilis.

  6. Tombol 8 + 9 akan dipetakan ke tombol "Next" (yang merupakan PAGE_DOWN) dan "Prior" (PAGE_UP). Jika Anda ingin memetakan kunci yang berbeda, Anda dapat menemukan simbol kunci dengan xev.

    xev | grep keysym
  7. Seperti sebelumnya, mulai di terminal, pindahkan mouse ke jendela kecil dan tekan tombol yang diinginkan.

    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
  8. Simpan dan bunuh xbindings.

    killall xbindkeys ; xbindkeys

Anda sekarang dapat menggunakan tombol samping tambahan pada mouse. Pengaturan akan dimuat secara otomatis pada reboot / login berikutnya. Anda hanya perlu killall [...]perintah dari atas jika Anda mengubah pengaturan.

malasa
sumber