Wie deaktiviere ich die Eingabe von Sonderzeichen, wenn ich in Mac OS X die Optionstaste drücke? [geschlossen]

129

Wenn ich jetzt Option-b drücke, erhalte ich ∫. Ich muss keine Sonderzeichen eingeben und Option-b Verknüpfungen zu bestimmten Anwendungen zuordnen. Gibt es eine Möglichkeit, dies zu tun?

ximyu
quelle
26
Ich verwende IntelliJ und möchte Emacs-Tastaturkürzel simulieren. Außerdem habe ich Meta der Optionstaste zugeordnet. Aber wenn ich beispielsweise Option-b drücke, habe ich das erwartete Verhalten erhalten, da es als Sonderzeichen interpretiert wird.
Ximyu
3
Wenn ich den Optionsschlüssel als Modifikator verwende, kann ich in meiner IDE noch mehr Verknüpfungen definieren, was meine Produktivität erheblich steigert.
Dan
25
Es ist einfach lächerlich, wie schwer solche einfachen Aktionen auf Macs sind. Eine falsche App in Launcher platziert - viel Glück beim Entfernen mit SQL-Anweisungen; Sie möchten eine dumme Verknüpfung deaktivieren - beginnen Sie mit dem Herunterladen und Testen von zig Lösungen, die in allen Betriebssystemversionen nicht konsistent sind. Gott, warum habe ich diesen schrecklichen Computer gekauft?
Vasiliy
3
Dies funktioniert für mich: superuser.com/a/942256/535138
김민준
1
Für Leute, die Probleme am Terminal haben, folgen Sie dieser Anweisung -> superuser.com/questions/496090/…
A-letubby

Antworten:

33

Ich hatte genau das gleiche Problem, in genau der gleichen IDE.

Die Lösung hierfür besteht darin, Ukulele von hier herunterzuladen:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

In der Anwendung können Sie mit Datei -> Neu aus aktueller Quelle ein neues Keylayout erstellen. Durch Drücken der Optionstaste wird an der Stelle für Option-b eine rote Taste angezeigt - was bedeutet, dass es sich um eine tote Taste handelt . Durch Doppelklicken können Sie es von einem toten Schlüssel in einen Ausgabeschlüssel ändern. Wenn Sie zur Eingabe aufgefordert werden, können Sie dasselbe eingeben (durch Drücken von Option-b).

Daher wird das gleiche Zeichen ausgegeben, jedoch nicht als toter Schlüssel betrachtet, sodass Intellij es als Verknüpfung binden kann.

Um Ihr neues Layout zu aktivieren, müssen Sie es in Ihren ~ / Library / Keyboard-Layouts speichern (es ist hilfreich , wenn Sie ihm mit Tastatur -> Tastaturnamen festlegen einen neuen Namen geben) und dann über die Systemeinstellungen -> Sprache und Text aktivieren.

Sebastian Zaha
quelle
15
Dies ist eine Menge Arbeit und behebt nur eine Tastenkombination in einer App. Ich und zumindest einige andere möchten auf der ganzen Linie die Option als Sonderzeicheneingabe auf dem Mac deaktivieren.
Javadba
@javadba Es war nicht so schlimm, nachdem ich es richtig gemacht habe. In meiner Antwort unten finden Sie detaillierte Schritte, durch die Sie schnell klicken können.
Peter Lamberg
Ich habe eine Antwort mit detaillierten Schritten zu dem hinzugefügt, was @SebastianZaha in dieser Antwort beschreibt. Am Ende habe ich ein bisschen herumgefummelt, um es zu erledigen. Hoffentlich erspart es jemandem (und später mir) Ärger.
Peter Lamberg
74

Mit dem Online-Tool dieser Webseite können Sie eine benutzerdefinierte Tastaturzuordnung mit Optionsbuchstaben erstellen, die alle auf BLANK gesetzt sind . Sie können mit mehreren Klicks aus fast jedem Tastaturlayout eine benutzerdefinierte Zuordnung erstellen. Bewährt unter MacOSX 10.7+ mit IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Wählen Sie im Formular das Radio "Leer für Optionsschlüssel festlegen" , senden Sie das Formular ab und laden Sie ein gepatchtes Tastaturlayout mit deaktivierter Tastenfunktion "Option" herunter. Ich teile die Arbeitsdatei für das Standard-Tastaturlayout in US-Englisch:

Wenn Sie nach dem Aktivieren dieser benutzerdefinierten Zuordnung einen Buchstaben mit gedrückter Optionstaste eingeben, wird nichts in die Textausgabe gedruckt. Der "Drücken der Optionstaste" wird jedoch vom Betriebssystem ausgelöst und von Ihrer IDE erkannt. Sie erhalten also genau das gleiche Verhalten wie bei anderen Befehlstasten!

  1. Laden Sie die Schlüsselzuordnungsdatei herunter My Layout.keylayout.
  2. Verschieben Sie es zu ~/Library/Keyboard\ Layouts/
  3. Öffnen System Preferences->Language & Text
  4. Gehen Sie zu Input Sources-> (hit +)->Select Others
  5. Sie sollten My Layoutin der Liste finden und auswählen.

Schritt 4 kann sich in den MacOS-Versionen geringfügig ändern. Bitte haben Sie etwas Geduld, um die Liste der Tastaturlayouts in den Einstellungen zu finden.

Dan
quelle
1
@javadba, ich habe meine Antwort korrigiert. Danke für deine Rückmeldung!! Mit neuen Betriebssystemversionen können sich die Dinge ändern.
Dan
5
Der Dropbox-Link erscheint jetzt defekt.
Andrew White
2
Konnte dies nicht zum Laufen bringen. Ich kann mein neues Schlüssellayout zur Liste hinzufügen, aber ich kann das Standardlayout "US" nicht entfernen, daher wird mein neues Schlüssellayout nicht verwendet ...
AgmLauncher
12
Dies funktioniert in 10.11 nicht mehr. Ich generiere eine Layoutdatei in gist.github.com/haosdent/573ea124e5ea666fc576, die in 10.11
haosdent
1
Hat bei mir nicht funktioniert. Anstatt Option + r einzugeben ®, gibt es jetzt rIntelliJ :(
Navin
35

Hier sind detaillierte Schritte zu Sebastian Zahas Antwort. (Ich habe ein bisschen herumgefummelt, bevor ich das zum Laufen gebracht habe).

(Alternativ ist hier eine fertige Datei von mir )

  1. Laden Sie Ukelele herunter
  2. Sie können es direkt aus der .dmg-Datei ausführen
  3. Datei -> Neu basierend auf der aktuellen Eingabequelle (ich hatte US ausgewählt)
  4. Klicken Sie auf die Schaltfläche Modifikatoren
  5. Wählen Sie jeden Modifikator aus der Liste aus, der in der Spalte Option Links nach unten oder Rechts nach unten enthält . (Es könnte einige wie entweder unten oder oben geben , aber AFAIK können Sie diese verlassen.)
    • Drücken Sie jeweils die Minus-Taste
  6. Gehen Sie zum Menü Tastatur -> Tastaturnamen festlegen
  7. Ändern Sie den Namen irgendwie, um die Identifizierung zu erleichtern
  8. Gehen Sie zu Datei -> Speichern unter
  9. Speichern Sie in ~ / Library / Keyboard \ Layouts / mit dem Suffix .keylayout
  10. Melden Sie sich von Ihrem Mac OS-Konto ab
  11. Melden Sie sich erneut an
  12. Gehen Sie zu Systemeinstellungen -> Tastatur -> Eingabequellen
  13. Klicken Sie auf die Schaltfläche + -> Andere -> Ihr neues Layout sollte verfügbar sein
  14. Fügen Sie das neue Layout hinzu
  15. Lassen Sie möglicherweise auch das ursprüngliche Tastaturlayout und konfigurieren Sie eine gute Möglichkeit zum Umschalten
Peter Lamberg
quelle
1
Dies ist die einzige Lösung, die für mich funktioniert hat und es mir ermöglicht hat, die Tastenkombinationen wieder an Emacs-ähnliche Befehle zu binden.
event_jr
@event_jr, wie hast du sie für Emacs-Verhalten neu gebunden? Wenn Sie die Option gedrückt halten und auf b klicken, werden Sie nach der Ausgabe für diese Kombination gefragt. Wie können wir sagen, dass die Ausgabe ein Wort zurückgehen soll?
Sahas
1
Wie ich oben kommentiert habe, hat mir dies nicht geholfen, Verknüpfungen in IDEA auf Yosemite zu beheben. Ich fürchte, sie haben in neueren Versionen etwas geändert, und jetzt war es nicht mehr möglich, dies zu beheben. Ich verwende IntelliJ IDEA 14.1.2 unter OS X Yosemite 10.10.3
Innokenty
1
@Innokenty Strange. Ich bin unter OSX 10.10.3 und IDEA 14.1.2 und meine Emacs-ähnlichen Bindungen funktionieren. Ich habe die IDEA-Konfiguration von einem Windows-Computer übernommen und die .keylayout-Datei wurde mit einer älteren Version von OSX erstellt. Könnte einer davon der Grund sein? Hier ist meine Layoutdatei.
Peter Lamberg
1
In OS X 10.10.5 wurde in der Spalte "Option" kein "Links unten" oder "Rechts unten" angezeigt: nur "Entweder unten". Ich habe all diese entfernt und habe jetzt Emacs-artige Tastenkombinationen in IntelliJ. Ich wünschte, ich hätte verstanden, was das Entfernen dieser Zeilen bedeutet, aber da es einfach ist, die Eingabemethoden zu wechseln, wenn ich auf Probleme stoße, gehe ich damit um. Vielen Dank.
Duelin Marker
12

Verwenden Sie Ctrl-Alt-<MNEMONIC>. IMHO viel einfacher als eine separate App installieren und konfigurieren zu müssen.

Victor Tatai
quelle
2
Gut zu wissen. Dies ist jedoch nicht ganz zufriedenstellend, wenn auch die Strg-Alt-Tastenkombinationen Funktionen haben.
Peter Lamberg
4
Für IDE wird STRG + ALT wahrscheinlich bereits verwendet, daher müssen Sie Ihre IDE neu konfigurieren, was genauso schmerzhaft ist wie die Konfiguration einer anderen App.
ARKBAN
Diese Antwort erhalten Sie, wenn Sie JetBrains
Kirby
8

Ich habe eine Lösung! Platzieren Sie eine Datei unter: ~/Library/KeyBindings/DefaultKeyBinding.dictas:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Die ursprüngliche Texteingabe wird ausgeblendet. Sie können dies jedoch trotzdem erreichen, indem Sie vor der Kombination Strg-Q verwenden. So gibt mir Strg-Q Alt-f zum Beispiel ƒ. Tatsächlich schreibe ich diese Antwort mit aktivierter Option Tastenkombinationen. Sie können auch andere Schlüssel hinzufügen, die Sie mögen! Offizielle Referenz: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Hier ist eine gute Liste von Dingen, an die Sie binden können: https://www.hcs.harvard.edu/~jrus/site/selectors.html

Übrigens, wenn Sie einen Schlüssel an eine undefinierte Aktion binden, hat Ihre Anwendung einen Speicherverlust und Ihr System hat in wenigen Sekunden keinen Speicher mehr. Auf die harte Tour auf El Capitan getestet.

Wung Hugh
quelle
5

Ich hatte das gleiche Problem auf einem neuen Macbook mit VSCode, das auf meinem alten Macbook einwandfrei funktioniert hatte. Als ich alt-shift-f als Format eingegeben habe, habe ich stattdessen Unicode erhalten. Ich erkannte, dass mein altes Macbook ein britisches Tastatur-Setup anstelle des Standard-ABC-Extended hatte. Das Hinzufügen der britischen Tastatur hat das Problem für mich behoben.

Chookie
quelle
Ich habe es versucht, aber immer noch einen nervigen Charakter mit Option + N bekommen, zum Beispiel in Intellij IDEA.
Amir Eldor
2

Bei Verwendung der Apple JRE funktionieren die Optionstastenkombinationen als Verknüpfungen, anstatt Sonderzeichen einzufügen.

Download-Link: https://support.apple.com/kb/DL1572?locale=de_DE

Es ist eine alte veraltete JRE (basierend auf Java 6), aber seit Oktober 2015 scheint es mit meiner JetBrains RubyMine-Installation immer noch am besten zu funktionieren. (Bei allem anderen werden die Tasten wieder zum Einfügen von Sonderzeichen verwendet.)

MarkWPiper
quelle
0

Ich habe eine anständige Problemumgehung gefunden. Ich verwende die Software Karabiner, um meine rechte Eingabetaste zu ändern und zu steuern, wann sie gedrückt gehalten wird.

Was ich getan habe, ist die Neuzuordnung des Optionsschlüssels zu Option + cmd + Steuerung, da mir keine Befehle bekannt sind, die alle drei Modifikatoren verwenden. Jetzt kann ich die richtigen Verknüpfungen ohne Zeichen zuordnen. Bei Bedarf können Sie aber auch zusätzliche Schlüssel zuordnen

Fügen Sie dies Ihrer private.xml hinzu: (zwischen root)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Laden Sie dann die XML-Datei neu und aktivieren Sie die Option oben auf der Registerkarte "Schlüssel ändern"

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

nicwhitts
quelle
-2

Verwenden Sie ABC als Eingabemethode anstelle von ABC-Extended. Dann kann Option + [char] die Anwendungsverknüpfung verwenden, anstatt Sonderzeichen anzuzeigen.

Michael Yu
quelle
Diese Antwort hat mir geholfen: Anstelle von ABC-Locale oder ABC-Extended habe ich ABC
Codename Jack
-3

Verwenden Sie einfach den Esc-Schlüssel anstelle von Meta, z. B. Meta-X-Zuordnungen zu Esc-X.

Zermelo
quelle