2015-06-21 15 views
5

TÜM tuş vuruşlarını okuyacak, işleyen ve işleyen işlemlerin kalan kısmına çıkacak olan bir linux programı yazmak istiyorum. Aslında, TÜM klavye girişi bu programa ve bu programa tek başına gitmelidir ... Sonra program bilgisayarın geri kalanı için klavye olarak hareket edecektir. Temelde android cihazlarda akıllı metin gibi bir şey yapmak istiyorum, bu yüzden programım bir filtre görevi görecek.Linux'ta en düşük seviyede klavye girişi nasıl engellenir?

Sorduğum şey temel olarak tüm klavye olaylarını programıma yönlendirmektir. Kod aramıyorum olsa da, linux programlama/linux sisteminin hangi bölümünün bu görevi tamamlayabileceğimi öğrenmek zorunda olduğumu bilmek ister misiniz? Bu, çünkü linux'u daha iyi öğrenmek için bunu yapıyorum.

+4

1. Linux çekirdeği kaynak kodunu edinin. 2. İstediğiniz şeyi yapmak için klavye sürücüsünü değiştirin. – Steve

+0

Bu, linux çekirdeğini değiştirip daha sonra yeniden yüklemem gerektiği anlamına mı geliyor? Tamam, sorun değil ... ama kullanıcı alanında bunu yapmanın herhangi bir yolu var, bu yüzden program kullanıcılar ile paylaşılabilir ve kolayca yüklenebilir mi? – FutureSci

+1

'En düşük seviye'! =' Userspace'. ... Paketlenmiş taneler, kurulumu zor değil. – deviantfan

cevap

1

bu her klavye üreticisi için bir çözüm olması gerekecektir beri. Klavye sürücülerini değiştirmemelisiniz (ve bunlar oldukça çok .. vardır)

Bunun yerine bir çekirdek fonksiyonu yama olmalıdır girdiyi iletmeden önce tüm sürücüleri aradı. , Genellikle tüm giriş sürücüleri see documentation here tarafından çağrılan input_event yama olabilir Başlangıç ​​olarak

(sadece klavye değil, aynı zamanda fare ve diğer aygıtlar gibi) için "kod çözme" giriş tarama kod olacak Her durumda

this dokümantasyonunu faydalı bulabilirsin.

Çekirdek düzeltme eki hakkında daha fazla bilgi için here ve here'u okuyun.

İlgili konular