Anasayfa » nasıl » Global HotKeys'i Linux Altında bir WINE Programına Bağlama

    Global HotKeys'i Linux Altında bir WINE Programına Bağlama

    Linux'ta WINE altında bir Windows programını kurdunuz mu, ancak artık sistem genelindeki kısayol tuşlarını bağlamadığını keşfetmek için mi? HTG aradığın işin yanında.

    Görüntü djeucalyptus

    genel bakış

    Linux'a geçme fikrini bile düşünen her biri, çalışması gereken İhtiyaç duyduğunuz bu Windows uygulamasının bulunma problemiyle büyük olasılıkla çok hızlı bir şekilde karşılaştı. WINE kullanarak bunu başarabileceğinizi zaten göstermiştik.

    Bu yazar için, uygulama Microsoft SAPI4 motorunu kullanan bir Metin Okuma uygulamasıydı. Programı WINE altında yüklemek çok kolaydı, ancak tamamlandıktan sonra programın çeşitli eylemlerini tetiklemek için kullanılan kısayol tuşlarının (okumaya başla, okumayı durdur, vb.) Çalışmadığını ve bunun bilinen bir durum olduğunu gördüm. WINE ile sorun.

    Çok fazla arama yaptıktan sonra, nihayetinde, çözümü yerel fonksiyonlar kullanarak X.org arayüzünü değiştirebilen bir GNU yardımcı programı şeklinde bulduğumu söylemekten memnuniyet duyuyorum. Kendi türünün tek örneği olmasa da, xdotool, çalışılması en kolay olan ve zaten Ubuntu / Mint depolarında bulunan kişidir..

    xdotool

    Xdotool programı CLI'dan pencere ile ilgili birçok görev yapabilir, bununla birlikte kullanacağımız sadece iki "arama" ve "anahtar" dır. “Arama” işlevi tam da bunu yapar, bunun için ayarladığınız parametrelere göre bir pencere / kimliği arar. “Tuş” işlevi, bir tuş kimliğini bir pencere kimliğine benzetmenizi sağlar.

    Kurulum ve yapılandırma

    WINE'ı ve onun altında ihtiyaç duyduğunuz programı önceden yüklediğiniz varsayılmaktadır. Bu örnekte Balabolka'yı “Windows” uygulaması olarak kullanacağız, çünkü bu çözüme ihtiyacım olan orijinal programın ücretsiz bir kopyasıdır (2. konuşma merkezi).

    Balabolka'yı da kullanmayı seçtiyseniz, kısayol tuşları özelliğini etkinleştirmeniz gerekir.
    Not: SAPI seslerinin yüklenebilmesi için TTSReader veya 2. konuşma merkezini demo modunda bile kurmak isteyebilirsiniz.. 

    Programı açın ve “Seçenekler” -> “Ayarlar” altındaki ayarlara (Shift + F6) gidin.

    Kısayol tuşları sekmesine gidin ve "Genel kısayol tuşlarını kullan" onay kutusunu işaretleyin.

    Tamam'ı tıklayın.

    Tuş vuruşlarını taktığımızda işini yapabilmesi için arka planda çalışmasını sağlayın.

    Xdotool'u aşağıdakileri vererek kurun:

    sudo apt-get install xdotool

    Global bağlayıcı

    Xdotool programı kendi başına kısayol tuşlarına global olarak bağlanmamıza yardımcı olmuyor, ancak mevcut işletim sistemi kısayol tuşu sistemini kullanabiliriz. Yapacağımız şey, Balabolka programına istediğimiz tuş vuruşlarını göndermek ve onu işletim sistemi kısayol sistemi sisteminden çağırmak için xdotool kullanan basit bir senaryo oluşturmak..

    Aşağıdaki içerikle “start_read.sh” adlı bir komut dosyası oluşturun:

    xdotool anahtarı - pencere $ (xdotool arama - sınırlama 1 - tüm --pid $ (pgrep balabolka) - adı Balabolka) "ctrl + alt + F9"

    Bu sefer aşağıdaki adreste “stop_read.sh” adında başka bir komut dosyası oluşturun:

    xdotool anahtarı - pencere $ (xdotool arama - sınırlama 1 - tüm --pid $ (pgrep balabolka) - adı Balabolka) "ctrl + alt + F7"

    Not: Bunun bir komut dosyası gerektirmeyen bir astar olduğunu biliyorum, ancak Mint / Ubuntu “Klavye Kısayolları” programı, doğrudan doğrudan çağrı yapmakla işbirliği yapmadı. Nasıl yapılacağını biliyorsanız, lütfen aşağıdaki yorumları paylaşın.

    Bu komutu, bileşenlerine frenlemek, gördüğümüz şey:

    • “-Pid $ (pgrep balabolka)” bölümü, işlem kimliğini belirlemek için kullanmak istediğimiz programda “pgrep” i yürütür. Bu, "arama" ile gönderilen xdotool'u yalnızca bu PID'ye daraltacaktır.
    • “Xdotool search - 1 - all… -alan Balabolka” bölümü, xdotool arama alanını daha da daraltmakta ve geri verilen cevapları 1 ile sınırlandırmaktadır. Bizim durumumuzda olduğu gibi, hangi pencere kimliğinden hangisinin geri döndüğü önemli değildir. program, sonucun sınırlandırılması “anahtar” komutu için formatlayıcı görevi görür. Kullanmakta olduğunuz program için önemliyse, bu bölüme daha fazla masaj yapmanız gerekebilir.
    • “Xdotool anahtarı -window% WINDOW_ID%“ ctrl + alt + F7 "” bölümü, istenen tuş vuruşlarını önceki bölümler tarafından elde edilen windowID'ye gönderir.

    Komut dosyalarını çalıştırılabilir duruma getirme.

    Linux Nane Klavyesi kısayollar

    Linux Mint altında, genel kısayol tuşları “Klavye Kısayolları” programında ayarlanmıştır..

    Açıldıktan sonra Yeni bir özel kısayol oluşturmak için “Ekle” düğmesine tıklayın:

    Bir isim verin ve “Komut” altında yukarıda yarattığımız komut dosyalarından birine tam yolu verin. İkinci script için işlemi tekrarla.

    Şimdi, “Kısayollar” Sütununda, yeni bir anahtar açılır kombinasyonu ayarlama seçeneğini almak için “Devre Dışı” kelimesini tıklayın..
    Not: İsterseniz, programın varsayılan ayarından başka bir şey kullanabilirsiniz. Bir anlamda, kullandığınız programa bağlı olarak, sizin kontrolünüz dışında olacak olan önemli bağlamalar için “remap” oluşturmak.

    Seçtiğin combo'ya bas ve büyüyü duy.

    Ubuntu Klavye

    Ubuntu'da, genel kısayol tuşlarını ayarlayan programa sadece “Klavye” denir..

    “Kısayollar” sekmesine geçin ve “Özel Kısayollar” ı seçin.

    Kısayol eklemek için artı işaretini tıklayın. Bir isim verin ve “Komut” altında yukarıda yarattığımız komut dosyalarından birine tam yolu verin. İkinci script için işlemi tekrarla.
    Şimdi yeni bir anahtar combo belirleme seçeneğini elde etmek için “Disabled” kelimesini tıklayın..

    Not: Nane bölümündeki notu tekrarlamak isterseniz, programın varsayılan ayarından başka bir şey kullanabilirsiniz. Bir anlamda, kullandığınız programa bağlı olarak, sizin kontrolünüz dışında olacak olan önemli bağlamalar için “remap” oluşturmak.

    Yazarın Notları

    Ne zaman Linux'a geçmeyi ciddi olarak düşündüğümde, bu sorun sorunlar listemdeki ilk konu oldu. Bu, Linux'ta sorun yaşamıyor, ama bu benim için gerçek engeldi. Tekrar tekrar denedim, alandaki arkadaşlara / insanlara sordum ve hatta bir ödül aldım… Bu destanın bittiğinden ve ruhumun sonunda dinlenebildiğinden dolayı mutluyum.
    Umarım, aynı çilenin içinden geçmek zorunda olmayan birisine yardım ettim..


    Doktor Brown: Neredeyse otuz yıl sürdü ve o günkü vizyonumu gerçekleştirmek için ailemin talihimi. Tanrım, çok uzun zaman oldu mu??