2010-08-18 14 views
8

मेरे पास मेरे मैक से जुड़े दो यूएसबी चूहों हैं, जिनमें से एक मैं स्कैनर के रूप में उपयोग कर रहा हूं। मुझे जेनेरिक एक्स और वाई डेटा तक पहुंच की आवश्यकता है, लेकिन मैं नहीं चाहता कि डेटा कर्सर को स्थानांतरित करे। कैसे, कार्बन या कोको वातावरण के तहत, क्या मैं सिस्टम को पॉइंटिंग डिवाइस के रूप में माउस को अनदेखा करने के लिए कहता हूं?मैं दो कनेक्टेड यूएसबी चूहों में से किसी एक से इनपुट को अनदेखा करने के लिए ओएस एक्स कैसे कहूं?

संपादित करें: कुछ खुदाई के बाद मुझे पता चला है कि मैं CGAssociateMouseAndMouseCursorPosition() फ़ंक्शन के साथ माउस स्थिति अद्यतन कर सकता हूं, लेकिन यह मुझे एक माउस निर्दिष्ट करने की अनुमति नहीं देता है। क्या कोई छुपा माउस डिवाइस और कर्सर के बीच ओएस एक्स रिश्ते को समझा सकता है? उपकरण के आधार पर किसी डिवाइस पर हार्डवेयर और सॉफ़्टवेयर के बीच बाध्यकारी होना चाहिए लेकिन मुझे यह नहीं मिल रहा है।

उत्तर

1

मैं माउस के लिए एक मूल उपयोगकर्ता-स्थान ड्राइवर लिखने में देखता हूं। यह आपको यूएसबी डिवाइस के रूप में माउस तक सीधे पहुंचने की अनुमति देगा। आप अपने विशेष उपयोग के लिए सिस्टम से डिवाइस पर नियंत्रण भी ले सकते हैं। (, मुझे लगता है कि मेरी IOKit जंग लगी है)

Working With USB Device Interfaces

आरंभ करने के लिए, एक यूएसबी डिवाइस से कनेक्ट करने के लिए इस तरह जाना चरणों की स्थापना की

:

यहाँ कुछ प्रलेखन नहीं है शामिल < IOKit/IOKitLib.h> और < IOKit/USB/IOUSBLib.h>

  1. IOServiceMatching() का उपयोग करने में रुचि रखने वाले डिवाइस को ढूंढें। यह आपको विक्रेता आईडी, & सी जैसी चीजों सहित, इसके गुणों के आधार पर सही यूएसबी डिवाइस ढूंढने देता है। (देखें IORegistryExplorer उपकरण स्क्रीन के नीचे गोली मार दी)
  2. एक यूएसबी प्लगइन उदाहरण मिल के साथ चरण 2 से IOCreatePlugInInterfaceForService()
  3. उपयोग plugin एक डिवाइस इंटरफ़ेस मिलता है (यह plugin कॉल) का उपयोग कर (**plugin)->QueryInterface()
  4. device का प्रतिनिधित्व करता है (यह device कॉल) आपके यूएसबी डिवाइस पर एक कनेक्शन हैंडल - इसे पहले (**device).USBDeviceOpen या (**device).USBDeviceOpenSeize() का उपयोग करके खोलें। वहां से आप डेटा भेजने/प्राप्त करने में सक्षम होना चाहिए।

मुझे बहुत कुछ लगता है .. और एक आसान तरीका हो सकता है, लेकिन यह मेरे दिमाग में आता है। डिवाइस के इस स्तर के नियंत्रण को सुनिश्चित करने के कुछ फायदे हो सकते हैं, सुनिश्चित नहीं हैं। सौभाग्य।

IORegistryExplorer screen shot

संबंधित मुद्दे

 संबंधित मुद्दे