Feststellen der Feststelltaste und der Esc-Taste


116

Wie kann ich die Caps Lockund EscTastenfunktionen in Saucy dauerhaft umschalten ? Ich kann diesen Befehl verwenden, um es vorübergehend zu tun (bis zum Neustart):

/usr/bin/setxkbmap -option "caps:swapescape"

Ich habe versucht, diesen Befehl als Startanwendung hinzuzufügen, aber er scheint nichts zu bewirken.


1
Ich habe diesen Befehl in meinen geschrieben, ~/.bashrcdamit er zwischen Systemneustarts bestehen bleibt. ( ctrl:nocapsfür mich jedoch für tmux)
opyate

2
@opyate Ich würde diesen Befehl in ~ / .profile einfügen, damit er nach einer interaktiven Anmeldung nur einmal ausgeführt wird.
Suzanshakya

Antworten:


126

Ein anderer Weg, dies zu tun, ist durch die dconf-editor. Diese Methode enthält einige zusätzliche Schritte von gnome-tweak-tool, ist jedoch nützlich, wenn Sie die Abhängigkeiten nicht aus dem Tweak-Tool übernehmen möchten.

Auf diese Weise können Sie die caps:swapescapeSyntax verwenden und die Änderung automatisch permanent machen.

sudo apt-get install dconf-tools

dconf-editorNavigieren Sie nach dem Start von zu org >> gnome >> desktop >> input-sources

Fügen Sie die gewünschten Optionen hinzu xkb-options. Die Optionszeichenfolgen werden in einfache Anführungszeichen eingeschlossen und durch Kommas getrennt. Achten Sie darauf, die Klammern an den Enden nicht zu entfernen.

xkb-optionen im dconf-editor

Mit dieser Methode können Sie die meisten herkömmlichen xkb-Optionen eingeben, die in den Systemeinstellungen >> Texteingabe nicht mehr verfügbar sind . Eine Ausnahme bilden die Einstellungen zum Umschalten der Tastaturlayouts, die derzeit aufgrund eines Fehlers nicht funktionieren.

Verwenden Sie für eine Liste der Optionen und der Syntax man 7 xkeyboard-configin einem Terminal.

Eine andere gebräuchliche Option ist terminate:ctrl_alt_bksp, ctrl+ alt+ backspacedas Beenden der X-Sitzung zuzulassen .


5
+1 für die Referenzierung keyboard-config(7), das war es, wonach ich gesucht habe.
Ulidtko

61
Sie können dies auch von der Kommandozeile aus tun, ohne den dconf-editor zu installieren:dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
Pi Delport

4
Führen Sie den obigen Befehl nicht mit 'sudo' aus, da diese Einstellung benutzerspezifisch zu sein scheint.
Bohr

11
Beachten Sie, dass Sie verwenden müssen , 'caps:swapescape'wenn Sie benötigen tauschen die beiden Tasten (statt nur die Zuordnung Esczu Caps Lock).
Thameera

1
oder Sie können tungsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"
ACyclic

50

Eine Lösung, die für die meisten Linux-Distributionen funktionieren sollte:

setxkbmap -option caps:swapescape

Andere Optionen sind möglich:

  • caps:none zu deaktivieren
  • caps:escape um es zu einer zusätzlichen Flucht zu machen
  • caps:super um es zu einem zusätzlichen Super (Windows) Schlüssel zu machen.

Damit dies beim Start funktioniert , müssen Sie es eingeben , ~/.profileda es erst nach der interaktiven Anmeldung ausgeführt wird.


1
Dies funktioniert in Ubuntu 14.04, Unity.
Chad

2
Arbeitete auch für mich in Ubuntu 16.04
Jesse Chan

4
setxkbmap~/.xsessionrc~/.profile
Ab

2
@ Conrad.Dean Ich benutze dies in Mint 19, die auf 18.04 LTS basiert: Keine Probleme hier. Die Einstellungen sollen nicht bestehen bleiben, sondern werden bei der Anmeldung geladen.
Jojo

~/.profileist ein schlechter Ort, um dies zu setzen - diese Datei wird auf jeder Login-Shell gelesen. Legen Sie es in eine Datei, die beim Starten von X11 verwendet wird, wie ~/.xinitrcoder ~/.xsession.
Sarnold

39

Okay, ich habe einen Weg gefunden, dies mit dem Gnome-Tweak-Tool zu tun.

Führen Sie von einem Terminal aus

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

Eine Option zum Vertauschen von Feststelltaste und Esc finden Sie unter "Eingabe -> Feststelltastenverhalten".


5
Auf Ubuntu 14 ist das Layout des Fensters sehr unübersichtlich, aber es funktioniert immer noch.
Uvasal

1
Ja, ich denke, gnome-tweak-toolsollte nicht für diese Aufgabe verwendet werden, da es Standardwerkzeuge gibt, um dies zu tun.
Léo Léopold Hertz 준영

Dies ist bei weitem die beste Lösung.
Jason McVetta

2
Für Ubuntu> 18,04 es finden sich in Keyboard & Mouse> Additional Layout Options>Caps Lock Behavior
Adracus

Das hat bei mir am 19.04 geklappt. Ich konnte am 19.04. Keine der xmodmapoder setxkbmapLösungen zum Fortbestehen bringen.
Ahmorris

23

Sie können mit xmodmap in Terminal tauschen Caps Lockmit Esc:

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

Um diese Änderung für jede Sitzung zu erhalten, erstellen Sie nach dem Ausführen der vorherigen Befehle eine Datei .xmodmapmit den neuen Keymaps. Verwenden Sie dazu den folgenden Befehl:

xmodmap -pke > ~/.xmodmap

Erstellen Sie dann eine Datei mit dem Namen .xinitrcin Ihrem Ausgangsverzeichnis, die die folgende Zeile / den folgenden Befehl enthält:

xmodmap .xmodmap

6
Dies funktioniert nicht unter Ubuntu 14.04. Ich habe auch versucht, eine .xsessionrc-Datei, und es hat auch nicht funktioniert.
Miguel.Martin

Wie machst du die Einstellungen rückgängig?
hlin117

@ hlin117 Lösche einfach den Inhalt der ~/.xmodmapDatei (indem > ~/.xmodmapdu sie nur auf deinem Terminal ausführst) und starte deine Sitzung neu.
Radu Rădeanu

2
Unter Ubuntu 14.04 werden dadurch Escape-Zuordnungen zu Caps_Lock vorgenommen, Caps_Lock jedoch nicht zu Escape.
user1691145

1
Hallo, ich habe das gemacht und es funktioniert. Caps-Lock ist jedoch nicht nur an Caps-Lock gebunden, sondern auch an Caps-Lock und Escape. Ist es möglich, dass die Desktop-Umgebung dies immer noch außer Kraft setzt? Ich benutze KDE
x oder

18

Ähnlich wie @ Radus Antwort , aber kompatibel mit 14.04 (siehe auch diese Antwort ).

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

Wenn es nicht funktioniert, ersetzen Sie:

xmodmap -e "remove Lock = Caps_Lock"

mit:

xmodmap -e "clear Lock"

Funktioniert nicht unter Linux Mint 17.1 (basiert auf Ubuntu) :(
Jan Warchoł

3
musste "remove lock = caps_lock" auf "clear lock" setzen, damit es funktioniert
Sofia

13

Gehen Sie zum Zahnradsymbol in der oberen rechten Ecke des Bildschirms und:

  • Klicken Sie auf Systemeinstellungen
  • Tastaturbelegung
  • Optionen ... (untere rechte Ecke)
  • Feststelltaste Verhalten (4. nach unten)
  • Scrollen Sie nach unten und wählen Sie "ESC und Feststelltaste tauschen".

Getan!


Joe : Willkommen bei Ask Ubuntu! ;-) Könnten Sie bitte meine Bearbeitungen und auch die Bearbeitungshilfe überprüfen , um die Lesbarkeit Ihrer Antworten in Zukunft zu verbessern ... ;-)
Fabby

2
Dies sollte die beste Antwort für Ubuntu und Minze sein
Prasad

Funktioniert dies zusätzlich zu den hier erwähnten Skriptupdates? Tun Sie dies lieber in einem Skript.
Ben Creasy

7

Führen Sie diesen Befehl einmal in einem Terminal aus. dconfsollte bereits mit gnome 3 installiert sein.

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"

Diese Lösung wurde gerade auf RedHat Enterprise Linux 7 getestet.
Chad Skeeters,



2

Ich bin spät dran zu antworten, aber die übliche Art zu tauschen Escund Ctrlist mit den folgenden Zeilen in der ~/.XmodmapDatei:

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

Dies sollte mit allen Desktop-Umgebungen (KDE, Gnome) auf den meisten gängigen Distributionen (Ubuntu- und Debian-Familie, Fedora- und RH-Familie) funktionieren.


Auf Ubuntu 16.04 hat es nicht geklappt. Könntest du bitte mehr ausarbeiten?
MaikoID

@MaikoID: Dies ist so ziemlich die kanonische Art, CapsLock und Esc zu tauschen. Ich verstehe, dass neuere Ubuntu-Versionen mit Unity eine Menge "kanonischer Unixy" -Dinge brechen, weshalb sich alle anderen Antworten hier auf eine versionsspezifische oder DE-spezifische (Unity-) Methode zu beziehen scheinen. Für das, was es wert ist , dies ist auf Kubuntu arbeiten, die ich persönlich benutze.
Dotancohen

2

Für Ubuntu 18.04 und Gnome 3.30 funktioniert das für mich:

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"

arbeitet noch am 19.04.
Exeleration-G

1

Auf der KDE-GUI (grafische Benutzeroberfläche) kann dies über Tastaturlayout in den Systemeinstellungen erfolgen. Klicken Sie auf "Eingabegeräte". Klicken Sie oben links auf Tastatur. Klicken Sie anschließend auf die Registerkarte "Erweitert" und wählen Sie unter "Verhalten der Feststelltaste" die Option "Escape und Feststelltaste umschalten".


Schön, dass Sie diese Frage beantwortet haben. Könnten Sie Ihre Frage bearbeiten, um sie ein wenig zu erweitern, möglicherweise mit dem gewünschten Ergebnis, wenn Sie "ESC und Feststelltaste tauschen" auswählen. ist ausgewählt.
Phil UK

Hallo und willkommen bei Ask Ubuntu! In der jetzigen Form ist diese Antwort nicht vollständig und birgt daher das Risiko, gelöscht zu werden. Lesen Sie bitte unsere Hilfeseite zur Beantwortung, und bearbeiten Sie Ihre Antwort, um weitere Einzelheiten zu erfahren, insbesondere, wie die Frage des OP gelöst wird. Lesen Sie außerdem unsere Tour , um ein Abzeichen und eine bessere Vorstellung von der Funktionsweise unserer Website zu erhalten. Bis demnächst!
Kaz Wolfe

danke an deine ratschläge. Ich wünschte, diese Änderung ist das, was Sie wollen.
Farhad Goodarzi

Zu Ihrer Information, der Link zu Ihrer Domain scheint nicht zu funktionieren (zumindest für mich), aber die vorherige IP-Adress-Domain funktioniert.
Andrew T.

1

Das "Tastaturlayout" mit der obigen Antwort "Escape und Feststelltaste umschalten" ist unter Ubuntu 16.04 und höher nicht mehr gültig (war es vorher? Keine Ahnung). Die Antwort: Um die Hektik mit Berechtigungen usw. zu vermeiden, wechseln Sie einfach zu root, bevor Sie dies alles durch suEingabe Ihres root-Passworts tun . Dann:

    cd /etc/default/
    vim keyboard

Dort sehen Sie die Zeile:

    XKBOPTIONS=""

Ändern Sie es in:

    XKBOPTIONS="caps:swapescape"

Verlasse vim mit save:

    :wqa

Starten Sie neu.

Und das wird dauerhaft sein , das verspreche ich. :)


0

Hinweis: Hiermit wird nicht getauscht, sondern nur die Feststelltaste auf esc festgelegt. (Das war gut genug für meinen vim usecase.)

Für Ubuntu 16.04 (mit i3-Umgebung): Erstellt Datei ~ / .xessionrc mit Inhalt

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape

1
Während diese Antwort in der Tat die Hälfte des Problems lösen kann, das das OP gefragt hat, ob es aufgrund der (ich nehme an) Länge in der Antwortwarteschlange mit niedriger Qualität auftaucht. Sie können es mit weiteren Details erweitern. Wie und warum funktioniert es vielleicht?
Elder Geek
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.