Linux

Fare Düğmelerini Klavye Tuşlarına veya Komutlarına Bağlama (X11 Kullanarak Linux)

Ekstra düğmeleri olan bir fareniz varsa, tuş kombinasyonunu gerçekleştirmek, bir program, komut veya komut dosyasını çalıştırmak için bu düğmeleri bağlayabilirsiniz. Bu yalnızca X11 kullanıyorsanız işe yarar (Wayland'da çalışmaz) çünkü bunun için kullanacağımız araçlar yalnızca X11'i desteklemektedir.

Fare düğmelerini tuş kombinasyonlarına bağlamak için aşağıdaki araçları kullanacağız:

  • xbindkeys: X’de tuşları ve fare tuşu olaylarını alan ve ilgili kabuk komutunu başlatan bir program
  • xev: X olaylarının içeriğini basan bir araç
  • xdotool: Programlı (veya elle) klavye girişi ve fare aktivitesini (ve daha fazlasını) simüle etmenizi sağlayan komut satırı X11 otomasyon aracı

Fare düğmelerini klavye tuşlarına bağlamak zorunda kalmamanız durumunda ve fare düğmelerine bağlamak istediğiniz tüm programlar, komutlar veya komut dosyalarıdır, xdotool yüklemesini atlayabilirsiniz.

1. xbindkeys, xev ve xdotool programını yükleyin.

  • Debian, Ubuntu, Linux Mint, Pop! _OS, İlköğretim İşletim Sistemi ve diğer Debian veya Ubuntu tabanlı Linux dağıtımları:
sudo apt install xbindkeys x11-utils xdotool
sudo dnf install xbindkeys xorg-x11-utils xdotool
sudo zypper install xbindkeys xev xdotool

sudo pacman -S xbindkeys xorg-xev xdotool

Diğer Linux dağıtımlarında, depolarında arama yapmanız gerekir. xdotool, xev ve xbindkeys ve onları yükleyin.

2. Fare düğmesi kodlarını alın.

Fare düğme kodlarını almak için bu komutu çalıştırın:

xev | grep button

Sonra, açılan küçük pencereye odaklanın ve terminal çıkışını izleyin. Şimdi kodu almak istediğiniz fare düğmesine basın. Butona bastıktan sonra, kodunu xev'in çalıştığı terminalde görmelisiniz;

$ xev | grep button

state 0x10, button 8, same_screen YES

Bu örnekte, daha sonra ihtiyacımız olacak düğme kodu 8.

3. Daha sonra bir fare düğmesini kullanarak göndereceğimiz tuş vuruşlarını alın (bir komutu / komut dosyasını / programı bir fare düğmesine bağlamak istiyorsanız atlayın)

Bir terminal açın ve bu komutu çalıştırın (üzerinden Ask Ubuntu):

xev | sed -ne '/^KeyPress/,/^$/p'

Bir kez daha odaklanmanız gereken küçük bir pencere açılacak. Daha sonra, klavyenizdeki tuşlara her seferinde farenize yeniden eşlemek istediğiniz tuşa basın ve terminaldeki xev komut çıkışını izleyin.

Örneğin bağlamak istiyorsanız Ctrl + Alt + Up fare düğmesine basın Ctrl, sonra Alt ve sonunda Up. Benim durumumda bu çıkış xev bu 3 tuşa basıldığında (ilki içindir Control_L veya Sol Kontrol tuşu, ikinci Alt_L veya Alt, soldan üçüncü Up:

KeyPress event, serial 33, synthetic NO, window 0x2200001,
    root 0x1eb, subw 0x0, time 6741696, (46,-37), root:(728,598),
    state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x1eb, subw 0x0, time 6743289, (46,-37), root:(728,598),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x1eb, subw 0x0, time 6744780, (46,-37), root:(728,598),
    state 0x10, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Anahtar kodunu, keysim veya anahtarın adını not alın. 3'ün herhangi birini kullanabilirsiniz; yukarıdaki ilk anahtar için kullanabilirsiniz 37, 0xffe3veya Control_L. Bu makalede, anahtar adını kullanacağım (ör. Control_L sol kontrol tuşu için) kolay okunur çünkü.

Ayrıca, xbindkeys tuşlarını da kullanabileceğinizi belirtmek gerekir (xbindkeys -k), ancak tüm aktif anahtarları okur, böylece bazı durumlarda kafa karıştırıcı olabilir; eğer varsa Caps_Lock veya Num_Lock vb, bu yüzden kişisel olarak xev'i bu görev için kullanmayı tercih ediyorum.

ne xed ne de xbindkeys -k multimedya tuşları için tuş kodlarını / klavye sembollerini gösterecektir. Multimedya tuşlarını fare düğmelerine yeniden eşlemek isterseniz, bu tür klavye simgelerinin listesini bu bağlantıyı ziyaret.

Fare ile ilgili makale: Ubuntu 18.04 Veya 19.10'da (Gnome) Fare Hızlandırmasını Nasıl Devre Dışı Bırakabilirsiniz.

4. xbindkeys yapılandırmasını oluşturun (içinde ~/.xbindkeysrc).

Bir boş oluşturabilirsiniz ~/.xbindkeysrc bu komutu kullanarak dosya oluşturun veya örnek bir yapılandırma dosyası oluşturun:

xbindkeys -d > ~/.xbindkeysrc

Sonra aç ~/.xbindkeysrc En sevdiğiniz metin editörü ile. Bunu not et .xbindkeysrc Giriş dizininizde gizli bir dosya olduğundan, tuşuna basmanız gerekir. Ctrl + h (gizli dosya ve klasörleri göstermek için) dosya yöneticinizde görmek için.

Fare düğmesini tuş kombinasyonuna bağlamak için, sonunda aşağıdakileri yapıştırın. ~/.xbindkeysrc dosya (zaten bazı anahtar bağlantıları içerebilir, örnek yapılandırmayı içerebilir veya boş olabilir – farketmez):

"xdotool key 'KEY-COMBINATION'"
       b:MOUSE-BUTTON-CODE

Nerede:

  • KEY-COMBINATION Adım 3’ün altındaki tuş vuruşları + işaret)
  • MOUSE-BUTTON-CODE 2. adımda aldığınız fare düğmesi kodudur

Örnek:

"xdotool key 'Control_L+Alt_L+Down'"
       b:8

Bu, fare düğmesini 8 (örneğin, web tarayıcımda geri düğmesi olarak kullanılabilecek düğme) fareyi yeniden eşler. Control_L+Alt_L+Down GNOME Shell'de çalışma alanına geçiş yapmak için kullanılır.

Ayrıca fare ileri düğmesi (benim durumumda fare düğmesi 9) Control_L+Alt_L+Up (GNOME Kabuk'ta çalışma alanına geçin), bunu eklemek zorunda kalacağım ~/.xbindkeysrc dosya:

"xdotool key 'Control_L+Alt_L+Up'"
       b:9

Başka bir örnek. Sesi yükseltmek ve alçaltmak için klavye medya tuşlarını fare düğmeleri 8 ve 9'a bağlamak için:

"xdotool key 'XF86AudioRaiseVolume'"
       b:9

"xdotool key 'XF86AudioLowerVolume'"
       b:8

Aynı şekilde, istediğiniz kadar anahtar ciltleme ekleyin, ancak zaten mevcut bazı anahtar birleşimlerini kullanmadığınızdan emin olun.

Bir komutu, komut dosyasını veya programı fare düğmesine bağlamak için, bunu ~/.xbindkeysrc dosya:

"COMMAND"
       b:MOUSE-BUTTON-CODE

İşte:

  • COMMAND komut, komut dosyası veya program
  • MOUSE-BUTTON-CODE 2. adımda aldığınız fare düğmesi kodudur

Bunları da beğenebilirsiniz: Çalıştırma Veya Uygulama Yükseltme Windows On Linux (X11) jumpapp ile Tek Bir Klavye Kısayolu Kullanma.

Bir fare düğmesini kullanarak bir program çalıştırmak için örnek:

"firefox"
       b:8

Bu, fare düğmesine 9 basıldığında Firefox'u başlatır (fare için, örneğin bir web tarayıcısında geri düğmesi olarak kullanılabilecek düğmedir).

5. xbindkeys'i başlatın.

Şimdi bir terminal kullanarak ve yazarak xbindkeys başlatabilirsiniz:

xbindkeys

Xbindkeys çalışıyorsa, aşağıdakileri yaparak yeni yapılandırmayı kullanmasını sağlayabilirsiniz:

xbindkeys --poll-rc

Bu komut benim için xbindkeys yapılandırmasını değiştirdiğimde birkaç durumda başarısız oldu, neden olduğundan emin değilim. Böyle bir durumda xbindkeys işlemini öldürüp yeniden çalıştırarak yeniden başlatabilirsiniz:

killall xbindkeys
xbindkeys

Ubuntu'da xbindkeys, boş olmayan bir dosya bulursa (başlangıçta yorumlanmamış satırlara sahip olması gerekir) sistem başlangıcında otomatik olarak başlatılır. ~/.xbindkeysrc yapılandırma dosyası Araç, kullandığınız Linux dağıtımı için otomatik olarak başlamazsa, xbindkeys başlangıç ​​programlarınıza.

Daha Fazla Göster

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kapalı