Ich habe ein seltsames, hochspezifisches Problem bei der Verwendung meiner USB-Tastatur eines Drittanbieters mit meinem MacBook Pro: option + left-shift + right-arrow
(was, wie Mac-Programmierer wissen, bedeutet, dass das Wort rechts vom Cursor hervorgehoben wird) funktioniert nicht. Die Gründe dafür sind unklar, aber ich weiß, dass dies weder mit Softwareeinstellungen auf Benutzerebene noch direkt mit einem Hardwareproblem auf niedriger Ebene zu tun hat ( die vollständige Logik zur Fehlerbehebung finden Sie in meiner ursprünglichen Frage zum Superuser ).
Ich sollte beachten, dass es sich um eine für Windows entwickelte Tastatur handelt: eine Thinkpad-USB-Tastatur mit Trackpoint - der Trackpoint ist der Grund, warum ich es so mag und trotz seiner Probleme dabei bleibe. Der Schlüssel, dem ich option
in den Systemeinstellungen zuordne, ist also der Schlüssel "Windows-Logo".
Es funktioniert , wenn ich es benutze, option + RIGHT-shift + right-arrow
aber dies ist eine sehr ungeschickte Handposition, um mich schnell in meinen Dokumenten zu bewegen. Daher möchte ich versuchen, die Interpretation der linken und rechten Umschalttaste durch den Mac auszutauschen . Ist das möglich und wenn ja, wie?
Aktualisieren:
Auf Vorschlag von Tetsujin habe
ich Karabiner ausprobiert, aber es scheint, dass das Problem auf einer niedrigeren Ebene auftritt. Das Tastaturereignis für den Rechtspfeil erreicht Karabiner nicht einmal, wenn die Tasten Windows-logo
und (physisch) left-shift
gedrückt gehalten werden (und es spielt keine Rolle, ob Windows logo
sie einem anderen Modifikator zugeordnet sind: Das Problem bleibt bei dieser bestimmten Kombination aus physischen Tasten).
Als Antwort auf den Kommentar von Insomniac Software sagt der Karabiner EventViewer Folgendes, wenn ich drücke:
Windows-logo + left-shift + left-arrow
::
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Shift Opt misc:KeyCode::SHIFT_L characters:
eventType:keyDown code:0x7b name:Left flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_LEFT characters:
eventType:keyUp code:0x7b name:Left flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_LEFT characters:
eventType:keyMod code:0x38 name:Shift_L flags:Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
Windows-logo + left-shift + right-arrow
::
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Shift Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x38 name:Shift_L flags:Opt misc:KeyCode::SHIFT_L characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
Windows-logo + right-shift + right-arrow
::
eventType:keyMod code:0x3a name:Option_L flags:Opt misc:KeyCode::OPTION_L characters:
eventType:keyMod code:0x3c name:Shift_R flags:Shift Opt misc:KeyCode::SHIFT_R characters:
eventType:keyDown code:0x7c name:Right flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_RIGHT characters:
eventType:keyUp code:0x7c name:Right flags:Shift Opt NumPad Fn misc:KeyCode::CURSOR_RIGHT characters:
eventType:keyMod code:0x3c name:Shift_R flags:Opt misc:KeyCode::SHIFT_R characters:
eventType:keyMod code:0x3a name:Option_L flags: misc:KeyCode::OPTION_L characters:
(NB: windows-logo + right-shift + left-arrow
funktioniert auch, falls Sie sich fragen).
Beachten Sie, dass im speziellen Fall von windows-logo + left-shift + right-arrow
Karabiner in erster Linie weniger Ereignisse auftreten. Ich sehe die gleiche Geschichte (zumindest soweit ich das beurteilen kann) aus Karabiners Debug-Protokoll: weniger Ereignisse, die durch diese spezielle problematische Kombination generiert wurden. Ich habe in --Debug--
den gleichen drei Fällen alles bis zu jeder Zeile abgeschnitten :
# Windows-logo + left-shift + left-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0022, key 0x0038, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x002a0022
KeyboardEventCallback [ caught]: eventType 10, flags 0x802a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x002a0022
KeyboardEventCallback [sending]: eventType 10, flags 0x002a0022, key 0x007b, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 11, flags 0x802a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x000a0022
KeyboardEventCallback [sending]: eventType 11, flags 0x002a0022, key 0x007b, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x000a0022
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0
# Windows-logo + left-shift + right-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0022, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x0038, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0
# Windows-logo + right-shift + right-arrow
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x800a0024, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x000a0024, key 0x003c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x002a0024
KeyboardEventCallback [ caught]: eventType 10, flags 0x802a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x002a0024
KeyboardEventCallback [sending]: eventType 10, flags 0x002a0024, key 0x007c, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 11, flags 0x802a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [ caught]: flags 0x000a0024
KeyboardEventCallback [sending]: eventType 11, flags 0x002a0024, key 0x007c, kbdType 40, repeat = 0
UpdateEventFlagsCallback [sending]: flags 0x000a0024
KeyboardEventCallback [ caught]: eventType 12, flags 0x80080020, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00080020, key 0x003c, kbdType 40, repeat = 0
KeyboardEventCallback [ caught]: eventType 12, flags 0x80000000, key 0x003a, kbdType 40, repeat = 0
KeyboardEventCallback [sending]: eventType 12, flags 0x00000000, key 0x003a, kbdType 40, repeat = 0
Antworten:
Aus Ihren Änderungen geht hervor, dass die von Ihnen verwendete Tastatur das Problem verursacht. Ich weiß leider keine Möglichkeit, das zu beheben, aber ich dachte, ich würde die ursprüngliche Frage trotzdem beantworten.
Sie können Modifikatorschlüssel in OS X von mindestens 10.4 bis 10.10.4 neu zuordnen, indem Sie eine Eigenschaftslistendatei (.plist) ändern. Die Datei befindet sich in
~/Library/Preferences/ByHost
und wird benannt.GlobalPreferences.[a long identifier].plist
, wobei die lange Kennung jedes Benutzers variiert. (Im Terminal können Sie einfach die Tab-Vervollständigung verwenden, um den spezifischen Namen Ihrer Datei abzurufen.)Hier sind die Schritte zum Kopieren, Konvertieren, Bearbeiten und Ersetzen der .plist:
Wechseln Sie in Terminal zu einem Verzeichnis, in dem Sie die Arbeit erledigen, oder erstellen Sie ein Verzeichnis.
cp ~/Library/Preferences/ByHost/.GlobalPreferences
(Drücken Sie dann die Tabulatortaste, um den eindeutigen Dateinamen automatisch zu vervollständigen.)plutil -convert xml1 -o ./keys-xml.plist ./keys-binary.plist
Öffnen Sie die konvertierte XML-Datei. (Sie können
open /Applications/TextEdit.app keys-xml.plist
TextEdit vom Terminal aus starten.)com.apple.keyboard.modifiermapping
...". In diesem Abschnitt sollte mindestens eine "Dikt" -Gruppe angezeigt werden. Es ist tatsächlich ein Eintrag pro bestimmten Schlüssel, der neu zugeordnet wurde. Wenn Sie also Control auf Shift neu zuordnen, werden Einträge angezeigt, die LeftControl auf LeftShift und RightControl auf RightShift neu zuordnen.HIDKeyboardModifierMappingSrc
Schlüsselwert in die Quelltaste (die physische Taste, die Sie drücken, und denHIDKeyboardModifierMappingDst
Schlüsselwert in die gewünschte Zieltaste (die Taste, die wirksam werden soll) ändern .<dict>
bis</dict>
, einschließlich der Tastenzuordnungen, und fügen Sie einen pro Schlüssel ein, den Sie neu zuordnen möchten, und ändern Sie jeweils Src und Dst.plutil -convert binary1 -o ./keys-binary_new.plist keys-xml.plist
cp ./keys-binary_new.plist ~/Library/Preferences/ByHost/.GlobalPreferences
(dann Tab zur automatischen Vervollständigung)Hier sind die Schlüsselwerte, die für jeden Modifikatorschlüssel in der Src / Dst-Zuordnung verwendet werden sollen:
Hinweis: Der Schlüsselcode 16 sollte normalerweise nicht verwendet werden.
Quelle: Umgeschrieben von http://hints.macworld.com/article.php?story=20060825072451882
quelle
Ich bin auf meinen Reisen auf diesen Artikel gestoßen, und es sieht so aus, als ob er hilfreich sein könnte.
Neuzuordnung von Tastaturtasten Mac OS X Mavericks
quelle
Ich hatte ein ähnliches Problem mit einer DAS-Tastatur, die tatsächlich für meinen Mac entwickelt wurde. Mit der linken Optionstaste wurde eine mysteriöse Tastenkombination anstelle der Optionstaste gedrückt. Für mich war dies ein Hardwareproblem und ich musste die Tastatur des Herstellers ersetzen.
quelle