मानव इंटरफ़ेस डिवाइस

मानव इंटरफ़ेस डिवाइस या HID एक प्रकार का परिधीय है जो आमतौर पर मनुष्यों द्वारा उपयोग किया जाता है जो मनुष्यों से इनपुट डिवाइस लेता है और मनुष्यों को आउटपुट डिवाइस देता है।

शब्द HID सबसे सामान्य रूप से USB मानव इंटरफ़ेस उपकरण वर्ग|USB-HID विनिर्देशन को संदर्भित करता है। यह शब्द माइक्रोसॉफ्ट के माइक वैन फ्लैंडर्न द्वारा गढ़ा गया था जब उन्होंने प्रस्तावित किया था कि यूनिवर्सल सीरियल बस कमेटी USB मानव इंटरफ़ेस डिवाइस वर्ग वर्किंग ग्रुप बनाती है। डिजिटल उपकरण निगम के टॉम श्मिट के सुझाव पर कार्य समूह का नाम बदलकर ह्यूमन इंटरफेस डिवाइस क्लास कर दिया गया क्योंकि प्रस्तावित मानक द्वि-दिशात्मक संचार का समर्थन करता था।

एचआईडी मानक
HID मानक को मुख्य रूप से निजी कंप्यूटर इनपुट उपकरणों में नवाचार को सक्षम करने और ऐसे उपकरणों को स्थापित करने की प्रक्रिया को सरल बनाने के लिए अपनाया गया था। HID अवधारणा की शुरुआत से पहले, उपकरण आमतौर पर माउस (कंप्यूटिंग), कीबोर्ड (कंप्यूटिंग) और जोस्टिक के लिए कड़ाई से परिभाषित संचार प्रोटोकॉल के अनुरूप होते थे; उदाहरण के लिए, उस समय के मानक माउस प्रोटोकॉल ने रिश्तेदार एक्स- और वाई-अक्ष डेटा और दो बटन तक बाइनरी इनपुट का समर्थन किया, जिसमें कोई विरासत समर्थन नहीं था। सभी हार्डवेयर नवाचारों के लिए या तो मौजूदा प्रोटोकॉल में डेटा के उपयोग को ओवरलोड करना या कस्टम डिवाइस ड्राइवरों का निर्माण करना और डेवलपर्स के लिए एक नए प्रोटोकॉल का प्रचार करना आवश्यक है। इसके विपरीत, सभी एचआईडी-परिभाषित डिवाइस स्वयं-वर्णन पैकेज प्रदान करते हैं जिनमें डेटा प्रकारों और स्वरूपों की संख्या हो सकती है। कंप्यूटर पर एक सिंगल HID ड्राइवर डेटा को पार्स करता है और डेटा इनपुट/आउटपुट|I/O के डायनेमिक एसोसिएशन को एप्लिकेशन कार्यक्षमता के साथ सक्षम बनाता है, जिसने तेजी से नवाचार और विकास को सक्षम किया है, और नए मानव-इंटरफ़ेस उपकरणों के विविधीकरण को सक्षम किया है।

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

HID प्रोटोकॉल की अपनी सीमाएँ हैं, लेकिन सभी आधुनिक मुख्यधारा के ऑपरेटिंग सिस्टम किसी विशेष ड्राइवर की आवश्यकता के बिना मानक USB HID उपकरणों, जैसे कि कीबोर्ड और चूहों को पहचानेंगे। स्थापित होने पर, एक संदेश कहता है कि 'एचआईडी-अनुपालन डिवाइस' को पहचान लिया गया है, आमतौर पर स्क्रीन पर दिखाई देता है। इसकी तुलना में, यह संदेश आमतौर पर PS/2 दीन कनेक्टर|PS/2 6-पिन DIN कनेक्टर के माध्यम से जुड़े उपकरणों के लिए प्रकट नहीं होता है जो USB से पहले होता है। PS/2 आमतौर पर प्लग करें और खेलें का समर्थन नहीं करता है, जिसका अर्थ है कि PS/2 कीबोर्ड या माउस को चालू कंप्यूटर से कनेक्ट करना हमेशा काम नहीं करता है और कंप्यूटर के मदरबोर्ड के लिए खतरा पैदा कर सकता है। इसी तरह, PS/2 मानक HID प्रोटोकॉल का समर्थन नहीं करता है। USB मानव इंटरफ़ेस डिवाइस वर्ग USB HID का वर्णन करता है।

एचआईडी प्रोटोकॉल के घटक
HID प्रोटोकॉल में, 2 संस्थाएँ हैं: होस्ट और डिवाइस। डिवाइस वह इकाई है जो सीधे मानव के साथ इंटरैक्ट करती है, जैसे कि कीबोर्ड या माउस। होस्ट डिवाइस के साथ संचार करता है और मानव द्वारा किए गए कार्यों पर डिवाइस से इनपुट डेटा प्राप्त करता है। आउटपुट डेटा होस्ट से डिवाइस और फिर मानव तक प्रवाहित होता है। होस्ट का सबसे आम उदाहरण पर्सनल कंप्यूटर है लेकिन कुछ मोबाइल फोन और व्यक्तिगत अंकीय सहायक भी होस्ट हो सकते हैं।

एचआईडी प्रोटोकॉल उपकरणों के कार्यान्वयन को बहुत आसान बनाता है। डिवाइस अपने डेटा पैकेट को परिभाषित करते हैं और फिर होस्ट को एक HID डिस्क्रिप्टर प्रस्तुत करते हैं। HID डिस्क्रिप्टर बाइट्स का एक हार्ड कोडेड ऐरे है जो डिवाइस के डेटा पैकेट का वर्णन करता है। इसमें शामिल हैं: डिवाइस कितने पैकेट का समर्थन करता है, पैकेट का आकार, और पैकेट में प्रत्येक बाइट और बिट का उद्देश्य। उदाहरण के लिए, कैलकुलेटर प्रोग्राम बटन वाला एक कीबोर्ड होस्ट को बता सकता है कि बटन के दबाए/जारी होने की स्थिति को डेटा पैकेट संख्या 4 में 6 बाइट में 2 बिट के रूप में संग्रहीत किया जाता है (ध्यान दें: ये स्थान केवल उदाहरण हैं और डिवाइस-विशिष्ट हैं). डिवाइस आमतौर पर ROM में HID डिस्क्रिप्टर को स्टोर करता है और उसे HID डिस्क्रिप्टर को आंतरिक रूप से समझने या पार्स करने की आवश्यकता नहीं होती है। आज बाजार में कुछ माउस और कीबोर्ड हार्डवेयर केवल 8-बिट सेंट्रल प्रोसेसिंग यूनिट का उपयोग करके कार्यान्वित किए जाते हैं। डिवाइस की तुलना में होस्ट के अधिक जटिल इकाई होने की उम्मीद है। होस्ट को डिवाइस से HID डिस्क्रिप्टर को पुनः प्राप्त करने और डिवाइस के साथ पूरी तरह से संचार करने से पहले इसे पार्स करने की आवश्यकता होती है। HID डिस्क्रिप्टर को पार्स करना जटिल हो सकता है। डिवाइस ड्राइवरों को मूल रूप से जनता के लिए जारी किए जाने के वर्षों बाद HID डिस्क्रिप्टर को पार्स करने के लिए जिम्मेदार डिवाइस ड्राइवरों में कई ऑपरेटिंग सिस्टमों को शिप किए गए बग के लिए जाना जाता है। हालांकि, यह जटिलता ही वह कारण है जिसके कारण एचआईडी उपकरणों के साथ तेजी से नवाचार संभव है।

उपरोक्त तंत्र वर्णन करता है कि एचआईडी रिपोर्ट प्रोटोकॉल के रूप में जाना जाता है। क्योंकि यह समझा गया था कि सभी होस्ट HID डिस्क्रिप्टर को पार्स करने में सक्षम नहीं होंगे, HID बूट प्रोटोकॉल को भी परिभाषित करता है। बूट प्रोटोकॉल में, केवल विशिष्ट उपकरणों को केवल विशिष्ट विशेषताओं के साथ समर्थित किया जाता है क्योंकि निश्चित डेटा पैकेट स्वरूपों का उपयोग किया जाता है। इस मोड में एचआईडी डिस्क्रिप्टर का उपयोग नहीं किया जाता है, इसलिए नवाचार सीमित है। हालाँकि, लाभ यह है कि मेजबानों पर न्यूनतम कार्यक्षमता अभी भी संभव है जो अन्यथा HID का समर्थन करने में असमर्थ होंगे। बूट प्रोटोकॉल में समर्थित केवल डिवाइस हैं बूट मोड का एक सामान्य उपयोग कंप्यूटर के बूट अप अनुक्रम के पहले क्षणों के दौरान होता है। कंप्यूटर के BIOS को सीधे कॉन्फ़िगर करना अक्सर केवल बूट मोड का उपयोग करके किया जाता है। कभी-कभी एक संदेश उपयोगकर्ता को सूचित करेगा कि डिवाइस ने सही ड्राइवर स्थापित किया है और अब प्रयोग करने योग्य है।
 * कीबोर्ड - HID उपयोग तालिका में परिभाषित पहले 256 कुंजी कोड (उपयोग) में से कोई भी, उपयोग पृष्ठ 7 को बूट प्रोटोकॉल का उपयोग करके कीबोर्ड द्वारा रिपोर्ट किया जा सकता है, लेकिन अधिकांश सिस्टम केवल इन कुंजियों के सबसेट को संभालते हैं। अधिकांश प्रणालियाँ IBM PC कीबोर्ड पर सभी 104 कुंजियों का समर्थन करती हैं। IBM AT-101 लेआउट, साथ ही Windows 95 के लिए डिज़ाइन की गई तीन अतिरिक्त कुंजियाँ (बाएँ और दाएँ Windows कुंजी, और मेनू कुंजी)। कई प्रणालियाँ बुनियादी पश्चिमी यूरोपीय 105-, कोरियाई 106-, ब्राज़ीलियाई ABNT 107- और जापानी DOS/V 109-कुंजी लेआउट पर अतिरिक्त कुंजियों का समर्थन करती हैं। बटन, घुंडी और चाबियां जो उपयोग पृष्ठ 7 पर रिपोर्ट नहीं की गई हैं, उपलब्ध नहीं हैं। उदाहरण के लिए, एक विशेष यूएस कीबोर्ड की QWERTY कुंजियाँ काम करेंगी लेकिन कैलकुलेटर और लॉगऑफ़ कुंजियाँ नहीं होंगी क्योंकि वे उपयोग पृष्ठ 12 पर परिभाषित हैं और बूट प्रोटोकॉल में रिपोर्ट नहीं की जा सकती हैं।
 * माउस - केवल X-अक्ष, Y-अक्ष और पहले 3 बटन उपलब्ध होंगे। माउस पर कोई भी अतिरिक्त सुविधाएँ काम नहीं करेंगी।

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

एचआईडी
का उपयोग कर अन्य प्रोटोकॉल USB पर HID की मूल परिभाषा के बाद से, HID का उपयोग अब अन्य बस (कंप्यूटिंग) में भी किया जाता है। यह एचआईडी उपकरणों को सक्षम बनाता है जो पारंपरिक रूप से केवल यूएसबी पर पाए जाते थे, जिनका उपयोग वैकल्पिक बसों में भी किया जा सकता है। ऐसा इसलिए किया जाता है क्योंकि USB HID उपकरणों के लिए मौजूदा समर्थन को आमतौर पर माउस, टचपैड, कीबोर्ड और इस तरह के समर्थन के लिए एक पूरी तरह से नए प्रोटोकॉल का आविष्कार करने की तुलना में बहुत तेजी से अनुकूलित किया जा सकता है। HID का उपयोग करने वाली ज्ञात बसें हैं:
 * ब्लूटूथ प्रोफाइल # ह्यूमन इंटरफेस डिवाइस प्रोफाइल (HID) - माउस और कीबोर्ड के लिए उपयोग किया जाता है जो ब्लूटूथ के माध्यम से जुड़े होते हैं
 * सीरियल एचआईडी - माइक्रोसॉफ्ट के विंडोज़ मीडिया सेंटर पीसी रिमोट कंट्रोल रिसीवर्स में उपयोग किया जाता है।
 * ZigBee इनपुट डिवाइस - ZigBee (RF4CE) ZigBee इनपुट डिवाइस प्रोफाइल के जरिए HID डिवाइस को सपोर्ट करता है।
 * I²C पर छिपाई - Microsoft Windows 8 में एम्बेडेड उपकरणों के लिए उपयोग किया जाता है
 * HID over SPI - माइक्रोसॉफ्ट द्वारा तेज, कम विलंबता फिक्स्ड-डिवाइस संचार के लिए विकसित किया गया
 * ब्लूटूथ लो एनर्जी#HID कनेक्टिविटी | HOGP (HID over GATT) - ब्लूटूथ लो एनर्जी तकनीक का उपयोग करके कनेक्ट किए गए HID उपकरणों के लिए उपयोग किया जाता है

यह भी देखें

 * मानव इंटरफ़ेस दिशानिर्देश
 * ह्यूमन कंप्यूटर इंटरेक्शन
 * USB मानव इंटरफ़ेस डिवाइस वर्ग
 * ग्राफिकल यूजर इंटरफेस बिल्डर
 * डेस्कटॉप पर लिनक्स
 * परिधीय
 * मूर्त यूजर इंटरफेस

इस पेज में लापता आंतरिक लिंक की सूची

 * आईबीएम पीसी कीबोर्ड
 * विंडोज की

बाहरी कड़ियाँ

 * HID developers forum, USB.org
 * HID Device Class Definition 1.11 Specification, USB.org
 * HID Usage Tables 1.12 Specification, USB.org