In Apples Technical Note TN2450 wird beschrieben, wie Sie die Tasten neu zuordnen. Wenn Sie den folgenden Befehl ausführen, wird Right Alt als Right Control neu zugeordnet.
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
Beachten Sie, dass der obige Befehl die rechte Alt- und die rechte Steuerung nicht umschaltet. Sie werden beide Right Control sein. Wenn Sie ein MacBook besitzen, werden Sie dies erst bemerken, wenn Sie eine externe Tastatur anschließen. Wenn Sie Right Alt und Right Control umschalten möchten , müssen Sie einen zweiten Umschaltbefehl wie den folgenden hinzufügen.
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e4,
"HIDKeyboardModifierMappingDst":0x7000000e6},
{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
Die Tabelle am Ende des technischen Hinweises enthält eine Liste der Hexadezimalwerte für jeden Schlüssel. Um die obige Antwort auf das Umschalten von Schlüsseln zu verallgemeinern, müssen Sie or
den Hexadezimalwert aus dieser Liste zusammen mit eingeben 0x700000000
. Der folgende Python-Code zeigt eine Möglichkeit, dies zu tun.
In [1]: def convert(val):
...: int_val = int(val, 16)
...: int_ref = 0x700000000
...:
...: return hex(int_ref | int_val)
...:
In [2]: r_alt = '0xE6'
In [3]: print(convert(r_alt))
0x7000000e6
Src
und ausDst
.\
in meiner Tastatur,Shift+Option+7
den ich durch etwas Einfacheres ersetzen möchte, wieOption+.
ich es kaum benutze. Wie mache ich das? Danke für Ihre Hilfe.Ein allgemeinerer und benutzerfreundlicherer Ansatz ist die Verwendung von Karabiner-Elements , einer Version von Karabiner, die auf Sierra funktioniert.
quelle
Dies ist ein Nachtrag zu Steven C. Howells Antwort.
Ich habe ein neues MacBook Pro mit einer skandinavischen Tastatur. Dieses neue Modell hat keine Esc-Taste mehr, was für mich ein erhebliches Handicap darstellt.
Ich habe herausgefunden, dass das Folgende die §-Taste (links oben, links von 1 und über der Tabulatortaste) übersetzt - die ich, glaube ich, noch nie zuvor für irgendetwas benutzt habe -, um Esc zu produzieren.
In der Dokumentation von Apple (verknüpft mit der Antwort von Steven) ist dies als "Keyboard Non-US \ and |" (0x64).
Einige der Tasten außerhalb der USA sind schwer zu finden, da sie sich normalerweise auf Tasten beziehen, die auf der verwendeten Tastatur eine andere Bezeichnung haben. (Ich habe auch festgestellt, dass "Grave accent and tilde" sich auf die Taste zwischen left shift und z bezieht, die auf meiner Tastatur erzeugt wird
<
. Ich konnte nicht feststellen, welche Taste "Non-US#
and~
" entspricht, und habe nicht weiter experimentiert, sobald ich sie gefunden habe my key.) Wenn Sie experimentieren möchten, führen Sie das Skript im Terminal aus, bis Sie den gewünschten Schlüssel gefunden haben:Dies durchläuft die Schlüsselcodes und ändert sich nacheinander, in der Hoffnung, dass Sie durch Ausprobieren einen Schlüssel finden, der für Sie nicht besonders nützlich ist. Geben Sie etwas ein, wenn Sie dazu aufgefordert werden. Wenn Sie
g
anstelle des erwarteten einen erhalten, haben Sie den richtigen Schlüsselcode gefunden. (Wechseln Sie0x70000000a
zu etwas anderem, wenn diesg
für Sie nicht bequem ist. Möchten Sie dieg
Taste möglicherweise neu zuordnen ?) Wenn Sie mit der Eingabe fertig sind , drücken Sie einfach die Eingabetaste, um mit der nächsten Taste fortzufahren.Der letzte Befehl in der Schleife ist, wie Sie alle
UserKeyMapping
Einstellungen zappen :Wenn Sie es zum ersten Mal ausführen, wird
hidutil property --get UserKeyMapping
es erzeugtEs scheint jedoch, dass Sie diesen Wert nicht zurückmelden können, um die Einstellung zu ändern (oder diese Eingabe zu akzeptieren, aber zu ignorieren).
(Wenn Sie mit dem Terminal nicht vertraut sind, kopieren Sie das Objekt einfach von
for
bisdone
an Ihrerbash$
Eingabeaufforderung oder ähnlichem.)Gemäß dieser verwandten Stapelüberlauf-Frage können Sie den Befehl in eine Skriptdatei in Ihrem Ausgangsverzeichnis einfügen und zu Ihrer
launchd
Konfiguration hinzufügen , um diese Änderung dauerhaft zu machen.Für den Fall, dass einige Leser dies nicht alleine tun möchten, finden Sie hier ein kurzes Skript, das dies für Sie erledigt. Kopieren Sie dies einfach an der Eingabeaufforderung des Terminals.
Wenn Sie am Ende einen anderen Schlüssel haben als den, den
0x700000064
Sie im Skript ändern müssen, oder in der Datei, die"$HOME"/bin/userkeymapping
es erstellt, wenn Sie das oben genannte bereits ausgeführt haben.quelle
LoginHook
, funktionierte jedoch nicht für mich. Basierend auf stackoverflow.com/a/22872222/874188 wechselte ichlaunchd
stattdessen zu einem Ansatz.Wenn Sie nur einen einzigen Schlüssel neu zuordnen möchten
Beispiel: So ordnen Sie die Escape-Taste auf einem Mac neu zu
Gehen Sie zum Apple-Menü und wählen Sie "Systemeinstellungen" und dann zum Einstellungsfeld "Tastatur" und wählen Sie die Registerkarte "Tastatur"
Klicken Sie auf die Schaltfläche "Modifier Keys" in der unteren rechten Ecke
Referenz
quelle
Für den Fall, dass Sie die Standardeinstellungen wiederherstellen möchten:
quelle