So ordnen Sie die Feststelltaste der Escape-Taste in Arch Linux zu


23

Mein Betriebssystem ist Arch Linux amd64, Gnome ENV.

Ich möchte den Caps LockSchlüssel Esc(Escape) in Arch Linux zuordnen. Ich führe den Befehl aus:

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

Es funktioniert gut, aber einen Moment später funktioniert die Feststelltaste wieder. Und ich muss den Befehl erneut ausführen.

Ich bin mir ziemlich sicher, dass diese Lösung vor einem Jahr gut funktioniert hat. Was ist mein problem Kann mir jemand helfen, die Feststelltaste für immer der Escape-Taste in meinem Arch Linux-Betriebssystem zuzuordnen?

Antworten:


47

Eine der folgenden Angaben (in aufsteigender Reihenfolge der Komplexität):

  1. Verwenden Sie setxkbmapdiese Option, um den Schlüssel neu zuzuordnen (erfordert keinen Dämon und ist unabhängig von Ihrer Desktop-Umgebung oder Ihrem Fenstermanager). Vergessen Sie nicht, den Befehl vor der exec gnome-session(oder einer ähnlichen) Zeile in Ihrem ~/.xinitrcoder hinzuzufügen ~/.xsession:

    setxkbmap -option caps:escape
    

setxkbmapfinden Sie im Paket extra / xorg-setxkbmap .

  1. dconf-editororg.gnome.desktop.input-sources.xkb-optionscaps:escapeZum oben genannten Feld hinzufügen.
  2. gnome-session-settings → Startprogramme → Hinzufügen → Name = Feststelltaste zum Verlassen neu zuordnen, Befehl =setxkbmap -option caps:escape
  3. Erstellen Sie ein benutzerdefiniertes Tastaturlayout

FYI, erhielt ich die XKB Regel durch grep ping /usr/share/X11/xkb/rulesfür capsund esc.


2
Die dconf Methode hat perfekt funktioniert, danke!
Keith Smiley

Danke für nein. 2. Ich habe lange nach diesen Informationen gesucht. Nein, ich kann dies über die Befehlszeile einstellengsettings org.gnome.desktop.input-sources xkb-options ['caps:none', 'numpad:pc', 'numpad:mac']
Oliver Jan Krylow

Bezüglich nein. 1: Wenn Sie es tauschen möchten, anstatt zwei Escape-Tasten zu haben, können Sie ausführen setxkbmap -option caps:swapescape.
Comfreak

5

Zur Verwendung in enthält Xdie Arch Wiki Gnome-Seite Anweisungen zum Ändern der Tastatur mit XkbOptions :

Navigieren Sie mit dem dconf-Editor zu dem Schlüssel org.gnome.desktop.input-sources.xkb-options und fügen Sie der Liste die gewünschten XkbOptions hinzu (z. B. 'caps: swapescape').

In der Konsole können Sie eine benutzerdefinierte Tastaturbelegung für denselben Effekt erstellen . Erstellen Sie Ihre persönliche Keymap mit den erforderlichen Änderungen für CapsLockund Escapezu diesem /usr/share/kbd/keymaps/i386/qwerty/yourmapZeitpunkt tarund fügen Sie eine Zeile ein /etc/vconsole.conf, um sie aufzurufen:

KEYMAP=yourmap

3

Xorg.conf

Sie können dies erreichen, indem Sie die Datei bearbeiten /etc/X11/xorg.conf.d/00-keyboard.conf.

Beispieldatei:

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

Sie können mehrere XkbOptions angeben, z. B. caps:swapcaps,terminate:ctrl_alt_bkspfür das Vertauschen von Esc und Caps, aber auch für das Ermöglichen, dass das X mit getötet wird CtrlAlt Backspace. Weitere Informationen hierzu finden Sie in man xkeyboard-config.

GUI

Sie können auch GNOME Tweak Tool (Gnome-Tweak-Tool-Paket) verwenden. Klicken TypingSie einfach auf und wählen Sie dann aus dem Ctrl positionMenü , was Sie möchten (siehe Abbildung unten).

Bildbeschreibung hier eingeben


2

Sie können xmodmap verwenden. Setzen Sie Ihr ~/.Xmodmap:

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

(Stellen Sie sicher, dass X beim Starten Ihre verwendet ~/.Xmodmap)


Dies ist die richtige, distro-agnostische und desktop-agnostische Antwort.
Dotancohen

Wenn ich das ~/.Xmodmap
eingebe

Setzen Sie Linie xmodmap ~/.Xmodmapzu Ihrem ~/.xinitrc!
Uzsolt

Wenn ich dies ~/.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
eingebe

Sie benötigen Leerzeichen um das Gleichheitszeichen. Ich habe die Antwort geändert.
Uzsolt

0

! Ich weiß nicht, warum die obigen Antworten nicht funktionieren. Hier ist eine funktionierende für mich. In deiner ~ / .Xmodmap

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

und dann

$ xmodmap ~/.Xmodmap

Ich verwende Fedora und Nicht-Gnome-Fenstermanager. HTH


0

Die Datei /etc/X11/xorg.conf.d/00-keyboard.confkann auch mithilfe von automatisch generiert werden systemd-localed. Verwenden Sie den folgenden Befehl:

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

Oder, einschließlich einiger anderer nützlicher Optionen:

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

Schnelle Erklärungen:

  • CapsLk fungiert als Esc
  • Schaltet zwischen zwei Tastaturlayouts us/ demit Alt+ umCapsLk
  • Die CapsLk- LED zeigt an, welches Layout aktiv ist
  • Right Alt ( RAlt) ist das "Multikey" (siehe Compose Key )
    • RAlt+ eerzeugt
    • RAlt+ 4generiert (ähnlich wie Shift+ 4generiert $)
  • Ctrl+ Alt+ Backspacetötet X
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.