स्कैनकोड
This article needs additional citations for verification. (October 2011) (Learn how and when to remove this template message) |
एक स्कैनकोड (या स्कैन कोड) वह डेटा है जो अधिकांश कंप्यूटर कीबोर्ड कंप्यूटर को रिपोर्ट करने के लिए भेजते हैं कि कौन सी कुंजी दबाई गई है। एक संख्या, या संख्याओं का क्रम, कीबोर्ड पर प्रत्येक कुंजी को निर्दिष्ट किया जाता है।
वेरिएंट
पंक्ति और स्तंभ द्वारा प्रमुख स्थितियों का मानचित्रण करने के लिए कम जटिल कंप्यूटर हार्डवेयर की आवश्यकता होती है; इसलिए, अतीत में, स्कैनकोड को पाठ वर्णों में अनुवाद करने के लिए सॉफ़्टवेयर या फर्मवेयर का उपयोग करना पाठ वर्ण द्वारा कीबोर्ड को वायर करने की तुलना में कम खर्चीला था।[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 में स्कैनकोड भेजने के लिए कहा जा सकता है।
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]
यह भी देखें
- मृत कुंजी
- मेटा कुंजी
- कीबोर्ड विन्यास
संदर्भ
- ↑ 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.
- ↑ "Torvalds/Linux". GitHub. 18 February 2022.
- ↑ Keyboard scancodes (section 10, "Keyboard internal scancodes"), Andries Brouwer. Version 1.2e, 2004-05-20, accessed 2006-11-15.
- ↑ Keyboard scancodes (section 11, "The AT keyboard controller"), Andries Brouwer. Version 1.2g, 2009-07-07, accessed 2010-07-18.
- ↑ Microsoft Keyboard Scan Code Specification (Appendix C, "USB Keyboard/Keypad Page (0x07)"), Microsoft. Revision 1.3a, 2000-03-16, accessed 2018-10-13.
बाहरी संबंध
- Keyboard scancodes: written by Andries Brouwer
- Interfacing the AT Keyboard: Detailed information on keyboard scancodes from beyondlogic.org