जवाबों:
वर्चुअल कंसोल पर कीबोर्ड लेआउट में हेरफेर करने के उपकरण हैं loadkeys
, dumpkeys
और showkey
। उनके मैनपेज़ पढ़ें और अपनी पेचीदगियों के बारे में खुद को सूचित करें।
ध्यान दें कि ये उपकरण केवल एक वर्चुअल कंसोल में काम करते हैं, किसी टर्मिनल एमुलेटर में नहीं जैसे कि गनोम में। अंतर के बारे में जानने के लिए इस प्रश्न और उत्तरों को पढ़ें: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal ।
यहाँ एक छोटा गाइड है जो आप चाहते हैं:
अपना वर्तमान कीबोर्ड लेआउट सहेजें:
$ dumpkeys > backup.kmap
यदि कुछ गलत हो जाता है, तो आप कमांड का उपयोग करके अपने कीमैप को पुनर्स्थापित करने में सक्षम हो सकते हैं:
$ sudo loadkeys backup.kmap
यदि कीबोर्ड इतना गड़बड़ है कि आप ऐसा नहीं कर सकते हैं, तो प्राचीन कर्नेल जादू को शामिल नहीं करने का आपका एकमात्र विकल्प रिबूट करना है।
जांचें कि कौन-सी कीकोड आपकी चाबियों को सौंपे गए हैं:
$ showkey
अब ESC कुंजी और CAPSLOCK कुंजी दबाएं। कीकोड स्क्रीन पर दिखना चाहिए। कीकोड पर ध्यान दें। मेरे सिस्टम पर ESC का कीकोड 1 है और CAPSLOCK का कीकोड 58 है। showkey
निष्क्रियता के 10 सेकंड के बाद समाप्त हो जाएगा (कम से कम यह मेरे ubuntu 10.04 पर है)।
डंके से ESC और CAPSLOCK कुंजी के नाम नोट करें:
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
डंपकी से कीमैप लाइन पर ध्यान दें:
$ dumpkeys | head -1
keymaps 0-127
एक कीमैप फ़ाइल बनाएँ जो ESC और CAPSLOCK को स्विच करती है:
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
कीमैप लोड करें:
$ sudo loadkeys swap_esc_capslock.kmap
परीक्षण: CAPSLOCK कुंजी का परीक्षण स्पष्ट है। बस वे CAPSLOCK कुंजी दबाएं और जांचें कि क्या अन्य कुंजी पूंजीकृत हैं। ESC कुंजी का परीक्षण करने के लिए आप ESC द्वारा पीछा CTRL + V का उपयोग कर सकते हैं। इसे छापना चाहिए ^[
। CTRL + V शेल को व्याख्या करने के बजाय शेल को अगली कुंजी शब्दपट्टी बनाता है।
प्रत्येक रिबूट पर इस संशोधन का भार उठाने के लिए, अपनी /etc/rc.local
फ़ाइल में निम्न पंक्ति रखें :
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
जानकारी विभिन्न पृष्ठों से एकत्र की गई, जिसमें शामिल हैं, लेकिन इन तक सीमित नहीं है:
/usr/bin/loadkeys
में /etc/rc.local
के बाद से पथ वातावरण चर इस स्तर पर स्थापित किया जाना इसकी गारंटी नहीं है। और sudo
में की जरूरत नहीं है rc.local
।
rc.local
सिस्टम बूट्स को हर बार निष्पादित करता है। @ bukzor sudo setupcon
में नहीं है rc.local
, यह एक बार का सेटअप कमांड है, जो बिना किसी रनअप स्टार्टअप कोड को जोड़े बिना सिस्टम डिफ़ॉल्ट कीमैप को बदल देता है। जोड़ने loadkeys
के लिए rc.local
, अतिरिक्त कोड और डुप्लिकेट क्या पहले से ही सिस्टम डिफ़ॉल्ट loadkeys द्वारा किया गया था शुरू देती। rc.local
विधि वास्तव में कम सुरक्षित हो सकता है, क्योंकि यह कीमैप करने के लिए एक गैर मानक रास्ते पर निर्भर करता है।
setupcon
विधि को विस्तृत करें । यदि आप चाहें तो अपना उत्तर जोड़ें या मेरा संपादन करें।
setupcon
। ऐसा प्रतीत होता है कि अगस्त ने यह धारणा बना दी है कि ऐसा sudo setupcon --save
होगा rc.local
जिसमें मुझे नहीं लगता कि यह सच है, लेकिन अगर ऐसा होता है, तो आपको इसकी आवश्यकता नहीं sudo
है rc.local
। मुझे लगता है कि हमें आपके उत्तर को अपडेट करने से पहले अधिक जानकारी की आवश्यकता है। मुख्य प्रश्न "संशोधित कीमैप को कैसे स्थापित किया जाए ताकि बूट प्रक्रिया के दौरान यह स्वचालित रूप से लोड हो जाए?" मैं वास्तव में नहीं जानता कि कौन सा बेहतर तरीका है, rc.local
या कीमैप स्थापित करना, या यहां तक कि अगर कीमैप स्थापित करना काम करेगा। मैं हाल ही में इस पर शोध कर रहा हूं और मैं यहां वापस जांच करूंगा।
'Ctrl: swapcaps' के स्थान पर 'ctrl: nocaps' का उपयोग करें यदि आप सिर्फ दो कैप्सलॉक कुंजी चाहते हैं (किसी अन्य नाम से कैप्सलॉक अभी भी सुपर बेकार है)।
X11: (यह भी देखें: /usr/share/X11/xkb/rules/base.lst
)
sudo vim /etc/default/keyboard
XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
sudo restart lightdm
पाठ कंसोल: (setupcon से चोरी)
#!/bin/sh
. /etc/default/console-setup
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
"$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
| gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz
sudo setupcon --save
rc.local के संपादन के बजाय परिवर्तन को स्थायी बनाने के लिए भी उपयोग कर सकते हैं । यह अनिवार्य रूप सेdumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz