Değiştirici tuşlarını basılı tutun

22

Android’de bir tuşa basılı tutmayı seviyorum (yaklaşık olarak menüde yer alan bir noktalama işareti almak için yaklaşık 100 ms.) ve aynı yeteneğe sahip olmayı çok isterim. Ubuntu için. Karakterleri tekrarlamaya ihtiyacım yok, o yüzden hiçbir şey kaçırmayacağım. Bu mümkün mü ve eğer mümkünse nasıl? Teşekkürler:)

    
sordu Patrick 15.07.2016 15:16

3 cevap

2

Şu anda Ubuntu'nun masaüstü sürümünde bu tür işlevleri etkinleştirmek için herhangi bir hızlı ve kolay yol bulunmamaktadır.

Şahsen, varsayılan anahtar kısayolları 'nın büyük bir hayranıyım. Mobil tarzı uzun basma seçiminden (♥) daha hızlı ve çok daha sezgisel buluyorum. Bununla birlikte, zamanınız ve kararlılığınız varsa, mobil seçeneğe benzer bir şey oluşturmak için varsayılan çekirdek Evrensel Erişim uygulamasında yavaş tuşlar seçeneğine sahip olabilirsiniz.

Kendimden bahsederken, XKB , yavaş tuş kontrolü ile ilişkili görünüyor. UBuntu'nun klavye bağlarını yapılandırmak ve geliştirmek için XKB'yi kullanabilir ve anlayabildiğim kadarıyla, bu bölüm İhtiyacın olan şey var. Bu yüzden, bir anahtar uzun süre tutulduğunda alternatif bir karakter baskısının olması (nispeten) zor olmamalı.

İşlerin karmaşık hale gelmesi durumunda, tuşa çoklu özel karakterler atanır (örneğin: "a" düğmesini basılı tutun ve ä, à, á, â, vb. için seçenekler alın). Seçenekler arasında nasıl geçiş yapıyorsunuz? Bir diyalog penceresinde karakterler açılır mı, sonra birini seçmek için fare, sekme veya ok tuşlarını kullanın mı? Zaman alıcı görünüyor.

Veya farklı karakterlere farklı bekletme uzunlukları atayabilirsiniz. 100ms à için 200ms, á için 300ms, â için 300ms tutun ... Ama hangi karakterlerin ne kadar zor olabileceğini hatırlayarak, bunların hepsini tek tek atamaktan başka bir şey yapmayacağınızı unutmayın. Artı daha uzun karakter listelerine girdiğinizde orada oturup 3-4 saniye iyi bir tuşa sahip olabilirsiniz. Daha fazla zaman alıcı görünüyor.

Yavaş tuşlardan ziyade, tekrar tuşlarını seçeneği yerine, bir tuşun birden fazla dokunuşunun özel bir karakter sağlamasını sağlayabilirsiniz: Örneğin, "a" için 3 dokunma, örneğin. Ama sonra "iyi" ya da "ürkütücü" ya da "aaaaaaahhh!" Gibi bir şey yazdığınızda istenmeyen özel karakterler çıkma riskini üstleneceksiniz.

Düşünmediğim başka, daha verimli bir uygulama yöntemi ile karşılaşmış olabilirsiniz, bu durumda devam edin ve değiştirin! Ancak yine de bu arada anahtar kombinasyonları oluşturmanızı tavsiye edeceğim. ☺

    
verilen cevap Boxbot 27.10.2016 21:07
0

Bunun, klavye kesme hizmeti rutinini (ISR) değiştirerek yapılması mümkün olduğundan eminim. Bir tuşa basıldığında, CPU'ya bir kesme sinyali gönderilir. CPU daha sonra klavye ISR'yi çalıştırarak bu kesintiye hizmet edecektir.

ISR'ler, donanım dili ile doğrudan uğraştıkları ve hızlı olması gerektiği için genellikle montaj dilinde kodlanan düşük seviyeli programlardır. Burada , Intel işlemcilerdeki donanım kesintileri ve bunların nasıl kullanıldığı hakkında daha fazla bilgi var.

Klavyelerin orijinal IBM-PC günlerinden beri kendi işlemcileri vardır ve herhangi bir tuş basılı tutulduğunda çok hızlı karakterler üretebilir.

Birkaç tanım burada yararlı olabilir:

Gecikmeyi Tekrarla : Tuşa basıldığında ve tekrarlamaya başladığında geçen süre geçmiştir.

Tekrarlama Oranı : Bir tuşa basıldıktan sonra, klavye bu tuşu tekrarlar. Tekrarladığı hız tekrarlama hızıdır. Bazen typematic oranı denir.

Klavye ISR rutininin bir 'Alternatif Karakter' fonksiyonu için Tekrar Geciktirme fonksiyonunun yerini alacak şekilde değiştirilmesi gerekecektir. Tuşa basmanın ve serbest bırakmanın zamanlaması onun özüdür. Tuşa basma süresini ölçerek, ISR (veya kesme işleyicisi), alternatif karakterin normal karakterini ("altındaki" tuşun) geçireceğini bilecektir.

Esasen, klavye için aygıt sürücüsünü değiştiriyor veya yeniden yazıyor olacaksınız.

Bu, istediğiniz şeyi elde etmek için gerekli olacağını düşündüğüm yaklaşımın sadece üst düzey bir görünümüdür.

    
verilen cevap dbkeys 21.10.2016 09:10
0

Touchpad, Android'deki dokunmatik ekrana benzediği için, klavyeden daha iyi bir arayüz sağlar. Gerçekten de, başparmak ve işaret parmağını bir arada hareket ettirerek yakınlaştırmak için yeni bir dizi rutinler uygulanabilir ve geri yönde yön değiştirerek uzaklaştırılabilir.

Touchpad, bir parmağınızı, iki parmağınızı, hatta touchpad'e yanlışlıkla hareket eden avuç içlerini bile algılayabilir ve dolayısıyla yoksayılabilir. Hızlanma ve yavaşlama hızları tanınır. Zaten uzun bir basışla vurgulamak istediğiniz metin için fare işaretçisini kontrol ediyor.

Programcıların, dokunmatik basın uzunluğunu ölçmek için ekstra bir kod parçası eklemeleri ve akıllı telefonlar gibi select , copy , paste vb. için içeriğe duyarlı bir menü oluşturmaları için bir parça kek olmalıdır .

Sorunuzun, yerleşik touchpad'lerle yazılımı ve klavyeleri tamamen yeni bir seviyeye taşıyabilen harika bir fikir olduğunu düşünüyorum. Klavyelerde bulunan bazı dokunmatik yüzeylerin, fikrinizi daha da ileriye götürebilecek bir renkli LCD ekrana sahip olduğunu belirtmeliyim. Örneğin, vurgulanan ekran metni, touchpad ekranına yansıtılabilir ve ince hareketler için yakınlaştırılabilir.

Apple, Google, Microsoft ve Linus tüm fikirlerinizle heyecanlandırabilir. Kesinlikle ilgimi çekmiş!

    
verilen cevap WinEunuuchs2Unix 25.10.2016 03:55

Etiketlerdeki diğer soruları oku