मैं सी # 2010, उपयोग करने वाले उपकरणों की एक सरणी बनाने के हिस्से में से विभिन्न कीबोर्ड से इनपुट विभाजित कर सकते हैं में एक छोटे से कार्यक्रम में लिखा है की पहचान करने के लिए, निम्न:विशिष्ट Logitech एकीकृत कीबोर्ड (सी # में)
--This कोड के लिए गैर-एकीकृत keyboards--
InputDevice id;
NumberOfKeyboards = id.EnumerateDevices();
id = new InputDevice(Handle);
id.KeyPressed += new InputDevice.DeviceEventHandler(m_KeyPressed);
private void m_KeyPressed(object sender, InputDevice.KeyControlEventArgs e) {
lbDescription.Text = e.Keyboard.Name;
// e.Keyboard.* has many useful strings, none work for me anymore.
}
इससे बहुत खुश, मैं भाग गया और 4 लॉजिटेक के 230 कीबोर्ड खरीदे जो यूनिफाइंग रिसीवर का उपयोग करते हैं। अफसोस की बात है, सभी कीबोर्ड डेटा अब मल्टीप्लेक्स किए गए हैं और एक ही कीबोर्ड के रूप में मेरे कोड में दिखाए जाते हैं!
मैं कैसे पहचान सकता हूं कि इनपुट "एकीकृत" कीबोर्ड से आ रहा है? आदर्श रूप से सी # में, लेकिन मुझे लगता है कि समाधान मौजूद होने पर मैं अन्य भाषाओं को देखने के लिए तैयार हूं।
मैंने एक लिनक्स ड्राइवर देखा है जो "एकीकृत" इनपुट को तोड़ता है ताकि छुपा परत अलग-अलग कीबोर्ड देख सके (और उन्हें अलग-अलग व्यवहार करें।) इससे मुझे आशावादी बना दिया गया कि विंडोज समाधान भी मौजूद होना चाहिए। – cdehaan
मेरे अपने प्रश्न पर इतनी सारी टिप्पणियां जोड़ने के लिए खेद है, लेकिन किसी को भी रुचि रखने के लिए, यह वह परियोजना है जहां मेरा मूल इनपुट विभाजन आया: http://www.codeproject.com/Articles/17123/Using-Raw-Input-from -सी-टू-हैंडल-एकाधिक-कीबोर्ड – cdehaan
यूएसबी डोंगल एक यूएसबी छिपा हुआ डिवाइस है, इसलिए आप जो ट्रैफिक देख रहे हैं वह मूल रूप से जेनेरिक छुपा ट्रैफिक है जो यूएसबी डोंगल द्वारा उत्पन्न किया गया है। जब तक चश्मे में यातायात पर कुछ भी नहीं होता है जो उत्पन्न मेटाडेटा उत्पन्न होता है। मुझे यह संभव नहीं लगता है। यूएसबी यातायात को सूँघने के लिए आप [यूएसबीलीज़र] (http://www.usblyzer.com/download.htm) का उपयोग करने में सक्षम हो सकते हैं। यदि आप यूएसबी डोंगल के साथ इंटरफ़ेस कर सकते हैं तो आप इससे जानकारी का अनुरोध कर सकते हैं। – jduncanator