आर्क लिनक्स में कुंजी से बचने के लिए कैप्स लॉक कुंजी को मैप कैसे करें


23

मेरा OS आर्क लिनक्स amd64, Gnome ENV है।

मैं आर्क लिनक्स में (भागने) की Caps Lockकुंजी को मैप करना चाहता हूं Esc। मैं कमांड चलाता हूं:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

यह अच्छी तरह से काम करता है, लेकिन एक पल बाद, कैप्स लॉक कुंजी फिर से काम करती है। और मुझे फिर से कमांड चलाना होगा।

मुझे पूरा यकीन है कि इस समाधान ने एक साल पहले अच्छी तरह से काम किया। मेरी समस्या क्या है? क्या कोई मेरी आर्क लिनक्स ओएस में हमेशा के लिए एस्केप कुंजी की कैप्स लॉक कुंजी को मैप करने में मेरी मदद कर सकता है?

जवाबों:


47

निम्नलिखित में से कोई भी (जटिलता के बढ़ते क्रम में):

  1. setxkbmapकुंजी को फिर से भरने के लिए उपयोग करें (एक डेमन की आवश्यकता नहीं है और आपके डेस्कटॉप वातावरण या विंडो प्रबंधक से स्वतंत्र है)। इससे पहले कि आदेश जोड़ने के लिए मत भूलना exec gnome-sessionअपने में (या समान) लाइन ~/.xinitrcया ~/.xsession:

    setxkbmap -option caps:escape
    

setxkbmapपैकेज अतिरिक्त / xorg-setxkbmap में पाया जा सकता है ।

  1. dconf-editororg.gnome.desktop.input-sources.xkb-optionscaps:escapeपूर्वोक्त क्षेत्र में जोड़ें ।
  2. gnome-session-settings → स्टार्टअप प्रोग्राम → जोड़ें → नाम = बचने के लिए कैप्स को लॉक करें, कमांड =setxkbmap -option caps:escape
  3. एक कस्टम कीबोर्ड लेआउट बनाएँ

FYI करें, मैं द्वारा XKB शासन प्राप्त ग्रेप पिंग /usr/share/X11/xkb/rulesके लिए capsऔर esc


2
Dconf मेथड ने मेरे लिए पूरी तरह से काम किया धन्यवाद!
कीथ स्माइली

नहीं के लिए धन्यवाद। 2. मैं उम्र के लिए उस जानकारी की तलाश में था। मैं इसे कमांड लाइन परgsettings org.gnome.desktop.input-sources xkb-options ['caps:none', 'numpad:pc', 'numpad:mac']
ओलिवर जान क्रिल्लो

न के बारे में। 1: यदि आप दो भागने की चाबी के बजाय इसे स्वैप करना चाहते हैं, तो आप चला सकते हैं setxkbmap -option caps:swapescape
17

5

उपयोग के लिए X, आर्क विकी सूक्ति पृष्ठ में XkbOptions के साथ कीबोर्ड को संशोधित करने के निर्देश हैं :

Dconf-editor का उपयोग करते हुए, org.gnome.desktop.input-sources.xkb- ऑप्शंस नाम की कुंजी पर जाएँ और सूची में वांछित XkbOptions (जैसे 'कैप्स: swapescape') जोड़ें।

कंसोल में, आप एक ही प्रभाव के लिए एक कस्टम कीमैप बना सकते हैं । के लिए अपेक्षित परिवर्तन के साथ अपने व्यक्तिगत कीमैप बनाएं CapsLockऔर Escapeपर /usr/share/kbd/keymaps/i386/qwerty/yourmapतो tarयह और में एक पंक्ति में शामिल हैं /etc/vconsole.confइसे कहते हैं:

KEYMAP=yourmap

3

xorg.conf

आप फ़ाइल को संपादित करके इसे प्राप्त कर सकते हैं /etc/X11/xorg.conf.d/00-keyboard.conf

उदाहरण फ़ाइल:

Section "InputClass"
        Identifier      "system-keyboard"
        MatchIsKeyboard     "on"
        Option          "XkbLayout" "us"
        Option          "XkbModel"  "pc104"
        Option          "XkbOptions" "caps:swapescape"
EndSection  

आप कई XkbOptions निर्दिष्ट कर सकते हैं, उदाहरण के caps:swapcaps,terminate:ctrl_alt_bkspलिए esc और कैप की अदला-बदली, लेकिन साथ ही X को मारे जाने की अनुमति देता है CtrlAlt Backspace। आप इसके बारे में अधिक जानकारी पा सकते हैं man xkeyboard-config

जीयूआई

आप GNOME Tweak Tool (ग्नोम-ट्वीक-टूल पैकेज) का भी उपयोग कर सकते हैं। बस पर क्लिक करें Typingऔर फिर Ctrl positionमेनू में से जो भी आपको पसंद आए उसे चुनें (नीचे चित्र देखें)।

यहाँ छवि विवरण दर्ज करें


2

आप xmodmap का उपयोग कर सकते हैं। अपना रखो ~/.Xmodmap:

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

(शुरुआत में सुनिश्चित करें कि X आपका उपयोग करेगा ~/.Xmodmap)


यह सही, डिस्ट्रो-अज्ञेयवादी और डेस्कटॉप-अज्ञेयवादी उत्तर है।
डॉटान्चेन

जब मैंने इसे रखा ~/.Xmodmap, तो कुछ नहीं हुआ :(
Jan Warchoł

xmodmap ~/.Xmodmapअपनी लाइन रखो ~/.xinitrc!
uzsolt

जब मैं इसे ~/.Xmodmapxmodmap ~/.Xmodmapxmodmap: .Xmodmap:1: bad remove modifier name 'lock=caps_lock', not allowed xmodmap: .Xmodmap:2: bad keysym target key symbol 'Escape=Caps_Lock' xmodmap: .Xmodmap:3: bad keysym target key symbol 'Caps_Lock=Escape' xmodmap: .Xmodmap:4: bad add modifier name 'lock=caps_lock', not allowed xmodmap: 4 errors encountered, aborting
लगाता

आपको समान चिह्न के आसपास रिक्त स्थान की आवश्यकता होगी। मैंने उत्तर को संशोधित किया।
uzsolt

0

! मुझे नहीं पता कि ऊपर दिए गए जवाब काम क्यों नहीं करते हैं। यहाँ मेरे लिए एक काम कर रहा है। अपने ~ / .Xmodmap में

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

और फिर

$ xmodmap ~/.Xmodmap

मैं फेडोरा और नॉन-गनोम विंडो मैनेजर का उपयोग कर रहा हूं। HTH


0

फ़ाइल /etc/X11/xorg.conf.d/00-keyboard.confका उपयोग करके ऑटो-जनरेट भी किया जा सकता है systemd-localed। निम्नलिखित आदेश का उपयोग करें:

localectl set-x11-keymap us "" "" caps:escape

या, कुछ अन्य उपयोगी विकल्प सहित:

localectl set-x11-keymap us,de "" "" caps:escape,grp:alt_caps_toggle,grp_led:caps,lv3:ralt_switch_multikey,terminate:ctrl_alt_bksp,eurosign:e,rupeesign:4

त्वरित स्पष्टीकरण:

  • CapsLk के रूप में कार्य करता है Esc
  • के बीच दो कीबोर्ड लेआउट टॉगल us/ deसाथ Alt+CapsLk
  • CapsLk LED इंगित करता है कि कौन सा लेआउट सक्रिय है
  • राइट ऑल्ट ( RAlt) "मल्टीकी" है (कम्पोज़ कुंजी देखें )
    • RAlt+ eउत्पन्न करता है
    • RAlt+ 4उत्पन्न (कैसे Shift+ 4उत्पन्न के समान $)
  • Ctrl+ Alt+ Backspaceएक्स को मारता है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.