Fare düğmelerini tuşlara nasıl bağlayabilirim?


19

Dikey / yatay kaydırma için 5 düğme + 4'e sahip bir Logitech MX400 Lazer Farem var . Bunu kurmak istiyorum, böylece kaydırma tekerleğinde sağa basmak yerine Ctrl+ Tabve sol Ctrl+ Shift+ gönderecek Tab, bu da tarayıcılardaki sekmeler arasında dolaşmamı sağlayacak.

Ayrıca, orta düğmeyi yandakilerden birine yeniden eşleştirebilirsem, basmak gerçekten zor olduğu için iyi olurdu.

Başka bir bonus, şu anda hangi pencerenin etkin olduğuna bağlı olarak hangi düğmelerin ne yaptığını tanımlamamı sağlayan bir komut dosyası yazabilsem olurdu.

Kullanmayı denedim xmodmapama tuşların nasıl yeniden düzenleneceğini, anahtar sinyalleri göndermelerini değil.

Şimdiden teşekkürler.


Düğme Haritası (kullanılıyor xev):

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

Yanıtlar:


18

Xbindkeys ve xte size yardımcı olabilir.

Örneğin .xbindkeysrc dosyam şöyle görünüyor:

# 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

Bu fantastik ve genişletilebilir, çok teşekkürler
Callum Rogers

1
Almak için XTE Ubuntu 16.x üzerinde, yüklemek gerekecek xautomation gelen apt .
1111161171159459134

Bu benim sevdiğim kadar iyi çalışmıyor çünkü düğmeyi basılı tutarsam aynı şekilde çalışmıyor. Eski faremde kaydırma tekerleğinin serbestçe dönmesini sağlayan bir düğme vardı, bu da gerçekten hızlı hareket etmesini ve uzun bir şekilde ilerlemesini istiyorsanız harika. Ama benim yeni bir tane yok, bu yüzden PgUp / PgDn tuşlarına yanda iki düğme (Web tarama için geri / ileri düğmeleri olarak tasarlandıklarını düşünüyorum) bağladım. Ama eğer kaydırmaya devam etmek istersem onlara tekrar tekrar basmam lazım; Sadece onları tutamam. Düğmeyi basılı tuttuğumda tuşu basılı tutmayı nasıl sağlayabilirim?
flarn2006

5

Çözüm için herkese teşekkürler. İşte daha kusursuz / kombine bir kılavuz (Xubuntu 18.04'te yapılmıştır).

  1. Bir terminal açın (xterm / terminal / terminator gibi), root ( sudo su -) olun veya komutun önünde sudo kullanın:

    apt install xbindkeys xautomation
  2. Düğme eşlemesini kontrol edin xev, bunun için root iznine ihtiyacınız yoktur, bu nedenle root oturumundan çıkın ( exitveya) veya başka bir terminali kullanıcı olarak açın.

    xev | grep button
  3. Küçük bir pencere açılacaktır. Fareyi bu pencereye getirmeniz ve yeniden eşlemek istediğiniz düğmeye basmanız gerekir. Terminaldeki örnek bir çıkış:

    state 0x0, button 8, same_screen YES

    Bu, faremde PAGE_DOWN olarak kullanmak istediğim 2. taraf düğmesi.

    state 0x0, button 9, same_screen YES

    Bu PAGE_UP olarak kullanmak istediğim 1. (evet, sipariş tersine çevrilmiş) yan düğme.

  4. Yeniden eşlemek istediğiniz tüm düğmelere sahip olduğunuzda, küçük xev penceresini kapatabilirsiniz. Favori düzenleyicinizi açın (örneğin gedit / vi / nano) ve yapılandırma dosyasını düzenleyin.

    vi .xbindkeysrc
  5. Dosyada zaten bazı içerikler varsa, zaten bunun gibi bir bağlama olup olmadığına bakın (varsayılan olarak değil, olası değildir) ve sonunda ekleyin.

    #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

    Not: Biri düğmeye basmak ve diğeri serbest bırakmak için olmak üzere iki girişe ihtiyacınız vardır.

  6. 8 + 9 düğmeleri "Next" (PAGE_DOWN) ve "Prior" (PAGE_UP) tuşlarıyla eşlenecektir. Farklı anahtarları eşlemek istiyorsanız xev ile keysymbol'u bulabilirsiniz.

    xev | grep keysym
  7. Daha önce olduğu gibi, bir terminalde başlatın, fareyi küçük pencereye götürün ve istenen tuşa basın.

    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
  8. Kaydet ve xbindings öldürmek.

    killall xbindkeys ; xbindkeys

Artık faredeki ek yan düğmeleri kullanabilirsiniz. Ayar, bir sonraki yeniden başlatma / girişte otomatik olarak yüklenecektir. killall [...]Yukarıdaki ayarları yalnızca ayarları değiştirirseniz yeterlidir .

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.