कीबोर्ड कंप्यूटर को ईवेंट भेजते हैं। एक घटना कहती है "स्कैन कोड nnn डाउन" या "स्कैन कोड nnn अप"। श्रृंखला के दूसरे छोर पर, टर्मिनल में चल रहे एप्लिकेशन वर्णों के अनुक्रम के रूप में इनपुट की अपेक्षा करते हैं। (जब तक कि वे एक्स सर्वर की तरह कच्ची पहुंच का अनुरोध नहीं करते।) जब आप दबाते हैं A, तो कीबोर्ड "स्कैन कोड 38 डाउन" की जानकारी भेजता है। कंसोल ड्राइवर अपने कीमैप को देखता है और इसे "वर्ण a
" (यदि कोई संशोधक कुंजी नहीं दबाया जाता है) में बदल देता है।
जब आप किसी कुंजी या कुंजी संयोजन को दबाते हैं, जिसके परिणामस्वरूप वर्ण नहीं होता है, तो जानकारी को वर्णों के संदर्भ में एन्कोड किया जाना चाहिए। कुछ कुंजियों और कुंजी संयोजनों में संबंधित नियंत्रण वर्ण होते हैं, जैसे Ctrl+ Aवर्ण ␁
(बाइट मान 1) Returnभेजता है, वर्ण भेजता है ␍
(Ctrl + M, बाइट मान 13), आदि। अधिकांश फ़ंक्शन कुंजियों में संबंधित वर्ण नहीं होता है और इसके बजाय भेजते हैं। वर्णों का एक क्रम जो ␛
(बच, बाइट मान 27) वर्ण से शुरू होता है । उदाहरण के लिए, कुंजी Upको एस्केप सीक्वेंस ␛[A
(तीन वर्ण: एस्केप, ओपन ब्रैकेट, कैपिटल ए) में अनुवादित किया गया है ।
कंसोल पर उपयोगकर्ता नाम संकेत गूंगा है और अधिकांश एस्केप दृश्यों को नहीं समझता है। इसमें आपके द्वारा उपयोग किए जाने वाले लाइन संस्करण और इतिहास सुविधाएँ नहीं हैं: जिन्हें शेल द्वारा प्रदान किया गया है, और जब तक आप लॉग इन नहीं करते, आपके पास शेल नहीं है। तो यह बस एस्केप सीक्वेंस प्रदर्शित करता है। ␛
चरित्र के लिए कोई ग्लिफ़ नहीं है , इसलिए इसे प्रदर्शित किया जाता है ^[
। इस ^
चिन्ह का उपयोग पारंपरिक रूप से नियंत्रण वर्णों के लिए उपसर्ग के रूप में किया जाता है, और ^[
इसके बाइट मूल्य के कारण पलायन होता है : यह बाइट मान [
, माइनस 64 है।
यदि आप Upएक शेल प्रॉम्प्ट पर दबाते हैं , तो यह आपके शेल में समान 3-वर्ण अनुक्रम भेजता है। शेल इसे एक कमांड अनुक्रम (आमतौर पर पिछले इतिहास आइटम को याद करने के लिए) के रूप में व्याख्या करता है। यदि आप एक प्रेस प्रॉम्प्ट पर Ctrl+ दबाते हैं , Vतो Upयह प्रॉम्प्ट पर एस्केप सीक्वेंस डालता है: Ctrl+ Vकमांड को कमांड के रूप में व्याख्या करने के बजाय अगले वर्ण को शाब्दिक रूप से सम्मिलित करने के लिए एक कमांड है, इसलिए ␛
कैरेक्टर को एस्केप सीक्वेंस की शुरुआत के रूप में नहीं समझा जाता है। ।
कुछ चाबियाँ केवल संशोधक हैं और टर्मिनल अनुप्रयोगों में प्रेषित नहीं की जाती हैं। उदाहरण के लिए, जब आप दबाते हैं Shift, तो यह जानकारी टर्मिनल ड्राइवर में रहती है, और इसे ध्यान में रखा जाता है यदि आप दबाते हैं A, तो ड्राइवर A
इसके बजाय एप्लिकेशन को भेजता है a
।
इसके अतिरिक्त कुछ फ़ंक्शन कुंजियाँ आपके कंसोल में मैप नहीं की जा सकती हैं।
GUI में समान दृश्य के लिए, देखें कि bash की मेटा कुंजी क्या है?
getty
याlogin
, हालांकि मुझे यकीन है कि क्यों नहीं कर रहा हूँ। शिक्षित अनुमान यह कहता है कि ऐतिहासिक कारणों से प्रिंट स्क्रीन की व्याख्या विशेष रूप से कर्नेल द्वारा की जाती है। मैं 100% यकीन नहीं कर रहा हूँ, हालांकि, संशोधक को छोड़कर।