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.

Isaac Dontje Lindell
quelle
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 .

chaskes
quelle
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.

jojo
quelle
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".

Isaac Dontje Lindell
quelle
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
Radu Rădeanu
quelle
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"
Gilly
quelle
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
quelle
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']"
Chad Skeeters
quelle
Diese Lösung wurde gerade auf RedHat Enterprise Linux 7 getestet.
Chad Skeeters,
3

Dies kann über die Systemeinstellung "Tastaturlayout" erfolgen . Klicken Sie für das verwendete Layout auf "Optionen" und wählen Sie unter "Verhalten der Feststelltaste" die Option "Escape und Feststelltaste umschalten".

Gabe Moothart
quelle
Das ist nicht verfügbar in mindestens 13.10.
Isaac Dontje Lindell
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.

dotancohen
quelle
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']"
bescheiden
quelle
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".

Farhad Goodarzi
quelle
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. :)

Alex Fedotov
quelle
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
Manoj Bisht
quelle
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