Verwenden der Feststelltaste als Esc in Mac OS X.

449

Wie mache ich die Caps LockArbeit wie Escunter Mac OS X?

Vertiefung
quelle
31
Dies scheint eine Standardaufgabe für einen Programmierer zu sein, der vim verwendet. daher meine Stimme zur Wiedereröffnung
Jeromy Anglim
4
Eine Alternative besteht darin, die Feststelltaste der Steuerung zuzuordnen (Systemeinstellungen> Tastatur> Modifizierertasten) und die Escape-Sequenz Ctrl + [für auszuführen esc. Nützlich für Vim.
letzte Spore
2
Native Lösung, die in macOS Sierra funktioniert
Kevin Roth
1
Native Lösung, die in macOS Sierra funktioniert, ist die zweitbeste Antwort hier (von @rkusa)
Marián Černý

Antworten:

394

Bearbeiten: Wie in dieser Antwort beschrieben , bieten neuere Versionen von MacOS jetzt native Unterstützung für das erneute Binden Caps Lockan Escape. Daher ist es nicht mehr erforderlich, Software von Drittanbietern zu installieren, um dies zu erreichen.


Hier ist mein Versuch einer umfassenden, visuellen Durchgangsantwort (mit Links), wie dies mit Seil (früher bekannt als PCKeyboardHack) erreicht werden kann.

  1. Gehen Sie zuerst in die Systemeinstellungen , wählen Sie Tastatur , dann die Registerkarte Tastatur (erste Registerkarte) und klicken Sie auf Modifizierertasten :

Schritt 1

Stellen Sie im Popup-Dialogfeld die Feststelltaste auf No Action:

Wähle keine Aktion

2) Klicken Sie jetzt hier, um Seil herunterzuladen und zu installieren:

3) Nach der Installation wird eine neue Anwendung installiert (Mountain Lion und neuer). Wenn Sie ein älteres Betriebssystem verwenden, müssen Sie möglicherweise nach einem neuen Bereich mit den Systemeinstellungen suchen:

offenes Seil oder das Präferenzfenster

4) Aktivieren Sie das Kontrollkästchen "Feststelltaste ändern" und geben Sie "53" als Code für den Escape-Schlüssel ein:

Stellen Sie den Tastaturcode ein

Und du bist fertig! Wenn es nicht sofort funktioniert, müssen Sie Ihren Computer möglicherweise neu starten.

Beeindruckt? Willst du mehr Kontrolle?

Vielleicht möchten Sie auch KeyRemap4MacBook ausprobieren, das eigentlich das Flaggschiff-Tool zum Neuzuordnen von Tastaturen ist pqrs.org- es ist auch kostenlos.

Wenn Ihnen diese Tools gefallen, können Sie eine Spende machen . Ich habe keine Beziehung zu ihnen, aber ich benutze diese Tools schon lange und muss sagen, dass die Leute dort hervorragende Arbeit geleistet haben, diese zu pflegen, Funktionen hinzuzufügen und Fehler zu beheben.

Hier ist ein Screenshot, der einige der (Hunderte) vorwählbaren Optionen zeigt:

Bild 1.png

PQRS hat auch ein großartiges Dienstprogramm namens NoEjectDelay , das Sie in Kombination mit KeyRemap4MacBook zum Neuprogrammieren der Auswurftaste verwenden können. Nach einer kleinen Änderung habe ich meine eingestellt, um das AirPort Wifi umzuschalten.

Diese Dienstprogramme bieten unbegrenzte Flexibilität beim Neuzuordnen der Mac-Tastatur. Habe Spaß!

cwd
quelle
3
Ich möchte klarstellen, dass ich PCKeyboardHack seit fast 2 Jahren alleine ohne KeyRemap4Macbook verwende, um genau dies zu tun.
Wikipedia
13
Beachten Sie, dass Sie bei Verwendung einer externen Tastatur den ersten Schritt (dh Feststelltaste = keine Aktion) für jede Tastatur wiederholen sollten. Ich habe diesen Schritt für meine externe Tastatur nicht ausgeführt und daher reagierte die Feststelltaste nicht auf sehr schnelle Tastendrücke, da die Feststelltaste versehentlich geschützt war. superuser.com/questions/317900/eliminate-macbook-capslock-delay
Jeromy Anglim
11
Tolles Tutorial. Ich habe Caps Lock für ungefähr ein Jahr auf Esc abgebildet. Es war unglaublich effizient. Eines Tages habe ich mich jedoch mit einem leitenden Entwickler zusammengetan. Ich sagte ihm, ich hätte Vim als meinen Hauptredakteur verwendet. Ich auch, sagte er. Er öffnete seine Maschine und wir fingen an zu arbeiten. Als ich an der Reihe war, den Code zu bearbeiten, fummelte ich herum und stolperte, weil seine Feststelltaste nicht zugeordnet war. Ich versuchte immer wieder, bis zu Esc zu gelangen, aber ich drückte ab und zu Caps und dann änderten sich meine normalen Befehle. Er hat mir beigebracht, dass Strg-C Sie auch wieder in den visuellen Modus versetzt. Tun Sie sich selbst einen Gefallen und beginnen Sie mit Strg-C.
Campeterson
7
(Jeden Tag mehr lernen) CTRL-[ist eigentlich das richtige Äquivalent zu ESC. stackoverflow.com/questions/5030164/…
Campeterson
5
Wäre großartig, wenn Sie auch oben bearbeiten und erwähnen könnten, dass dies jetzt eine native Funktion in macOS 10.12.1 gemäß der Antwort von @ rkusa ist, damit neue Benutzer keine Software von
Drittanbietern
309

Seit macOS 10.12.1 ist eine Neuzuordnung möglich Caps Lock zu Escnativ (Systemeinstellungen -> Tastatur -> Modifier Keys).

Geben Sie hier die Bildbeschreibung ein

rkusa
quelle
11
Genial! Ich fand dies, nachdem ich gehört hatte, dass der neue MBP keinen Escape-Schlüssel haben würde. Es sieht so aus, als hätte Apple eine gewisse Gegenreaktion erwartet.
Andy E
1
Wenn Sie El Capitan 10.11.6 ausführen, ist diese Einstellung bereits verfügbar.
Zool
1
Gott sei Dank dafür; Nachdem Sierra Seil / Karabiner gebrochen hatte, dachte ich, ich wäre zum Scheitern verurteilt.
Philip
4
Seltsamerweise bin ich am 10.11.6 und habe diese Option nicht. Ich darf esc nur Caps, Ctrl, Opt oder Command neu zuordnen. Dies gilt für meine WASD-Tastaturen v2.
Benny Powers
1
Gibt es eine Möglichkeit, dies über die Befehlszeile zu tun? Vielleicht in einer ähnlichen Methode? github.com/herrbischoff/awesome-osx-command-line#keyboard
Jordan Eldredge
40

Ich war mit keiner der Antworten hier zufrieden und suchte nach einer Befehlszeilenlösung .

In macOS Sierra 10.12 hat Apple eine neue Möglichkeit für Benutzer eingeführt, Schlüssel neu zuzuordnen.

  • Sie müssen nicht mit System-GUIs herumspielen
  • Es sind keine besonderen Berechtigungen erforderlich
  • Komplett anpassbar
  • Sie müssen keinen Mist von Drittanbietern wie PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelay installieren

Wenn das für Sie gut klingt, schauen Sie sich das an hidutil.

Um beispielsweise die Feststelltaste neu zuzuordnen, um zu entkommen, lesen Sie die Schlüsseltabelle und stellen Sie fest, dass die Feststelltaste den Verwendungscode 0x39 und das Escape den Verwendungscode 0x29 hat. Geben Sie diese Codes oder den Hex-Wert 0x700000000 in die Quelle ein und destieren Sie wie folgt:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'

Sie können im selben Befehl weitere Zuordnungen hinzufügen. Persönlich möchte ich die Feststelltaste der Rücktaste und die Rücktaste dem Löschen neu zuordnen:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'

So zeigen Sie die aktuelle Zuordnung an:

hidutil property --get "UserKeyMapping"

Ihre Änderungen gehen beim Neustart des Systems verloren. Wenn Sie möchten, dass sie bestehen bleiben, fügen Sie sie in ein Skript ein und richten Sie einen Login-Hook ein:

sudo defaults write com.apple.loginwindow LoginHook /path/to/login_script.sh
wim
quelle
3
+! Dies ist der moderne und richtige Weg, um Schlüssel auf macOS neu
zuzuordnen
2
Karabiners Problem mit der Wiederholung von Schlüsseln veranlasste mich, nach einer nativen Lösung für die Neuzuordnung von Schlüsseln zu suchen. Dieser und ein weiterer Beitrag auf apple.stackexchange.com haben sehr geholfen.
chb
Danke dafür, +1! Ich habe dem Apple-Beitrag einige tangentiale Notizen hinzugefügt, die uns armen Leuten, die keine Esc-Taste, aber keine Feststelltaste wünschen, hoffentlich einen Mehrwert bieten.
Tripleee
Tolle Methode für MacBooks, die Probleme mit der eingebauten Tastatur haben. Meins verursachte Probleme mit den Tastatureinstellungen, sodass ich dort keine Tasten neu zuordnen konnte.
Igor
Ich konnte diese LoginHookMethode mit der Methode nicht ordnungsgemäß ausführen. Ich vermute, dass nach der Ausführung meine lokalen Tastatureinstellungen für eine skandinavische Tastatur ausgewählt werden. Wie auch immer , stackoverflow.com/a/22872222/874188 stellt fest, dass dies LoginHookveraltet ist, und befürwortet launchdstattdessen die Verwendung .
Tripleee
34

Es ist möglich.

Lösung 1

Aus einem Artikel auf TrueAffection.net.

  • Laden Sie PCKeyboardHack herunter und installieren Sie es.
  • Gehen Sie in den Systemeinstellungen zu PCKeyboardHack.
  • Aktivieren Sie 'Feststelltaste ändern' und setzen Sie den Schlüsselcode auf 53.

Lösung 2

Diese Lösung beinhaltet kein Patchen des Tastaturtreibers, bietet Ihnen jedoch eine Vim-spezifische Lösung.

OS X unterstützt die Zuordnung der Feststelltaste zu einer ganzen Reihe von Schlüsseln. Sie müssen dies jedoch von Hand tun und die .plist-Dateien bearbeiten. Der Prozess wird in diesem Artikel beschrieben . Als Ergänzung zu diesem Hinweis schlage ich vor, dass Sie in den Systemeinstellungen zuerst die Feststelltaste auf Keine setzen und dann nur einen Wert in der .plist-Datei ändern müssen. Sie können natürlich auch den Eigenschaftenlisten-Editor verwenden, anstatt die XML-Konvertierungsschritte durchzuführen.

Der Trick besteht darin, die Feststelltaste der Hilfetaste (Code 6) zuzuordnen, die bei den meisten Tastaturen nicht vorhanden ist. Wenn dies jedoch der Fall ist, wird es als Einfügetaste behandelt, die Sie wahrscheinlich ohnehin nicht verwenden, da Sie nach einer Neuzuordnung der Feststelltaste fragen, um ein Dehnen der Hände zu verhindern.

Sie können dann die Hilfe und den InsertSchlüssel Escin vim zuordnen.

map  <Help> <Esc>
map! <Help> <Esc>
map  <Insert> <Esc>
map! <Insert> <Esc>

Dies funktioniert für gvim (Vim.app). Ich habe es nicht mit vim im Terminal zum Laufen gebracht und es nicht mit MacVim getestet.

Es handelt sich also eher um eine komplizierte, halbherzige Lösung oder um die Installation eines Hacker-Stücks von Drittanbietern. Deine Wahl ;)

Bearbeiten: Gerade bemerkte Lösung 3, wenn Sie MacVim verwenden , können Sie verwenden Ctrl, Optionund Commandals Esc. Mit den Systemeinstellungen ist es trivial, die Feststelltaste einer dieser Tasten zuzuordnen.

eelco
quelle
1
Zu Lösung 3: Wie verwenden Sie Strg, Option oder Befehl als Esc in MacVim? Ich kann diese Einstellung in den Einstellungen nicht finden.
Clizzin
Sie ordnen es in den Systemeinstellungen => Tastatur zu.
Maletor
9
Wo ist der Hinweis, auf den Sie anspielen?
Matthew Schinckel
2
Maletor - es gibt keinen Ort, an dem Macvim angewiesen werden kann, die Kontrolle als Flucht zu nutzen
Scott Schulthess,
1
@ MatthewSchinckel hier ist ein solcher Link: hints.macworld.com/article.php?story=20060825072451882
Ben Challenor
33

Mit macOS Sierra ist es jetzt viel einfacher, den Caps LockSchlüssel zuzuordnen Esc.

  1. Öffnen Sie die Systemeinstellungen → Tastatur.

  2. Klicken Sie unten rechts auf die Schaltfläche Modifikatortasten.

  3. Klicken Sie auf das Dropdown-Feld neben dem Hardwareschlüssel, den Sie neu zuordnen möchten, und wählen Sie Escape aus.

  4. Klicken Sie auf OK und schließen Sie die Systemeinstellungen.

Geben Sie hier die Bildbeschreibung ein

https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/

Neurosnap
quelle
30

Ich weiß nur, wie man die Feststelltaste der Steuerung, der Option oder dem Befehl zuordnet. Dies kann über den Tastatur- und Mausbereich der Systemeinstellungen erfolgen. Klicken Sie unten links auf "Modifikatortasten", um die Feststelltaste, die Steuerung, die Option und den Befehl neu zuzuordnen.

@Craig: Dies deutet darauf hin , dass Caps Lock kann als normaler verwendet werden - das heißt, nicht-Toggle - Taste. Auf meinem MacBook leuchtet die Feststelltaste nie auf, da ich die Feststelltaste der Steuerung neu zugeordnet habe. Es verhält sich einfach wie die Steuertaste.

Geben Sie hier die Bildbeschreibung ein

EfForEffort
quelle
2
schöne Bilder hier: stackoverflow.com/questions/162896/…
Kyle Cronin
1
Leider nicht mit Logitech-Tastaturen, also keine Escape-Taste auf CapsLock, keine vim == ich gebe Tastatur zurück
Enric Ribas
14

Seil ist unter macOS Sierra (10.12 Beta) noch nicht verfügbar. Daher habe ich Keyboard Maestro mit folgenden Einstellungen verwendet:Geben Sie hier die Bildbeschreibung ein

Gutschrift für diesen Github-Kommentar: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664

Michael Glass
quelle
2
Ich verwende github.com/tekezo/Karabiner-Elements (funktioniert in Sierra). Bisher funktioniert es großartig, obwohl ich mir wünschte, es hätte "Control_L to Control_L (+ wenn Sie nur Control_L
eingeben
1
@atomkirk Würde es Ihnen etwas ausmachen, die von Ihnen verwendete Karabiner JSON-Konfiguration zu teilen?
LandonSchropp
1
{"profile": [{"name": "Standardprofil", "selected": true, "simple_modifications": {"caps_lock": "Escape"}}]}
Atomkirk
Karabiner hat den Trick für mich mit Atomkirk's JSON gemacht. Trotz des obigen Screenshots ist die Tastatur-Maestro-Benutzeroberfläche ein Durcheinander und ich konnte sie nicht konfigurieren.
Paul
10

Nachdem ich einige dieser Lösungen ausprobiert habe, habe ich einige Anmerkungen:

DoubleCommand wird nicht ermöglicht es Ihnen, Swap - esc und Caps-Lock.

PCKeyboardHack wird erlauben Sie capslock zur Karte zu entkommen,hat aber nicht die Fähigkeit, Escape auf Capslock abzubilden. In neueren Versionen können Sie einen vollständigen Austausch durchführen, indem Sie beide Tasten bearbeiten.

Dies kann für Ihre Bedürfnisse ausreichend sein oder auch nicht (ich weiß, dass es für meine ist).

Zxaos
quelle
1
Mit PCKeyboardHack können Sie kein Escape auf Capslock zuordnen, mit der Begleit-App KeyRemap4MacBook jedoch. Hier können Sie "Escape to CapsLock" und "Shift + Escape to CapsLock" zuordnen.
Rory O'Kane
9

Falls Sie keine Drittanbieter-App installieren möchten und sich wirklich nur für vim in iTerm interessieren, funktioniert Folgendes:

Ordnen Sie CapsLock der Hilfe wie hier beschrieben neu zu .

Kurzversion: Verwenden Sie Plutil oder ähnliches zum Bearbeiten ~/Library/Preferences/ByHost/.GlobalPreferences*.plist. Es sollte ungefähr so aussehen:

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

Neu starten! Ein einfaches Abmelden und Anmelden hat bei mir nicht funktioniert.

Fügen Sie in iTerm eine neue Schlüsselzuordnung für die Hilfe hinzu: Senden Sie den Hex-Code 0x1b, der Escape entspricht.

Ich weiß, dass dies nicht genau das ist, wonach gefragt wurde, aber ich gehe davon aus, dass die Absicht vieler Menschen, die nach einer solchen Lösung suchen, tatsächlich diese spezialisiertere Variante ist.

user2581875
quelle
4

Um den Escape-Schlüssel mithilfe von PCKeyboardHack und KeyRemap4MacBook tatsächlich mit dem Feststelltaste zu tauschen (nicht nur einander zuzuordnen), müssen Sie den Anweisungen in diesem Thread folgen und den Feststelltaste einem Schlüsselcode zuordnen, der nicht von verwendet wird Tastatur, aber von KeyRemap4MacBook (z. B. 110) berücksichtigt. Wählen Sie dann in PCKeyboardHack die entsprechende Option aus, die diesen Schlüsselcode dem Escape zuordnet (im Fall von 110 ist es "Application Key to Escape"). So sollten Ihre KeyRemap4MacBook-Einstellungen aussehen (vorausgesetzt, Sie haben das Kontrollkästchen "Nur anzeigen aktiviert" aktiviert).

Geben Sie hier die Bildbeschreibung ein

Ich habe ursprünglich versucht, diese Informationen als Bearbeitung für die ausgezeichnete Antwort von cwd zu veröffentlichen , aber sie wurden abgelehnt. Ich ermutige jeden, der den von mir beschriebenen Weg gehen möchte, zuerst seine Antwort zu lesen.

chb
quelle
2

Seil funktioniert noch nicht unter macOS Sierra, daher verwende ich Karabiner Elements , Download von https://pqrs.org/latest/karabiner-elements-latest.dmg .

Verwenden Sie entweder die GUI oder geben Sie Folgendes ein ~/.karabiner.d/configuration/karabiner.json:

{
  "profiles" : [
    {
      "name" : "Default profile",
      "selected" : true,
      "simple_modifications" : {
        "caps_lock" : "escape"
      }
    }
  ]
}
mb21
quelle
Beachten Sie, dass Karabiner-Elemente die Touchbar und die FN-Taste
beschädigen
1

Sie können DoubleCommand auch verwenden, um diesen und andere Schlüssel neu zuzuordnen.

IIRC wird die Feststelltaste Esc zuordnen.

Matthew Schinckel
quelle
1
Eigentlich musste ich dazu einen Patch schreiben. Es war für eine ältere Version, aber ich benutze es jetzt noch: sourceforge.net/tracker/?group_id=65339&atid=510607
Matthew Schinckel
0

Öffnen Sie die Tastatureinstellungen und klicken Sie auf die Modifizierertasten. Sie können die Feststelltaste in Steuerung, Option, Escape oder Befehl ändern.

Geben Sie hier die Bildbeschreibung ein

Nayan Jain
quelle
9
Keines davon ist "Esc", nach dem das Poster gefragt hat. Wahrscheinlich für die Verwendung mit Vim.
Rafi Jacoby
1
@ RafiJacoby Was ist der Unterschied zwischen Escund Escape? (ernste Frage)
byxor
0

Karabiner-Elements Ein leistungsstarker und stabiler Tastatur-Customizer für macOS. (Freeware)

https://pqrs.org/osx/karabiner/index.html

Ich habe für Mojave gearbeitet, um die Feststelltaste in die Rücktaste zu ändern

Quang Van
quelle