2011-12-29 4 views
6

Olası Çoğalt:
OSX HID Filter for Secondary Keyboard?Temel Olayları yalnızca Mac OSX'te belirli bir HID'ye sahip bir Klavyede Nasıl Tüketebilirim?

ikinci bir klavyede klavye olayları yakalar Mac OSX Uygulama yazma ve diğer uygulamalar haberdar olsun önce onları tüketmek istersiniz? Uygulamamın ana bilgisayar klavyesi üzerinde bir tuşa basıldığını, sadece ikincisinin bildirilmesini istemiyorum. Ve diğer uygulamaların tuş vuruşu almasını istemiyorum, bunu tüketmek istiyorum. Buradaki herkes, bunun için en iyi yolu biliyor mu?

+0

@GaretJax Diğer sorumun cevabım sorunumu mükemmel bir şekilde çözdü. İşte burada diğerlerinin yararına link: [link] (http://stackoverflow.com/questions/8676135/osx-hid-filter-for-secondary-keyboard) – JayGee

cevap

0

Bunu yapmak için IOKit'e ihtiyacınız olacak. Kod, bir kext yazmayı ve klavye olaylarını engellemeyi ve bunları kullanıcı alanına iletmeyi seçmeyi içerir. Tüm yaklaşımı burada yazmak çok karmaşık ve büyük olurdu ama birkaç referans önerebilirim.

KeyRemap4MacBook kodundaki kod, aygıt okuma ve durdurma için oldukça düşük düzeyde bir kod düzeyine sahiptir. İşte

yazar yazmış olduğu özel kext geçerli: https://github.com/tekezo/KeyRemap4MacBook/tree/master/src/core/kext

ben onun anahtarlarını engellediklerini görmek koduna bakmak önermek, kullanıcı yapılandırmasına göre onları eşleştirilir ve kullanıcı onları uzaya gönderecek .

+1

Daha çok haklısınız ama Bu arada, bir kext yazmayı ve kiosHIDOptionsTypeSeizeDevice ile birlikte kullanıcı cihazını kullanmaktan sakınabilirsiniz. – GaretJax

+0

Kullanıcıyı kullanan Apple Documentation'dan "HID LED test aracı" örneğini denemeyi hatırlıyorum space HID Manager (OSX 10.8'de) ve henüz düzgün çalışmıyor. Kutunun dışında, uygulama sadece çöker. Örnek Leopard için yapılmış ve o zamandan beri güncellenmemiş gibi görünüyor. Henüz en son örnekleri bulamadım. –

İlgili konular