Saya menggunakan mouse 10 tombol (Logitech M705). Di bawah X11, saya dapat mengkonfigurasi salah satu tombol ekstra untuk berperilaku sebagai klik tengah kedua dengan memodifikasi file di etc/X11/xorg.conf.d
.
Di bawah Wayland, ini tidak lagi berfungsi. Penelitian saya menunjukkan bahwa saya perlu melakukan sesuatu libinput
. Saya pikir ini akan menjadi masalah umum tetapi tidak dapat menemukan jawaban di mana pun.
Adakah yang bisa menjelaskan cara memetakan kembali tombol mouse atau menjelaskan mengapa itu tidak bisa dilakukan?
Jawaban:
Mengganti tombol jika Anda menjalankan Wayland dapat dilakukan seperti ini:
Jalankan
xev | grep button
untuk mencatat peristiwa klik mouse dan mendapatkan nomor acara dengan mengklik di jendela. Dalam kasus saya, tombol tengah adalah:dan saya ingin memetakannya di:
Kemudian jalankan
xinput --list
dan temukan perangkat penunjuk Anda, milik saya adalah:xinput get-button-map 9
pengembalian:set-tombol-peta xinput:
CATATAN: ganti nomor
9
untuk nomor yang dikembalikan olehid=
Dan jika perilaku kunci itu ditentukan, acara Anda dipetakan. Jika tidak, itu masalah yang sedikit berbeda. Di bawah Wayland TBH saya belum menemukan cara untuk mengeksekusi perintah pada suatu acara (yang cukup mudah dengan Xorg's
xbindkeys
) dan karena itu sepenuhnya menyesuaikan perilaku acara kunci dan mouse .. Saya percaya Wayland berusaha lebih aman dan menonaktifkan perilaku ini .Bagaimanapun, Anda masih memiliki kesempatan untuk beralih ke Xorg dengan cukup mudah dan menikmati fungsionalitasnya.
sumber
xinput set-button-map
untuk setiap sesi Wayland baru ...Option "ButtonMapping" "1 2 3 ..."
Saya membuat skrip shell kecil + file systemd unit yang saya sebut wayland-mouse-mapper .
kutipan mathportillo / wayland-mouse-mappersumber
Coba ubah aturan hwdb udev. Ini mendaftarkan tombol mouse sebagai tombol keyboard seperti Launch8 / F16 dan menonaktifkan fungsinya di semua program, wayland atau yang lainnya.
kemudian sebagai root
systemd-hwdb update; udevadm trigger
dan cabut mouse kemudian pasang kembali.Pemeriksaan kewarasan tambahan:,
sudo udevadm info /dev/input/by-path/*-usb-*-mouse | grep -A3 -P3 KEYBOARD_KEY
atausystemd-hwdb query "evdev:input:v046dp406a*
minta seperti itu, lihat sumber untuk detail tentang cara menarik id.Sumber: https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/
sumber