मैंने एक थंडरबॉल्ट केबल का उपयोग करके एक आईमैक में एमबीए संलग्न किया है। आईमैक पर सीएमडी + एफ 2 दबाकर लक्ष्य प्रदर्शन मोड को एमएमए के लिए आईएमएसी के रूप में उपयोग करने में सक्षम बनाता है। क्या किसी के पास जानकारी है कि प्रोग्राम को प्रोग्राम को ट्रिगर कैसे करें?प्रोग्रामेटिक रूप से लक्ष्य प्रदर्शन मोड कैसे दर्ज करें?
मेरा पहला दृष्टिकोण एक CGEventPost
kCGHIDEventTap
CGEventRef f2CommandDown = CGEventCreateKeyboardEvent(src, (CGKeyCode)120, YES);
CGEventSetFlags(f2CommandDown, kCGEventFlagMaskCommand);
CGEventRef f2CommandUp = CGEventCreateKeyboardEvent(src, (CGKeyCode)120, NO);
CGEventPost(kCGHIDEventTap, f2CommandDown);
CGEventPost(kCGHIDEventTap, f2CommandUp);
कि काम नहीं करता है करने के लिए भेजने के लिए किया गया था। यह सब एक त्रुटि "बीप" है। (रूट उपयोगकर्ता के रूप में भी चलाने की कोशिश की)। मुझे लगता है, kCGHIDEventTap
सिर्फ गलत लक्ष्य है और सीएमडी + एफ 2 ओएस के उच्च स्तर (उर्फ। "कहीं कहीं) में रह सकता है
कुछ कुंजी-ईवेंट कैप्चरिंग कोड चलाना सीएमडी + एफ 2 के लिए कुछ भी नहीं दिखाता है।
क्या किसी के पास इशारा है? अग्रिम में धन्यवाद!
मैं एक डॉलर से अधिक शर्त लगाता हूं कि कीप्रेस कभी भी विंडो सर्वर पर नहीं जा रहा है, इसलिए हाँ, 'केसीएचआईडीएंडेंट टैप' बहुत देर हो चुकी है। आपको [IOKit] (http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/AccessingHardware/AH_Intro/AH_Intro.html%23/) पर एक कदम पीछे देखना होगा। मुझे लगता है कि एक [IOHIDManager] (http://developer.apple.com/library/mac/#documentation/IOKit/Reference/IOHIDManager_header_reference/Reference/reference।एचटीएमएल) आपको इन कीप्रेसों के _notified_ होने की अनुमति देगा, लेकिन अगर आप कर्नेल एक्सटेंशन बनाये बिना नकली कर सकते हैं तो मुझे आश्चर्य होगा। –
यह भी देखें: http://www.cocoabuilder.com/archive/cocoa/166322-eject-key-code.html –