स्कैनकोड

From Vigyanwiki

एक स्कैनकोड (या स्कैन कोड) वह डेटा है जो अधिकांश कम्प्यूटर कुंजीपटल कंप्यूटर को संदेश भेजते हैं कि कौन सी कुंजी दबाई गई है। एक संख्या, या संख्याओं का क्रम, कुंजीपटल पर प्रत्येक कुंजी को निर्दिष्ट किया जाता है।

वेरिएंट

पंक्ति और स्तंभ द्वारा प्रमुख स्थितियों का मानचित्रण करने के लिए कम जटिल कंप्यूटर हार्डवेयर की आवश्यकता होती है; इसलिए, अतीत में, स्कैनकोड को पाठ वर्णों में अनुवाद करने के लिए सॉफ़्टवेयर या फर्मवेयर का उपयोग करना पाठ वर्ण द्वारा कीबोर्ड को वायर करने की तुलना में कम खर्चीला था।[1] यह लागत अंतर उतना महंगा नहीं है जितना पहले हुआ करता था। चूंकि, कई प्रकार के कंप्यूटर अभी भी पिछड़े संगतता को बनाए रखने के लिए अपने पारंपरिक स्कैनकोड का उपयोग करते हैं।

कुछ कुंजीपटल मानकों में दबाए जाने वाली प्रत्येक कुंजी के लिए एक स्कैनकोड शामिल होता है। इसके अतिरिक्त, कई कुंजीपटल मानक(उदाहरण के लिए, IBM PC संगत मानक) कुंजीपटल को टाइपमैटिक दोहराने वाली कुंजी उत्पन्न करने की अनुमति देते हैं, जबकि कुंजीपटल को दबाए जाने पर कुंजीपटल को स्कैनकोड उत्पन्न करने की अनुमति मिलती है, स्कैनकोड एक बार भेजे जाने के साथ कुंजी जारी की जाती है।

स्कैनकोड सेट

कुछ संचालन प्रणाली(ऑपरेटिंग सिस्टम) पर कंप्यूटर चालू करते समय कुंजीपटल को दबाए रखकर स्कैनकोड की खोज की जा सकती है। स्केनकोड (या इसका कुछ हिस्सा) परिणामी अटके कुंजी त्रुटि संदेश में निर्दिष्ट किया जाएगा। [नोट: विंडोज 7 पर स्कैनकोड का केवल एक बाइट दिखाई देता है।]

पीसी संगत

आईबीएम पीसी संगत कंप्यूटर कुंजीपटल पर स्कैनकोड 1 से 3 बाइट्स केसमूह होते हैं जो कुंजीपटल द्वारा भेजे जाते हैं। अधिकांश वर्ण कुंजियों में एक बाइट स्कैनकोड होता है; विशेष कार्य करने वाली कुंजियों में 2-बाइट या 3-बाइट स्कैनकोड होते हैं, यह सामान्य स्तर पर बाइट से प्रारम्भ होते हैं (हेक्साडेसिमल में) E0, E1, या E2. इसके अतिरिक्त, कुछ कुंजियाँ लंबे समय तक स्कैनकोड भेजती हैं, जो विभिन्न प्रकार के सॉफ़्टवेयर का प्रक्रिया आसान बनाने के लिए कुंजियों की श्रृंखला को प्रभावी ढंग से अनुकरण करती हैं।

पीसी कीबोर्ड चूंकि PS/2 कुंजीपटल तीन स्कैनकोड समूह का समर्थन करता है। आईबीएम पीसी एक्सटी द्वारा उपयोग किए जाने वाले 83-कुंजी,कुंजीपटल के आधार पर सबसे सामान्य स्तर पर एक्सटी (सेट 1) स्कैनकोड हैं। इनमें अधिकांशतः एक बाइट होती है; कम 7 बिट्स कुंजी की पुष्टि करते हैं, और सबसे महत्वपूर्ण बिट कुंजी प्रेस के लिए स्पष्ट है। अतिरिक्त कुंजियों में a E0 (या संभवतः ही कभी, E1 या E2) उपसर्ग इन्हे प्रारम्भ में इसलिए सौंपा गया था ताकि इसे अनदेखा किया जा सके E0 प्रीफिक्स (जो की-अप रेंज में है और इस प्रकार संचालन प्रणाली पर कोई प्रभाव नहीं पड़ेगा, जो उन्हें समझ में नहीं आया) उचित परिणाम देता है। उदाहरण के लिए संख्यात्मक कुंजीपटल की प्रवेश करना स्कैन कोड उत्पन्न करती है E0 1C, जो कुंजी के स्कैनकोड से मेल खाता है 1C.

आईबीएम 3270 पीसी ने एक अलग कुंजी नंबरिंग के साथ अपने स्वयं के स्कैनकोड (सेट 3) का सेट पेश किया, और जहां एक कुंजी रिलीज़ को संकेत दिया गया है F0 उपसर्ग। पिछड़े संगतता के लिए, 3270 पीसी ने ऐड-ऑन कार्ड और एक BIOS एक्सटेंशन का उपयोग करके इन्हें एक्सटी (सेट 1) स्कैनकोड में अनुवादित किया। यह सेट लिनक्स द्वारा डिफ़ॉल्ट रूप से उपयोग किया जाता है जब यह पीएस / 2 कीबोर्ड का पता लगाता है जो स्कैन कोड सेट 3 का ठीक से समर्थन कर सकता है।[2] आईबीएम पीसी एटी ने एटी (सेट 2) स्कैनकोड पेश किया। 84-कुंजी एटी कीबोर्ड पर ये मोटे तौर पर सेट 3 का एक सबसेट था, जिसमें संशोधित लेआउट के कारण कुछ अंतर थे (उदाहरण के लिए, फ़ंक्शन कुंजियों की स्थिति और स्कैनकोड बदल गए)। कुंजी जोड़े जाने के बाद से पीसी एटी में अक्सर सेट 2 और सेट 3 में अलग-अलग स्कैनकोड होते हैं, और सेट 2 में अक्सर एक होता है E0 या E1 उपसर्ग। फिर से, कुंजी रिलीज को एक द्वारा इंगित किया जाता है F0 उपसर्ग।

आईबीएम पीसी एटी के बाद से कंप्यूटरों के लिए, मदरबोर्ड पर कुंजीपटल नियंत्रक तथाकथित अनुवाद मोड में एटी (सेट 2) स्कैनकोड को एक्सटी (सेट 1) स्कैनकोड में अनुवादित करता है।[3] इस अनुवाद को पास-थ्रू-मोड में अक्षम किया जा सकता है, जिससे कच्चे स्कैनकोड को देखा जा सकता है।[4] इसलिए, एक सॉफ्टवेयर डेवलपर एक आधुनिक पीसी-संगत पर एटी स्कैनकोड या एक्सटी स्कैनकोड का सामना करेगा या नहीं, यह इस बात पर निर्भर करता है कि कीबोर्ड को कैसे एक्सेस किया जा रहा है।

एक अनुपालक PS/2 कीबोर्ड को सेट 1, 2 या 3 में स्कैनकोड भेजने के लिए कहा जा सकता है।

Example PC compatible (IBM PS/2) scancodes
key set 1 (IBM PC XT) set 2 (IBM PC AT) set 3 (IBM 3270 PC)
press release press release press release
A (normal letter) 1E 9E 1C F0 1C 1C F0 1C
Return / Enter (main keyboard) 1C 9C 5A F0 5A 5A F0 5A
Enter (numeric keypad) E0 1C E0 9C E0 5A E0 F0 5A 79 F0 79
Left Windows key E0 5B E0 DB E0 1F E0 F0 1F 8B F0 8B
Right Windows key E0 5C E0 DC E0 27 E0 F0 27 8C F0 8C


यूएसबी

यूनिवर्सल सीरियल बस कीबोर्ड स्कैनकोड के एक नए सेट का उपयोग करते हैं, जो ज्यादातर यूएसबी मानक में निर्दिष्ट होते हैं। USB कीबोर्ड को पहचानने वाले सभी कंप्यूटर इन नए स्कैनकोड को पहचानते हैं।[5]


यह भी देखें

संदर्भ

  1. For example, the traditional 12-key numeric keypad is scanned as 3 columns by 4 rows, requiring a total of 7 connections. Scanning each key separately would require 12 connections.
  2. "Torvalds/Linux". GitHub. 18 February 2022.
  3. Keyboard scancodes (section 10, "Keyboard internal scancodes"), Andries Brouwer. Version 1.2e, 2004-05-20, accessed 2006-11-15.
  4. Keyboard scancodes (section 11, "The AT keyboard controller"), Andries Brouwer. Version 1.2g, 2009-07-07, accessed 2010-07-18.
  5. Microsoft Keyboard Scan Code Specification (Appendix C, "USB Keyboard/Keypad Page (0x07)"), Microsoft. Revision 1.3a, 2000-03-16, accessed 2018-10-13.


बाहरी संबंध