Wayland altındaki ekstra fare düğmelerini yapılandırın


10

10 düğmeli bir fare kullanıyorum (Logitech M705). X11 altında, ekstra düğmelerden birini, içindeki dosyaları değiştirerek ikinci bir orta tıklama olarak davranacak şekilde yapılandırabildim etc/X11/xorg.conf.d.

Wayland altında bu artık çalışmaz. Araştırmalarım, bir şey yapmam gerektiğini gösteriyor libinput. Bunun ortak bir sorun olacağını düşündüm ama hiçbir yerde cevap bulamadım.

Birisi fare düğmelerini nasıl yeniden eşleştireceğimizi veya neden yapılamadığını açıklayabilir mi?


Wayland'ı bir süredir kullanıyorum ve şimdiye kadar düğmeleri nasıl yeniden eşleştireceğim.
paulodiovani

Yanıtlar:


6

Wayland'i çalıştırıyorsanız düğmeleri yeniden eşleştirmek şu şekilde yapılabilir:

  1. Run xev | grep buttonfare tıklaması olayları günlüğe ve pencerede fe tıklayarak olayın numarasını almak için. Benim durumumda, orta düğme:

    state 0x10, button 2, same_screen YES
    

    ve haritaya eklemek istiyorum:

    state 0x10, button 13, same_screen YES
    
  2. Sonra xinput --listişaretçi cihazınızı çalıştırın ve bulun, benim:

    Logitech Performance MX  id=9  [slave pointer  (2)]
    
  3. xinput get-button-map 9 İadeler:

    1 2 3 4 ... 20
    
  4. xinput set-düğme-haritası:

    $ xinput set-button-map 9  1 13 3 4 .. 12 2 14 .. 20
    

NOT:9 tarafından döndürülen sayının numarasını değiştirinid=

Ve bu anahtarın davranışı tanımlanmışsa, etkinliğiniz eşlenir. Değilse, bu biraz farklı bir konudur. Wayland TBH altında, bir olayda (Xorg'larla oldukça kolay xbindkeys) bir komut yürütmenin ve bu nedenle anahtar ve fare olayının davranışını tamamen özelleştirmenin bir yolunu bulamadım .. Wayland'ın daha güvenli olmaya çalıştığına ve bu davranışı devre dışı bıraktığına inanıyorum .

Her durumda, Xorg'a kolayca geçiş yapma ve işlevselliğin tadını çıkarma fırsatınız var.


Benim için çalıştı, ama değişikliği nasıl kalıcı hale getiriyorsun? xinput set-button-mapHer yeni Wayland oturumu için
koşmalıyım

1
Evet, her seferinde çalıştırmanız gerekir. Bunu otomatikleştirmek için bunu bir komut dosyasına yerleştirebilir ve bir hizmet dosyası oluşturabilir veya bunu dağıtımınızda (/etc/rc.d/init olan sistemd tabanlı bir işletim sisteminde) başlangıçta çalıştırılan bir başlangıç ​​klasörüne koyabilirsiniz. .d /)
CermakM

Xconf dosyalarına bir seçenek koyabilirsiniz: Option "ButtonMapping" "1 2 3 ..."
le hollandais volant

Bu, yalnızca xorg giriş sürücüsünü değiştirir, Gnome Shell veya Nautilus gibi raylı kompozisyonu yerel olarak kullanan herhangi bir uygulamayı değiştirmez
Ray Foss

3

Wayland-mouse-mapper adını verdiğim küçük bir kabuk betiği + systemd birim dosyası yaptım .

alıntı mathportillo / wayland-fare-haritacı

Fare düğmelerini Wayland'deki tuş vuruşlarına eşlemek için küçük bir komut dosyası.

Faydalı şeyler için faremi ekstra düğmelerimi kendim için yaptım. Gnome kullanılarak Fedora 27'de Logitech MX Master 2S ile test edildi ve çalışıyor ve eski Logitech Performance MX'imde de çalışıyor. Muhtemelen herhangi bir Wayland ve Any Logitech fare (veya eşlemeleri düzenlerseniz herhangi bir fare) üzerinde çalışır çünkü başka hiçbir yöntem (xdotools, xbindkeys, vb.) İşe yaramadı.

Tanınan hata ayıklama olaylarından okuyarak ve tanınan aygıttan tanınan düğmeye bağlı olarak evemu kullanarak önemli olayları tetikleyerek çalışır.

Düğmeler

Bunlar sadece varsayılan ayarlardır, mousemapper.sh betiğinin başlangıcında bunları özelleştirebilirsiniz.

  • İleri: Yukarıdaki çalışma alanına git ( Super+ Page up)
  • Geri: Aşağıdaki çalışma alanına taşı ( Super+ Page down)

0

Hwdb udev kurallarını değiştirmeyi deneyin. Bu, fare düğmelerini Launch8 / F16 gibi bir klavye tuşu olarak kaydeder ve yollardaki veya diğer tüm programlardaki işlevlerini devre dışı bırakır.

# /usr/lib/udev/hwdb.d/71-mouse-local.hwdb

evdev:input:*
 KEYBOARD_KEY_90004=key_f16
 KEYBOARD_KEY_90005=key_f17

sonra kök olarak systemd-hwdb update; udevadm triggerfareyi çıkarın ve tekrar takın.

Ek sağlık kontrolü: sudo udevadm info /dev/input/by-path/*-usb-*-mouse | grep -A3 -P3 KEYBOARD_KEYveya systemd-hwdb query "evdev:input:v046dp406a*kimliği sorgulama ile ilgili ayrıntılar için kaynağa bakın.

Kaynak: https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.