Pertanyaan ini sudah ditanyakan tetapi tidak pernah dijawab dengan benar. Setelah izin dengan @Seth saya sekarang bertanya lagi. Ini akan memungkinkan saya untuk merespons dan mungkin memodifikasi pertanyaan lebih mudah. Pertanyaan asli dapat ditemukan di sini:
Peta Ctrl dan Alt untuk tombol ibu jari mouse
Isu:
Meskipun sangat sederhana untuk memetakan penekanan tombol apa pun ke tombol mouse yang digunakan xbindkeys
bersama dengan xdotool
atau xte
tampaknya jauh lebih bermasalah untuk memetakan kunci pengubah (misalnya ALT , CTRL , SHIFT dll) untuk itu.
Soloution terakhir harus memungkinkan ia klik CTRL + (misalnya untuk memilih beberapa entri dari daftar) hanya dengan mouse.
Beberapa pendekatan yang mungkin untuk menyelesaikan masalah ini dapat ditemukan di sini di Stack Exchange dan juga di forum terkait Linux lainnya. Tetapi tidak satu pun dari mereka yang berfungsi seperti yang diharapkan karena mengarah pada masalah lain dan efek samping.
Catatan:
Beberapa contoh di bawah ini melibatkan Guile dengan sintaks Skema dan bergantung pada .xbindkeysrc.scm
file sedangkan yang lain bergantung pada .xbindkeysrc
file dengan sintaks masing-masing. Saya sadar mereka tidak akan bekerja sama.
Selain itu, cuplikan di bawah ini xdotool
hanya mengandalkan pada tetapi saya terbuka untuk pendekatan yang melibatkan aplikasi lain seperti misalnya xte
- meskipun tampaknya keduanya mengarah pada hasil yang sama dan karena itu saya menggunakan xdotool
tindakan yang adil di sini.
Pendekatan a:
Memperbarui .xbindkeysrc
file dengan:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + b:8
Itulah yang awalnya saya coba tetapi memiliki efek samping bahwa pengubah ditahan dan tidak dapat dirilis.
Pendekatan B:
Memperbarui .xbindkeysrc.scm
file dengan:
(xbindkey '("b:8") "xdotool keydown ctrl")
(xbindkey '(release "b:8") "xdotool keyup ctrl")
(xbindkey '("m:0x14" "b:8") "xdotool keydown ctrl")
(xbindkey '(release "m:0x14" "b:8") "xdotool keyup ctrl")
Ditemukan di http://www.linuxforums.org/forum/hardware-peripherals/169773-solved-map-mouse-button-modifier-key.html dan mencoba untuk mengatasi masalah di mana pengubah ditahan (seperti dijelaskan pada pendekatan Sebuah).
Meskipun itu diperbaiki bahwa itu hanya berfungsi sebagian karena tidak mungkin untuk melakukan klik mouse lainnya saat tombol ibu jari ditekan.
Pendekatan C:
Memperbarui .xbindkeysrc
file dengan:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
Dicoba oleh OP dari pertanyaan terkait di sini di askubuntu. Jauh lebih sederhana dan lebih solid karena tidak melibatkan negara pengubah. Namun demikian masalahnya tetap ada, yaitu klik CTRL + tidak dimungkinkan.
Tampaknya itu xbindkeys
sendiri adalah masalah di sini karena mengenali klik tetapi tidak akan menjalankannya. Ini dapat diuji menggunakan xev | grep button
dan xbindkeys -v
:
Klik mouse normal sebagaimana dicatat oleh xev
akan terlihat seperti:
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
Serta untuk tombol ibu jari:
state 0x10, button 8, same_screen YES
state 0x10, button 8, same_screen YES
Tetapi ketika memiliki xbindkeys
konfigurasi di atas diaktifkan itu tidak merekam apa pun. Meskipun masuk akal untuk tombol jempol karena dipetakan ke CTRL dan karena itu bukan tombol mouse lagi aneh bahwa tombol 1 tidak direkam juga. Ini mungkin karena xbindkeys
tidak menjalankannya tetapi ia sendiri yang mengenalinya:
Button press !
e.xbutton.button=8
e.xbutton.state=16
"xdotool keydown ctrl"
m:0x0 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Button press !
e.xbutton.button=1
e.xbutton.state=20
Button release !
e.xbutton.button=1
e.xbutton.state=276
Button release !
e.xbutton.button=8
e.xbutton.state=20
"xdotool keyup ctrl"
Release + m:0x4 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Pendekatan D:
Memperbarui .xbindkeysrc
file dengan:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
"xdotool click 1"
b:1
Terlalu sederhana ... tetapi mengarah ke loop klik tanpa batas.
MEMPERBARUI:
Sementara itu saya sudah membeli Logitech G502 dan memperhatikan bahwa setelah dikonfigurasi melalui driver pada Windows tidak hanya profil itu sendiri yang disimpan pada memori perangkat tetapi penekanan tombol yang sebenarnya dilakukan oleh mouse. Itu sebenarnya memecahkan masalah saya di Linux!
Satu-satunya tikus lain yang saya ingat yang dapat melakukan itu adalah Razer Copperhead pada masa itu. Tapi saya rasa ada tikus lain yang tersedia saat ini yang dapat melakukan hal yang sama.