मैं Ubuntu 16.04 में चाबियों को लगातार कैसे निकाल सकता हूं?


23

यह वर्तमान सत्र के लिए काम कर रहा है:

costales@dev:~/Desktop$ xmodmap -e "keycode 166 = less"
costales@dev:~/Desktop$ xmodmap -e "keycode 167 = greater"

फिर मैंने यह कॉन्फिग फाइल बनाई:

costales@dev:~/Desktop$ cat ~/.Xmodmap 
keycode 166 = less
keycode 167 = greater
costales@dev:~/Desktop$ 

लेकिन यह रिबूट के बाद काम नहीं कर रहा है। मैं रीबूट को रीबूट के लिए कैसे मजबूर कर सकता हूं?


बस का उपयोग कर इस जवाब xkb: यहाँ पर askubuntu.com/a/960097/554991
danwild

जवाबों:


15

मैं एक छोटे से के लिए 16.04 का उपयोग कर रहा हूँ और यह अपने डेस्कटॉप प्रबंधक के रूप में sddm का उपयोग करने के लिए लगता है। यह इससे पहले LightDM और GDM हुआ करता था। इसके दोनों पूर्ववर्तियों को ~/.Xmodmapस्वचालित रूप से लोड करने के लिए प्रलेखित किया गया है, लेकिन मुझे स्पष्ट रूप से कुछ भी नहीं कहा जा सकता है कि एसडीएमडी करता है।

इसलिए इसे एक नई स्क्रिप्ट के साथ लोड करने के लिए मजबूर करने की सलाह दी जा सकती है। आपको बस चलाने की जरूरत है xmodmap ~/.Xmodmapऔर आप कई तरह से कर सकते हैं:

संभवतः इसे प्रबंधित करने के लिए कुछ दर्जन अन्य तरीके हैं, अनिवार्य रूप से एक ही काम कर रहे हैं।


2
पारितोषिक के लिए धन्यवाद! शुरू करने के लिए जोड़ें काम नहीं किया और ~ / .xinitrc बाहर नहीं निकलता है। लेकिन "xmodmap ~ / .Xmodmap" को ~ / .bashrc में जोड़ें! :)
कॉस्टेल्स

1
इसे ग्राफिकल स्टार्ट अप टूल्स के माध्यम से जोड़ना (जो एक नई प्रविष्टि बनाता है ~/.config/autostart) लगभग आधा समय काम करता है। मैंने अब लगभग 10 बार रिबूट किया है और 5 बार कमांड निष्पादित किया गया है और अन्य 5 बार ऐसा नहीं हुआ है। :-(
अलेक्जेंडर रेचस्टीनर

1
@Alexander Rechsteiner: यह Ubuntu 16.04 में एक समस्या लगती है। मैं स्टार्टअप कमांड और कुंजी रीमैपिंग के साथ काम कर रहा हूं, और व्यवहार बहुत असंगत लगता है। मैं इस तरह की चीज का विशेषज्ञ नहीं हूं, लेकिन ऐसा होना पूरी तरह से हास्यास्पद लगता है ...
निकोलेरियस

6

मैंने /etc/X11/Xsession.d/80_xmodmapइन सामग्रियों के साथ एक फ़ाइल जोड़ी :

#!/bin/sh
# Set custom keycodes
#
# This file is sourced by Xsession(5), not executed.
# The "|| true" is to ensure that the Xsession script does not terminate on error

USRMODMAP="$HOME/.Xmodmap"

if [ -x /usr/bin/xmodmap ]; then
        if [ -f "$USRMODMAP" ]; then
                /usr/bin/xmodmap "$USRMODMAP" || true
        fi
fi

यह हर बार काम करता है।


यह काम करने के लिए प्रकट होता है, लेकिन यह मेरे द्वारा प्राप्त संदेशों को है। 9 = एस्केप
कीकोड

4

खुले ग्नोम-सत्र-गुण। कमांड और नाम जोड़ें। डेस्कटॉप फ़ाइल ~ / .config / autostart में बनाई जाएगी।

अनुस्मारक: का उपयोग करें निरपेक्ष पथ का , जैसे /home/xxx/.Xmodmap। कभी भी अपने घर की डायर के रूप में '~' का उपयोग न करें।


2

उबंटू में कुंजियों को फिर से भरने के साथ मेरे लंबे अनुभव में, स्थायी समाधान में एक फ़ाइल को संशोधित करना evdevहै /usr/share/X11/xkb/keycodes

कमांड प्रॉम्प्ट में यह कमांड चलाएँ।

sudo gedit /usr/share/X11/xkb/keycodes/evdev

याद रखें कि gedit एक उबंटू पाठ संपादक है, इसलिए आप gedit के बजाय नैनो या विम का उपयोग कर सकते हैं।

फ़ाइल प्रारूप में है: ALIAS: CODE। आप विभिन्न कुंजियों के कोड को इंटरचेंज करके बटन स्वैप कर सकते हैं। उदाहरण के लिए, RETURN के साथ RCONTROL को स्वैप करने के लिए, इसमें दो लाइनों को संपादित करें:

<RTRN> = 105;

<RCTL> = 36;

बटन चलाने के लिए संख्या कोड जानना xevटर्मिनल पर ।

अधिक जानकारी के लिए दस्तावेज़ देखें। https://buildmedia.readthedocs.org/media/pdf/python-evdev/latest/python-evdev.pdf


1

पर जाए

/usr/share/X11/xkb/symbols

Sudo विशेषाधिकार के साथ, एक संपादक में, उस लेआउट को खोलें जिसे आप संपादित करना चाहते हैं। मान बदलें।

रिबूट के बाद, परिवर्तनों को लागू किया जाएगा।


यहाँ एक उदाहरण है जिसका उपयोग मैं कीबोर्ड हार्डवेयर समस्याओं के कारण अपने कीपैड को हटाने के लिए करता हूं।

कीपैड रीमैप उदाहरण


2
अगली बार उन फ़ाइलों को अपग्रेड करने वाले पैकेजों के संपादन के बाद उन संपादनों को अधिलेखित कर दिया जाएगा।
मोरू

यह सच हो सकता है, लेकिन मुझे संदेह है कि ये विशेष रूप से बहुत बार अपडेट किए जाते हैं। मैं कुछ महीनों से इस समाधान से संतुष्ट हूं क्योंकि मैंने इस मुद्दे को सुलझा लिया है और एक बार मुझे कुछ अतिरिक्त नहीं करना है। और इसे रोकने के लिए, आप फ़ाइल को सहेज सकते हैं और इसे ऐसी घटना के मामले में बदल सकते हैं या (जो अधिक सुरक्षित लगता है) बस प्रक्रिया को फिर से बनाएँ।
13:26 पर उत्तीर्ण

1

Google पर खोज करने के बाद, मैं अपने लैपटॉप की दोषपूर्ण चाबियों को दोबारा हल करने में सक्षम था। मेरे थिंकपैड T400 पर सभी दोषपूर्ण कुंजियाँ रीमैपिंग के बाद ठीक काम कर रही हैं। इसके अलावा, यह सीपीयू कोर पर एक अतिरिक्त भार के बिना स्थायी है।

  • सबसे पहले अपने कीबोर्ड लेआउट या कीकोड को कमांड के नीचे इस्तेमाल करें।

    xevv -event keyboard 
    
  • उदाहरण के लिए, मेरे थिंकपैड T400 कीकोड पर निम्नानुसार पाया:

    Keycode of "z" key is 52
    Keycode of "x" key is 53
    Keycode of "c" key is 54
    Keycode of "v" key is 55
    Keycode of "F6" key is 72
    Keycode of "F10" key is 76
    Keycode of "F11" key is 95
    Keycode of "F12" key is 96 
    
  • फंक्शन कीज़ "F6" "F10" "F11" "F12" को असाइन करके कैरेक्टर कीज़ "z" "x" "c" "v" को रीमैपिंग करें।

  • नीचे दी गई लाइनों को संशोधित करें (यदि गलत हो तो आसानी से रोलबैक में कोई भी बदलाव करने से पहले बैकअप फ़ाइल)।

    sudo vi /usr/share/X11/xkb/keycodes/evdev
    
  • रेखाएँ खोजें और नीचे जैसा मान बदलें:

    <AB01> = 72;
    <AB02> = 76;
    <AB03> = 95;
    <AB04> = 96;
    
  • इन पंक्तियों पर टिप्पणी करें या लाइनों को हटा दें:

    //  <FK06> = 72;
    //  <FK10> = 76;
    //  <FK11> = 95;
    //  <FK12> = 96;
    
  • सुरषित और बहार।

  • विशेष कुंजियों का पुनः निर्माण।

  • रोलबैक में परिवर्तन करने से पहले बैकअप फ़ाइल यदि चीजें गलत हो जाती हैं।

    cd /usr/share/X11/xkb/symbols/
    
    sudo vi pc
    
  • फ़ंक्शन "xkb_symbols" संपादन "{" में नीचे की पंक्तियों को जोड़ें या संशोधित करें

    key [SCLK] {    [  Prior        ]   };
    key [PAUS] {    [  Next         ]   };
    
  • सुरषित और बहार।

  • कैश को साफ़ करें।

    sudo rm -rf /var/lib/xkb/*
    
  • रीबूट।


मैंने इस तकनीक का उपयोग करके एक अन्य कुंजी को एक टूटा हुआ (कर्सर) तीर कुंजी का रीमेक किया। यह बस (xev) है और इसके स्कैन्कोड को पाने के लिए नई कुंजी दबाएं, फिर तीर कुंजी के मूल कीकोड को नए कीकोड के साथ बदलने और नई मूल कुंजी की लाइन को उसके मूल के साथ हटाने के लिए / usr / share / X11 / xkb / keycodes / evdev संपादित करें। scancode। मैंने जहाँ भी बदलाव किया मैंने टिप्पणी की और फ़ाइल का बैकअप रखा। रिबूट के बाद यह पूरी तरह से काम करता है, जिसमें नई तीर कुंजी के साथ शिफ्ट / ctrl / alt संयोजन शामिल है। और पैकेज और OS संस्करण अपग्रेड करते समय भी परिवर्तन को छोड़ दिया जाना चाहिए।
मैथ्यू

1

आलेखीय संपादक

gnome-tweaks > कीबोर्ड और माउस> अतिरिक्त लेआउट विकल्प

मुख्य मानचित्र


0

क्योंकि .Xmodmap फाइलें xkb की तुलना में संपादित करने के लिए बहुत आसान हैं, मैं .modmap को 'स्रोत' फ़ाइल के रूप में उपयोग करता हूं , फिर इसे xkb में बदलें .bashrc विधि का उपयोग करके बूट पर (वर्तमान मानक) और ऑटो-लोड में ।

यह यहाँ पोस्ट किए गए कुछ सरल चरण हैं

पूरी तरह से काम करता है, और जब .Xmodmap के लिए समर्थन गिरा दिया जाता है, तो इसके खिलाफ xkb भविष्य-प्रमाण का उपयोग किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.