2011-12-29 23 views
6

संभव डुप्लिकेट:
OSX HID Filter for Secondary Keyboard?मैक ओएसएक्स में एक विशिष्ट छिपाई वाले कीबोर्ड पर केवल मुख्य ईवेंट कैसे उपयोग कर सकता हूं?

मैं एक दूसरे कीबोर्ड पर मैक OSX आवेदन कि कीबोर्ड की घटनाओं को दर्शाता लिखने और उन्हें उपभोग से पहले अन्य एप्लिकेशन सूचना पाने के लिए चाहते हैं? मैं अपने ऐप को मुख्य कंप्यूटर कीबोर्ड पर कीस्ट्रोक की अधिसूचना नहीं देता हूं, बस दूसरा। और मैं नहीं चाहता कि अन्य ऐप्स कीस्ट्रोक प्राप्त करें, मैं इसे उपभोग करना चाहता हूं। यहां कोई भी इस बारे में जाने का सबसे अच्छा तरीका जानता है?

+0

@GaretJax मेरे अन्य प्रश्न से आपके उत्तर ने मेरी समस्या को पूरी तरह से हल किया। यहां दूसरों के लाभ के लिए लिंक यहां दिया गया है: [लिंक] (http://stackoverflow.com/questions/8676135/osx-hid-filter-for-secondary-keyboard) – JayGee

उत्तर

0

आपको ऐसा करने के लिए IOKit की आवश्यकता होगी। कोड में एक केक्स्ट लिखना और कीबोर्ड ईवेंट को अवरुद्ध करना और यह चुनना होगा कि उन्हें उपयोगकर्ता स्थान पर पास करना है या नहीं। यहां पूरा दृष्टिकोण लिखना बहुत जटिल और बड़ा होगा लेकिन मैं कुछ संदर्भों का सुझाव दे सकता हूं।

KeyRemap4MacBook पर कोड डिवाइस पढ़ने और अवरोध के लिए बहुत कम स्तर का कोड है।

यहां कस्टम kext कि लेखक लिखा है: https://github.com/tekezo/KeyRemap4MacBook/tree/master/src/core/kext

मैं सुझाव है कि आप कोड पर गौर को देखने के लिए वह कैसे चाबियाँ पकड़ा गया है, उन्हें उपयोगकर्ता विन्यास के अनुसार पुनः मानचित्रित और उन्हें उपयोगकर्ता अंतरिक्ष के लिए भेज ।

+1

आप अधिकतर सही हैं, लेकिन जैसा कि मैंने किया है इस बीच पता चला, आप एक केक्स्ट लिखने से बच सकते हैं और चयनित डिवाइस – GaretJax

+0

पर विशेष पहुंच प्राप्त करने के लिए KIOHIDOptionsTypeSeizeDevice के साथ उपयोगकर्ता स्पेस छिपाई लाइब्रेरी का उपयोग कर सकते हैं। मुझे लगता है कि ऐप्पल दस्तावेज़ीकरण से 'छुपा एलईडी परीक्षण उपकरण' उदाहरण को आजमाने का प्रयास करें जो उपयोगकर्ता का उपयोग करता है स्पेस छिपा प्रबंधक (ओएसएक्स 10.8 पर) और मुझे अभी तक यह ठीक से काम नहीं मिला है। बॉक्स के बाहर, एप्लिकेशन बस दुर्घटनाग्रस्त हो जाता है। ऐसा लगता है कि उदाहरण तेंदुए के लिए बनाया गया था और तब से अपडेट नहीं किया गया है। मैंने अभी तक कोई नवीनतम उदाहरण नहीं पाया है। –