Ebene 3 funktioniert nicht in Emacs.app und Terminal.app (macOS) #590

Open
opened 1 year ago by stapelberg · 14 comments

Auf Ebene 3 liegen einige wichtige gebräuchliche Zeichen, z.B. / (Mod3 + i, d.h. Caps Lock + i) oder ? (Mod3 + s).

Auf einem MacBook Air (M1, 2020) mit macOS 11.6 habe ich das NEO layout installiert durch die neo.keylayout Datei (von 2019-08-16) wie auf der Download-Seite beschrieben.

Damit die / und ? Zeichen in Chrome mit Google Docs funktionieren habe ich die Karabiner-Regel “Prevent all layer 3 keys from being treated as option key shortcut” aktiviert, wie auf dieser GitHub issue beschrieben.

Leider funktioniert Ebene 3 nicht richtig in allen Programmen. Konkret habe ich bemerkt:

Problem 1: Ich hab Emacs von emacsformacosx.com installiert (ich hab auch die homebrew-Version probiert), kann aber Zeichen wie / oder ? gar nicht eingeben! Emacs interpretiert die Tasten fälschlicherweise als M-u.

Die Karabiner-Regel “Prevent all layer 3 keys from being treated as option key shortcut”, die das Problem in Google Docs gelöst hat hilft leider in Emacs nicht. Wenn man die Regel deaktiviert ändert sich zwar das Fehlerbild, aber Emacs erkennt immer noch M-i statt /.

Problem 2: In der Terminal app kann ich die Option “Use Option as Meta key” nicht aktivieren, sonst fungieren die Ebene 3-Tasten als meta shortcuts (M-i) statt Zeichen (/).

Ich würde die Option gern aktivieren, da ich es gewöhnt bin, mit Alt+b bzw. Alt+f wortweise zu springen. Da ich Option + b / Option + f nicht verwenden kann, muss ich mir mit Option + Pfeiltasten behelfen.

Noch wichtiger als die wortweise Navigation ist allerdings wäre allerdings ein funktionierender Meta key für Emacs im Terminal (z.B. via SSH): hier muss ich Escape drücken (und loslassen!) statt die Meta Taste verwenden (und kombinieren) zu können.


Ich weiss nicht genau wieso Emacs solche Probleme hat. Andere Anwendungen wie BBEdit scheinen einwandfrei alle Tasten erkennen zu können, inklusive macOS-level Tastenkombinationen mit und ohne option (z.B. command + / und option + command + /).

Auf Ebene 3 liegen einige wichtige gebräuchliche Zeichen, z.B. `/` (`Mod3 + i`, d.h. `Caps Lock + i`) oder `?` (`Mod3 + s`). Auf einem MacBook Air (M1, 2020) mit macOS 11.6 habe ich das NEO layout installiert durch die `neo.keylayout` Datei (von 2019-08-16) wie auf der [Download-Seite beschrieben](https://neo-layout.org/Download/). Damit die `/` und `?` Zeichen in Chrome mit Google Docs funktionieren habe ich die Karabiner-Regel *“Prevent all layer 3 keys from being treated as option key shortcut”* aktiviert, wie auf [dieser GitHub issue beschrieben](https://github.com/jgosmann/neo2-layout-osx/issues/6#issuecomment-604622834). Leider funktioniert Ebene 3 nicht richtig in allen Programmen. Konkret habe ich bemerkt: **Problem 1**: Ich hab Emacs von emacsformacosx.com installiert (ich hab auch die homebrew-Version probiert), kann aber Zeichen wie `/` oder `?` gar nicht eingeben! Emacs interpretiert die Tasten fälschlicherweise als `M-u`. Die Karabiner-Regel *“Prevent all layer 3 keys from being treated as option key shortcut”*, die das Problem in Google Docs gelöst hat hilft leider in Emacs nicht. Wenn man die Regel deaktiviert ändert sich zwar das Fehlerbild, aber Emacs erkennt immer noch `M-i` statt `/`. **Problem 2**: In der Terminal app kann ich die Option *“Use Option as Meta key”* nicht aktivieren, sonst fungieren die Ebene 3-Tasten als meta shortcuts (`M-i`) statt Zeichen (`/`). Ich würde die Option gern aktivieren, da ich es gewöhnt bin, mit `Alt+b` bzw. `Alt+f` wortweise zu springen. Da ich Option + b / Option + f nicht verwenden kann, muss ich mir mit Option + Pfeiltasten behelfen. Noch wichtiger als die wortweise Navigation ist allerdings wäre allerdings ein funktionierender Meta key für Emacs im Terminal (z.B. via SSH): hier muss ich Escape drücken (und loslassen!) statt die Meta Taste verwenden (und kombinieren) zu können. --- Ich weiss nicht genau wieso Emacs solche Probleme hat. Andere Anwendungen wie BBEdit scheinen einwandfrei alle Tasten erkennen zu können, inklusive macOS-level Tastenkombinationen mit und ohne option (z.B. `command + /` und `option + command + /`).

Die m3 Ebene sollte eigentlich funktionieren, jedenfalls tut es das bei mir in spacemacs und iterm2 problemlos. Das Problem könnte in den Karabiner Config liegen könntest du dazu mal deine komplette karabiner config zu finden unter: ~/.config/karabiner hier hochladen?
Probier auch am besten mal die "Prevent problematic keys (?, /, = and )) from being treated as option key shortcut modification
Es könnte vielleicht auch an der nicht aktuellen neo.keylayout liegen.

Die m3 Ebene sollte eigentlich funktionieren, jedenfalls tut es das bei mir in spacemacs und iterm2 problemlos. Das Problem könnte in den Karabiner Config liegen könntest du dazu mal deine komplette karabiner config zu finden unter: ~/.config/karabiner hier hochladen? Probier auch am besten mal die "Prevent problematic keys (?, /, = and )) from being treated as option key shortcut modification Es könnte vielleicht auch an der nicht aktuellen neo.keylayout liegen.
Poster

Danke für deine Antwort!

Die m3 Ebene sollte eigentlich funktionieren, jedenfalls tut es das bei mir in spacemacs und iterm2 problemlos. Das Problem könnte in den Karabiner Config liegen könntest du dazu mal deine komplette karabiner config zu finden unter: ~/.config/karabiner hier hochladen?

Ja, habe ich angehängt

Probier auch am besten mal die "Prevent problematic keys (?, /, = and )) from being treated as option key shortcut modification

Habe ich ausprobiert, ändert aber leider nichts an meinem Symptom.

Es könnte vielleicht auch an der nicht aktuellen neo.keylayout liegen.

Ich habe jetzt auf 4164db6a1a/mac_osx/neo.keylayout aktualisiert, aber das ändert leider auch nichts an meinem Symptom.

Danke für deine Antwort! > Die m3 Ebene sollte eigentlich funktionieren, jedenfalls tut es das bei mir in spacemacs und iterm2 problemlos. Das Problem könnte in den Karabiner Config liegen könntest du dazu mal deine komplette karabiner config zu finden unter: ~/.config/karabiner hier hochladen? Ja, habe ich angehängt > Probier auch am besten mal die "Prevent problematic keys (?, /, = and )) from being treated as option key shortcut modification Habe ich ausprobiert, ändert aber leider nichts an meinem Symptom. > Es könnte vielleicht auch an der nicht aktuellen neo.keylayout liegen. Ich habe jetzt auf https://git.neo-layout.org/neo/neo-layout/raw/commit/4164db6a1a0f31dbf61aeaaf48051845c96774e2/mac_osx/neo.keylayout aktualisiert, aber das ändert leider auch nichts an meinem Symptom.

Ich denke, ich habe denselben Fehler, sowohl in Terminal.app als auch in iTerm.app. Ich verwende e1436b3ad1/mac_osx/neo.keylayout, mit den aktuellen Regeln für Karabiner Elements.

Sobald ich eine der „Prevent … as option key shortcut“-Regeln aktiviere, kann ich die betreffenden Symbole auf Ebene 3 nicht mehr mittels der Mod3-Tasten verwenden. Stattdessen wechselt zsh in den Normal-Modus (vi-Modus). Daher denke ich, dass irgendwie eine Escape-Kombination erzeugt wird. Über die linke Options-Taste kann ich die Symbole der Ebene 3 weiterhin erzeugen.

Ohne die „Prevent …“-Regeln funktioniert Ebene 3 für mich in VS Code nicht, weil manche Zeichen als Shortcuts interpretiert werden. Die Regel nicht zu verwenden kommt für mich also nicht in Frage.

Ich habe meine karabiner.json Konfiguration angehängt.

Ich denke, ich habe denselben Fehler, sowohl in Terminal.app als auch in iTerm.app. Ich verwende [e1436b3ad1/mac_osx/neo.keylayout](https://git.neo-layout.org/neo/neo-layout/src/commit/e1436b3ad1895f4f9d93d2d8df603df1f79c0c43/mac_osx/neo.keylayout), mit den aktuellen Regeln für Karabiner Elements. Sobald ich eine der „Prevent … as option key shortcut“-Regeln aktiviere, kann ich die betreffenden Symbole auf Ebene 3 nicht mehr mittels der Mod3-Tasten verwenden. Stattdessen wechselt `zsh` in den Normal-Modus (vi-Modus). Daher denke ich, dass irgendwie eine Escape-Kombination erzeugt wird. Über die linke Options-Taste kann ich die Symbole der Ebene 3 weiterhin erzeugen. Ohne die „Prevent …“-Regeln funktioniert Ebene 3 für mich in VS Code nicht, weil manche Zeichen als Shortcuts interpretiert werden. Die Regel nicht zu verwenden kommt für mich also nicht in Frage. Ich habe meine `karabiner.json` Konfiguration angehängt.
qwertfisch added the
Treiber/MacOS
label 7 months ago

Ich habe das gleiche Problem. Kann es an der z-Shell liegen?

Anhang 1 zeigt was passiert, wenn man in der Shell CapsLock und die Taste direkt rechts daneben drückt.

Anhang 2 zeigt den Tastendruck im Event-Viewer.

In allen anderen Apps außer dem Terminal funktioniert die Ebene 3.

Hat jemand eine Idee?

Ich habe das gleiche Problem. Kann es an der z-Shell liegen? Anhang 1 zeigt was passiert, wenn man in der Shell CapsLock und die Taste direkt rechts daneben drückt. Anhang 2 zeigt den Tastendruck im Event-Viewer. In allen anderen Apps außer dem Terminal funktioniert die Ebene 3. Hat jemand eine Idee?

Das Problem ist nicht auf zsh oder deren vi-Modus beschränkt: Wenn ich zum emacs-Modus wechsele, werden statt der eingegebenen Zeichen seltsame Escape-Sequenzen generiert. In bash tritt dasselbe Fehlerbild auf.

Das Problem ist nicht auf zsh oder deren vi-Modus beschränkt: Wenn ich zum emacs-Modus wechsele, werden statt der eingegebenen Zeichen seltsame Escape-Sequenzen generiert. In bash tritt dasselbe Fehlerbild auf.

Interressant. In bash sieht es für mich so aus.

Interressant. In bash sieht es für mich so aus.

Interressanterweise funktioniert bei mir die linke Option-Taste als MOD3.

Interressanterweise funktioniert bei mir die linke Option-Taste als MOD3.

Bei mir geht z.B. 5 von Layer 4 im Terminal mit zsh aber wenn ich ohmyzsh installiere geht es nicht mehr. C-v in ohmyzsh sagt er bekommt hier ein ^[Ou.

Bei mir geht z.B. 5 von Layer 4 im Terminal mit zsh aber wenn ich ohmyzsh installiere geht es nicht mehr. C-v in ohmyzsh sagt er bekommt hier ein ^[Ou.

ohmyzsh benutze ich auch. Vielleicht liegt der Fehler darin.

ohmyzsh benutze ich auch. Vielleicht liegt der Fehler darin.
https://github.com/ohmyzsh/ohmyzsh/issues/4916

https://github.com/ohmyzsh/ohmyzsh/issues/4916

Benutze das interne Macbook Pro (M1) Keyboard. Das hat keinen Nummernblock.

> https://github.com/ohmyzsh/ohmyzsh/issues/4916 Benutze das interne Macbook Pro (M1) Keyboard. Das hat keinen Nummernblock.

Das neo layer 4 tut aber so als wäre es das numpad. Bei mir geht der fix.

Das neo layer 4 tut aber so als wäre es das numpad. Bei mir geht der fix.

Bei mir funktioniert es nicht. Benutze aber auch bone.

Bei mir funktioniert es nicht. Benutze aber auch bone.

Geht leider auch nicht. Ebenso der ':' und ')' sowie ebene 4 Numpad im Terminal und hier zB. (auf der Seite) im GoPlayground:

https://go.dev/tour/moretypes/1

The issue with goplayground only exists when using Firefox, which is weird, because other sites work well in FF and neo.

Geht leider auch nicht. Ebenso der ':' und ')' sowie ebene 4 Numpad im Terminal und hier zB. (auf der Seite) im GoPlayground: https://go.dev/tour/moretypes/1 The issue with goplayground only exists when using Firefox, which is weird, because other sites work well in FF and neo.
Sign in to join this conversation.
Loading…
There is no content yet.