Layer 3 Caps Lock on NeoQwerty MacOS #643

Open
opened 2023-11-06 16:06:50 +01:00 by torbenf · 6 comments

Hi,
I am experiencing a weird behaviour using NeoQwertz and MacOS.
When installing the keyboard layout and applying the karabiner rules (see image 1 below), my home row (while pressing caps lock) looks like this:

{?:=><;![$|

I don't experience this when using the standard Neo Layout.

I tried recording the keystrokes with the Karabiner EventViewer, output is in image 2 and the pasteboard output here (I typed h-key followed by caps + h-key resulting in: h<):

[
  {
    "type": "down",
    "name": {"key_code":"h"},
    "usagePage": "7 (0x0007)",
    "usage": "11 (0x000b)",
    "misc": ""
  },
  {
    "type": "up",
    "name": {"key_code":"h"},
    "usagePage": "7 (0x0007)",
    "usage": "11 (0x000b)",
    "misc": ""
  },
  {
    "type": "down",
    "name": {"key_code":"right_option"},
    "usagePage": "7 (0x0007)",
    "usage": "230 (0x00e6)",
    "misc": "flags right_option"
  },
  {
    "type": "down",
    "name": {"key_code":"left_shift"},
    "usagePage": "7 (0x0007)",
    "usage": "225 (0x00e1)",
    "misc": "flags left_shift,right_option"
  },
  {
    "type": "down",
    "name": {"key_code":"left_option"},
    "usagePage": "7 (0x0007)",
    "usage": "226 (0x00e2)",
    "misc": "flags left_option,left_shift,right_option"
  },
  {
    "type": "up",
    "name": {"key_code":"right_option"},
    "usagePage": "7 (0x0007)",
    "usage": "230 (0x00e6)",
    "misc": "flags left_option,left_shift"
  },
  {
    "type": "down",
    "name": {"key_code":"page_up"},
    "usagePage": "7 (0x0007)",
    "usage": "75 (0x004b)",
    "misc": "flags left_option,left_shift"
  },
  {
    "type": "up",
    "name": {"key_code":"page_up"},
    "usagePage": "7 (0x0007)",
    "usage": "75 (0x004b)",
    "misc": "flags left_option,left_shift"
  },
  {
    "type": "up",
    "name": {"key_code":"left_shift"},
    "usagePage": "7 (0x0007)",
    "usage": "225 (0x00e1)",
    "misc": "flags left_option"
  },
  {
    "type": "up",
    "name": {"key_code":"left_option"},
    "usagePage": "7 (0x0007)",
    "usage": "226 (0x00e2)",
    "misc": ""
  },
  {
    "type": "down",
    "name": {"key_code":"h"},
    "usagePage": "7 (0x0007)",
    "usage": "11 (0x000b)",
    "misc": ""
  },
  {
    "type": "up",
    "name": {"key_code":"h"},
    "usagePage": "7 (0x0007)",
    "usage": "11 (0x000b)",
    "misc": ""
  }
]

Note that I pressed down on Caps, pressed the "H" key and then released the Caps lock. The EventViewer showed something different along with a lot of other keystrokes.

Can someone help?
Thank you so much!

Hi, I am experiencing a weird behaviour using NeoQwertz and MacOS. When installing the keyboard layout and applying the karabiner rules (see image 1 below), my home row (while pressing caps lock) looks like this: {?:=><;![$| I don't experience this when using the standard Neo Layout. I tried recording the keystrokes with the Karabiner EventViewer, output is in image 2 and the pasteboard output here (I typed h-key followed by caps + h-key resulting in: h<): ``` [ { "type": "down", "name": {"key_code":"h"}, "usagePage": "7 (0x0007)", "usage": "11 (0x000b)", "misc": "" }, { "type": "up", "name": {"key_code":"h"}, "usagePage": "7 (0x0007)", "usage": "11 (0x000b)", "misc": "" }, { "type": "down", "name": {"key_code":"right_option"}, "usagePage": "7 (0x0007)", "usage": "230 (0x00e6)", "misc": "flags right_option" }, { "type": "down", "name": {"key_code":"left_shift"}, "usagePage": "7 (0x0007)", "usage": "225 (0x00e1)", "misc": "flags left_shift,right_option" }, { "type": "down", "name": {"key_code":"left_option"}, "usagePage": "7 (0x0007)", "usage": "226 (0x00e2)", "misc": "flags left_option,left_shift,right_option" }, { "type": "up", "name": {"key_code":"right_option"}, "usagePage": "7 (0x0007)", "usage": "230 (0x00e6)", "misc": "flags left_option,left_shift" }, { "type": "down", "name": {"key_code":"page_up"}, "usagePage": "7 (0x0007)", "usage": "75 (0x004b)", "misc": "flags left_option,left_shift" }, { "type": "up", "name": {"key_code":"page_up"}, "usagePage": "7 (0x0007)", "usage": "75 (0x004b)", "misc": "flags left_option,left_shift" }, { "type": "up", "name": {"key_code":"left_shift"}, "usagePage": "7 (0x0007)", "usage": "225 (0x00e1)", "misc": "flags left_option" }, { "type": "up", "name": {"key_code":"left_option"}, "usagePage": "7 (0x0007)", "usage": "226 (0x00e2)", "misc": "" }, { "type": "down", "name": {"key_code":"h"}, "usagePage": "7 (0x0007)", "usage": "11 (0x000b)", "misc": "" }, { "type": "up", "name": {"key_code":"h"}, "usagePage": "7 (0x0007)", "usage": "11 (0x000b)", "misc": "" } ] ``` Note that I pressed down on Caps, pressed the "H" key and then released the Caps lock. The EventViewer showed something different along with a lot of other keystrokes. Can someone help? Thank you so much!
Member

Welche Version von NeoQwertz hast du? Weil bei mir sind die Zeichen auf Ebene 3 alle richtig, so weit ich es überprüft habe. Also CapsLock + H ergibt z.B. ein (

Am besten nimmst du das Bundle von hier und kopierst das ganze Verzeichnis wie gehabt nach "$HOME/Library/Keyboard Layouts/":
https://git.neo-layout.org/neo/neo-layout/src/branch/master/mac_osx/neo-layouts.bundle/Contents

Es hätte da auch mal einen Installer gegeben der das für dich macht, aber der qwertfisch hat den wieder aus dem git gelöscht :(

Welche Version von NeoQwertz hast du? Weil bei mir sind die Zeichen auf Ebene 3 alle richtig, so weit ich es überprüft habe. Also CapsLock + H ergibt z.B. ein ( Am besten nimmst du das Bundle von hier und kopierst das ganze Verzeichnis wie gehabt nach "$HOME/Library/Keyboard Layouts/": https://git.neo-layout.org/neo/neo-layout/src/branch/master/mac_osx/neo-layouts.bundle/Contents Es hätte da auch mal einen Installer gegeben der das für dich macht, aber der qwertfisch hat den wieder aus dem git gelöscht :(
Author

Vielen Dank für den Link. Damit klappt es schon sehr viel besser. Auch wenn ich mir nicht ganz sicher bin, was ich mit den anderen Dateinen machen soll, die nicht keyboardlayout oder icon sind (Info.plist und Version.plist).

Jetzt scheint nur noch Capslock + L und Capslock + - vertauscht zu sein:

Capslock + L produziert ;
Capslock + - produziert -

Ist das vielleicht extra so eingestellt?

Vielen Dank für deine Hilfe!

Vielen Dank für den Link. Damit klappt es schon sehr viel besser. Auch wenn ich mir nicht ganz sicher bin, was ich mit den anderen Dateinen machen soll, die nicht keyboardlayout oder icon sind (Info.plist und Version.plist). Jetzt scheint nur noch Capslock + L und Capslock + - vertauscht zu sein: Capslock + L produziert ; Capslock + - produziert - Ist das vielleicht extra so eingestellt? Vielen Dank für deine Hilfe!
Member

Das .bundle ist ein magisches Verzeichnis und das Info.plist Zeug sagt dem macOS welche Sprache es ist usw. Also einfach das ganze Verzeichnis (nicht den Inhalt) reinkopieren und fertig.

Kannst du mal schauen ob - und ; mit der Neo oder Bone Variante richtig funktionieren oder ob es nur auf NeoQwertz beschränkt ist? Ich bin gerade auf einer experimentellen Version wo es bei allen dreien richtig ist (so wie in den Referenzgrafiken auf der Webseite) und kann gerade nur schwierig zurück.

Das .bundle ist ein magisches Verzeichnis und das Info.plist Zeug sagt dem macOS welche Sprache es ist usw. Also einfach das ganze Verzeichnis (nicht den Inhalt) reinkopieren und fertig. Kannst du mal schauen ob - und ; mit der Neo oder Bone Variante richtig funktionieren oder ob es nur auf NeoQwertz beschränkt ist? Ich bin gerade auf einer experimentellen Version wo es bei allen dreien richtig ist (so wie in den Referenzgrafiken auf der Webseite) und kann gerade nur schwierig zurück.
Author

Habe das .bundle reinkopiert und nach Neustart sind die Layouts verfügbar. Bei Neo und Bone funktioniert - und ; richtig, bei NeoQwertz leider nicht.

EDIT: Interestingly enough it is working as indended in my iTerm2 terminal but not in other applicaitons like Safari Browser or VSCode Textedit...

Habe das .bundle reinkopiert und nach Neustart sind die Layouts verfügbar. Bei Neo und Bone funktioniert - und ; richtig, bei NeoQwertz leider nicht. EDIT: Interestingly enough it is working as indended in my iTerm2 terminal but not in other applicaitons like Safari Browser or VSCode Textedit...
Member

Ich kann mir das Problem gerade nicht erklären weil Ebene 3 bei allen drei Neo Flavours exakt gleich implementiert ist:

image

(ich weiß bei Bone und NeoQwertz fehlen die höheren Ebene für das Numpad)

Hast du sicher keine „Prevent …“ Rules aktiv? Bei denen bin ich mir nicht sicher ob sie mit NeoQwertz richtig funktionieren.

Ich kann mir das Problem gerade nicht erklären weil Ebene 3 bei allen drei Neo Flavours exakt gleich implementiert ist: ![image](/attachments/1971ac2a-230f-42f6-88b8-a3bb10f882bb) (ich weiß bei Bone und NeoQwertz fehlen die höheren Ebene für das Numpad) Hast du sicher keine „Prevent …“ Rules aktiv? Bei denen bin ich mir nicht sicher ob sie mit NeoQwertz richtig funktionieren.
2.8 MiB
Author

Ahaaa of course I had "Prevent... " rules in place. The ones suggested (or so I thought).
My understanding was that I just enable all the rules from the .json :|

Now the error can be traced back to the rule:

Prevent all layer 3 keys from beeing treated as option key shortcut.

When activated I get the described behaviour. When not activated everything seems fine. But... I don't exactly know what this rules does. Could you or someone explain it to me in more detail? What are the pros and cons.

Thank you so so much for your help @Mike1 !!

Ahaaa of course I had "Prevent... " rules in place. The ones suggested (or so I thought). My understanding was that I just enable all the rules from the .json :| Now the error can be traced back to the rule: > Prevent all layer 3 keys from beeing treated as option key shortcut. When activated I get the described behaviour. When not activated everything seems fine. But... I don't exactly know what this rules does. Could you or someone explain it to me in more detail? What are the pros and cons. Thank you so so much for your help @Mike1 !!
torbenf reopened this issue 2023-11-21 15:44:52 +01:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: neo/neo-layout#643
No description provided.