2Sep

Global HotKeys'i Linux'ta Şarap Programına Bağlama

Linux'ta şimdiye kadar sistemin geniş anahtarlarını bağlamadığını keşfetmek için ŞARAP altında bir Windows programı yüklediniz mi? HTG'nin aradığı çalışma var.

Image by djeucalyptus

Genel Bakış

Linux'a geçme fikrini bile düşünen her biri, muhtemelen çok hızlı bir şekilde, çalışması gereken bir Windows uygulaması olduğu problemiyle karşılaşmaktadır.Şarap kullanarak bunu başarabileceğinizi zaten göstermiştik.

Bu yazar için uygulama, Microsoft SAPI4 motorunu kullanan bir Yazı Konuşma uygulamasıydı.Programın ŞARAP altında yüklenmesi bir esintiydi, ancak tamamlandıktan sonra çabucak, programın çeşitli işlemlerini tetiklemek için kullanılan kısayol tuşlarının( okuma başlatın, okumayı durdurun, vb.) Işlev görmediğini ve bunun bilinen bir şey olduğunu fark ettik.ŞARAP ile ilgili sorun.

Araştırmadan sonra, çözümün yerli işlevleri kullanarak X.org arabirimini işleyebileceği bir GNU yardımcı programı biçiminde nihayet bulduğumu söylemekten mutluluk duyuyorum. Kendi türünün tek örneği değilken, çalışmak en kolay olan ve zaten Ubuntu / Nane depolarında olan xdotool'du.

xdotool

xdotool programı, CLI'den birçok pencere ile ilgili görev gerçekleştirebilir, bununla birlikte kullanacağımız sadece ikisi "arama" ve "anahtar" dır."Arama" işlevi sadece bunu yapar, sizin için belirlediğiniz parametrelere göre bir pencere / s kimliği arar."Anahtar" işlevi, bir pencere ID'sine bir tuş vuruşu benzetimi yapmanızı sağlar.

Yükleme &yapılandırma

Şarap ve altındaki programın yüklü olduğunu varsayıyoruz. Bu örnekte Balabolka'yı "Windows" uygulaması olarak kullanacağız çünkü orijinal programın( 2. konuşma merkezi) bu çözüme ihtiyaç duyduğu iyi ücretsiz bir kopyası.

Balabolka'yı da kullanmayı seçtiyseniz, kısayol tuşlarının yeteneğini etkinleştirmeniz gerekir.
Not: SAPI sesleri yüklenecek şekilde, demo modunda bile TTSReader'ı veya 2. konuşma merkezini kurmak isteyebilirsiniz.

Programı açın ve "Seçenekler" altında ayarları( Shift + F6) yapın - & gt;“Ayarlar”.

Kısayol tuşlarına gidin ve "Use global hotkeys" onay kutusunu işaretleyin.

Tamam'ı tıklayın.

Arka planda çalışan bırakın, böylece tuş vuruşlarını kendisine bağladığımızda işini yapabilirsiniz.

xdotool'u aşağıdaki adresten yükleyin:

sudo apt-get install xdotool

Global bağlama

Yalnızca xdotool programı, kısayol tuşlarına bağlanmamıza yardımcı olmaz, ancak mevcut OS kısayol tuş sistemini kullanabilirsiniz. Yapacağımız, Balabolka programına istediğimiz tuş vuruşlarını göndermek ve OS'lerin kısayol sisteminden çağırmak için xdotool'u kullanan basit bir betik oluşturmaktır.

Aşağıdaki içeriğe sahip "start_read.sh" adlı bir betik oluşturun:

xdotool anahtarı --window $( xdotool arama --limit 1 --all --pid $( pgrep balabolka) --name Balabolka) "ctrl + alt +F9 "

Bu sefer şu an" stop_read.sh "adı verilen ve aşağıdaki içeriğe sahip başka bir komut dosyası oluşturun:

xdotool anahtarı --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka) --name Balabolka)"ctrl + alt + F7 "

Not: Bu, bir komut dosyası gerektirmeyen tek bir çizgidir biliyorum, ancak Darphane / Ubuntu" Klavye Kısayolları "programı doğrudan çağırmakla işbirliği yapmıyordu. Nasıl yapılacağını biliyorsanız, lütfen aşağıdaki yorumları paylaşın.

Bu komutu bileşenlerine getirirken gördüğümüz şudur:

  • "-pid $( pgrep balabolka)" kısmı, işlem kimliğini belirlemek için kullanmak istediğimiz programda bir "pgrep" çalıştırır. Bu, "arama" alanındaki xdotool'u yalnızca bu PID'ye daraltacaktır.
  • "xdotool search -limit 1 -all. .. -name Balabolka" kısmı, xdotool aramanın alanını daha da daraltıyor ve verilen yanıtları 1'e sınırlıyor. Bizim durumumuzda olduğu gibi hangi pencere kimliklerinin döndüğünün önemi yok.programı sınırlama sonucu "tuş" komutunun biçimlendiricisi olarak işlev görür. Kullandığınız program için önemli değilse, bu bölümü daha fazla masajlamanız gerektiğini görebilirsiniz.
  • "xdotool anahtarı -window% WINDOW_ID%" ctrl + alt + F7 "" kısmı, önceki bölümler tarafından elde edilen windowID'e istenen tuş vuruşunu gönderir.

Komut dosyalarını çalıştırılabilir yapın.

Linux Nane Klavye kısayolları

Linux Mint altında, genel kısayol tuşları "Klavye Kısayolları" programında ayarlanır.

Bir kez açıldı Yeni bir özel kısayol oluşturmak için "Ekle" yi tıklayın:

Yukarıda oluşturduğumuz komut dizinlerinden birinin tam yolunu vermek için ona bir ad verin ve "Komut" altına verin.İşlemi ikinci komut dosyası için tekrarlayın.

Şimdi, "Kısayollar" Sütununda, "Devre Dışı Bırakılmış" kelimeyi tıklayarak yeni bir anahtar açılanma seçeneği belirle.
Not: İsterseniz, programın varsayılanı dışında başka bir şey kullanabilirsiniz. Bir bakıma, kullandığınız programa bağlı olarak, aksi halde kontrolünüz dışında olan anahtar bağlamalar için bir "yeniden eşleme" oluşturur.

Seçtiğiniz combo'ya basın ve büyüyü dinleyin.

Ubuntu Klavye

Ubuntu'da, global kısayol tuşlarını ayarlayan programa sadece "Klavye" adı verilir.

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

Bir kısayol eklemek için artı işaretini tıklayın. Ona bir isim verin ve yukarıda "Yaratılan komut dizilerinden birinin tam yolunu" Komuta "altına verin.İşlemi ikinci komut dosyası için tekrarlayın.
Yeni bir tuş kombinasyonu belirleme seçeneğini elde etmek için "Devre Dışı" kelimesini tıklayın.

Not: Darphane bölümünden not üzerinde tekrar ederseniz, isterseniz, programın varsayılanı dışında başka bir şey kullanabilirsiniz. Bir bakıma, kullandığınız programa bağlı olarak, aksi halde kontrolünüz dışında olan anahtar bağlamalar için bir "yeniden eşleme" oluşturur.

Yazarın Notları

Her zaman Linux'a taşınmayı düşündüğümde, bu sorunlar listemdeki ilk oldu. Linux'un sorun yaşamadığını düşünüyorum, ama bu benim için gerçek engel oldu. Zaman ve tekrar denedim, arkadaşlarım / insanlara sordum ve hatta bir lütufkâr haline getirdim. .. Bu destan bittiğinden ve ruhumun sonunda rahatlamasından memnunum.
Umudum, orada birine aynı sıkıntıdan geçmek zorunda kalmamak için yardım ettim.

Doc Brown: Yaklaşık otuz yıl sürdü ve tüm ailem o günün vizyonunu gerçekleştirme şansına kavuştu. Tanrım, bu kadar uzun sürdü mü?