Değiştirici için tuşları tutun


23

Bir '' altındaki '' bir noktalama anahtarı almak için (aksi halde menüde bulunur) Android'de bir tuşa 100ms kadar basılı tutmaya aşık oldum ve Ubuntu için de aynı yeteneğe sahip olmayı çok isterdim. Karakterleri tekrar etmeme gerek yok, bu yüzden hiçbir şeyi kaçırmam. Bu mümkün mü ve eğer mümkünse nasıl? Teşekkür ederim :)


Geç oldu, ancak Ubuntu için uygulamak istediğiniz işlevsellik hakkında daha fazla bilgi verir misiniz?
Harshit

1
@Harshit, elbette: Google klavyesini kullanarak, Android'de, ayrı bir menüye gitmek zorunda kalmadan, noktalama yazmak için -oft klavyesindeki tuşları basılı tutma özelliğini seçmek mümkündür. Bu idealist olarak, Ubuntu'da 100ms için '2' anahtarının '@' tutulması, '-' türlerin '_' şeklinde tutulması gibi bir seçenek olarak uygulanacaktır.
Patrick

Yanıtlar:


3

Şu anda Ubuntu'nun masaüstü sürümünde bu tür işlevselliği etkinleştirmenin hızlı ve kolay bir yolu yoktur.

Şahsen ben varsayılan beste anahtar kısayollarının büyük bir hayranıyım ; Onları mobil tarzı uzun basın seçiminden (♥) çok daha hızlı ve daha sezgisel buluyorum. Bununla birlikte, zamanınız ve kararlılığınız varsa , mobil seçeneğe benzer bir şey inşa etmek için varsayılan çekirdek Universal Access uygulamasındaki yavaş tuşlar seçeneğini geri çekebilirsiniz .

Kendimi dürtmek , XKB yavaş tuşları kontrolü ile ilişkili gibi görünüyor. Ubuntu'nun klavye ciltlemelerini yapılandırmak ve geliştirmek için XKB'yi kullanabilirsiniz ve söyleyebileceğim kadarıyla, bu bölümde ihtiyacınız olana sahip. Bu nedenle, bir tuşa uzun basıldığında alternatif bir karakter baskısına sahip olmak (nispeten) zor olmamalıdır.

İşlerin karmaşıklaştığı yerde bir tuş vuruşuna birden fazla özel karakter atamaktır (örneğin: "a" tuşunu basılı tutun ve ä, à, á, â, vb. İçin seçenekler edinin). Seçenekler arasında nasıl dolaşıyorsun? Bir diyalog penceresinde karakterleri belirlediniz mi, 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ı tutma uzunlukları atayabilirsiniz. À için 100ms tutun, ms için 200ms tutun, 300 için 300ms… Ancak, her bir karakterin ayrı ayrı atanmasından bahsetmek yerine, kaç saniye boyunca hangi karakterlerin zorlaşabileceğini hatırlamak bir baş ağrısı olur. Ayrıca, daha uzun karakter listelerine girdiğinizde, 3-4 saniye boyunca bir tuşa basılı tutup orada oturuyor olabilirsiniz. Daha fazla zaman alan görünüyor.

Yavaş tuşlardan ziyade , bir tuşa birden çok dokunuşla özel bir karakter sağlamak için yinelenen tuşlar seçeneğini deneyebilirsiniz : örneğin à için "a" nın 3 dokunuşu . Ama sonra "iyi" veya "ürkütücü" veya "aaaaaaahhh!" Gibi bir şey yazdığınızda istenmeyen özel karakterlerin ortaya çıkma riskiyle karşı karşıya kalırsınız.

Düşünmediğim başka bir daha verimli uygulama yöntemi bulmuş olabilirsiniz, bu durumda ileri gidip değişiklik yapın! Ancak bu arada arada anahtar kombinasyonlar oluşturmanızı tavsiye edeceğim. ☺


1
Bağlantınıza bir göz attığınızda, her bir tuşu bir noktalama işaretine değiştirici bir anahtar olarak ayarlamak mümkün olabilir; bu, tam olarak aradığım şeydir! Daha sonra bununla uğraşmayı denemem gerekecek.
Patrick,

0

Bunun klavye kesme servisi yordamını (ISR) değiştirerek yapmanın mümkün olduğuna eminim. Bir tuşa her basıldığında, CPU'ya bir kesme sinyali gönderilir. Daha sonra CPU, ISR klavyesini çalıştırarak kesilen servisi yapar.

ISR'ler, genellikle meclis dilinde kodlanmış düşük seviye programlardır, çünkü bunlar doğrudan donanım ile ilgilidir ve hızlı olmaları gerekir. İşte Intel işlemciler ve nasıl kullanılacakları donanım kesmeleri konusunda daha fazla bilgi.

Klavyelerin orijinal IBM-PC günlerinden beri kendi işlemcileri vardı ve herhangi bir tuşa basılı tutulursa çok hızlı bir şekilde karakterler oluşturabiliyorlar.

Burada birkaç tanım faydalı olabilir:

Tekrar Gecikmesi : Tuşa basmakla tekrarlamaya başladığında geçen süre.

Yineleme Hızı : Bir tuşa basıldıktan sonra, klavye bu tuşu tekrar eder. Tekrar ettiği hız tekrarlama oranıdır. Bazen tipik oranı denir.

Klavye ISR yordamı, bir 'Alternatif Karakter' işlevi yerine Gecikme Gecikmesi işlevinin yerine geçmek için değiştirilmelidir. Kilit basının ve salıverilmenin zamanlaması onun özüdür. Tuşa basma süresinin ölçülmesiyle, ISR (veya kesme işleyicisi), alternatif karakterin normal karakterini ("altındaki" tuş) geçirmeyi bilirdi.

Temel olarak, klavye için aygıt sürücüsünü değiştirir veya yeniden yazarsınız.

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


0

Dokunmatik yüzey, Android'deki dokunmatik ekrana benzer şekilde çalıştığından, klavyeden daha iyi bir arayüz sağlar. Aslında, başparmağınızı ve işaret parmağınızı birlikte hareket ettirerek yakınlaştırmak ve ters yönde çevirerek uzaklaştırmak için yepyeni bir yordamlar kümesi uygulanabilir.

Dokunmatik yüzey zaten bir parmağını, iki parmağını bile algılayabilir, hatta dokunmatik yüzeye yanlışlıkla hareket eden avuç içi bile ve dolayısıyla göz ardı edilir. Hızlanma ve yavaşlama hızları tanınır. Zaten uzun bir basışla vurgulamak istediğiniz metin için fare imlecini kontrol ediyor.

Programcılar tedbir dokunmatik basın uzunluğuna kod fazladan bit ekleyin ve için bir bağlam duyarlı menüyü getirmek etmesi oyuncağı olmalı select, copy, pastevb akıllı telefonlar gibi bugün yap.

Bence sorunuz, yerleşik dokunmatik yüzeyli yazılımı ve klavyeleri tamamen yeni bir seviyeye dönüştürebilecek mükemmel bir fikir. Klavyelere yerleştirilmiş bazı dokunmatik yüzeylerin fikrinizi daha da ileri götürecek renkli bir lcd ekrana sahip olduğunu belirtmeliyim. yani, vurgulanan ekran metni dokunmatik ekran lcd'ye yansıtılabilir ve ince hareketler için yakınlaştırılabilir.

Apple, Google, Microsoft ve Linus, fikrinizle heyecanlı olabilir. Kesinlikle ilgimi çekti!


Alaycı mı hissediyorum yoksa bu gerçek mi?
Amit Gold,

Bence bu harika bir fikir. Akıllı telefonun bazı avantajlarını masaüstüne getirin.
WinEunuuchs2Unix
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.