Can't get Colemak keyboard layout to work in MacOS #640
Replies: 5 comments 1 reply
-
|
@rwedmonds , I found that even after implementing the Colemak Keys Remap, the key in the config file matched the letter printed on the key. So, I pulled out the remap, left it in QWERTY mode, configured the key map as such, and went on my merry Coleman way. |
Beta Was this translation helpful? Give feedback.
-
|
@chleggett Thanks, I will give that a try. |
Beta Was this translation helpful? Give feedback.
-
|
I'm having a similar issue with my Dvorak layout on my laptop: When using the built-in keyboard, I need to use the OS Dvorak layout. My external keyboard uses a highly customized Dvorak layout but sends keycodes to the OS that make it appear like a Qwerty keyboard. Whenever I switch (about once or twice a day), I need to edit the aerospace config and restart aerospace for my keybindings to behave correctly. Currently, I have this solved by having a binding that runs a shell script to switch the preset and then reloads the config. It would be nice to have a way to switch bindings via a command available in aerospace. Well, ideally, aerospace should just respect the mapping chosen at the system level, but I suspect that there's some OS limitation that forces aerospace to work directly with keycodes (because there are a number of other programs that have the same issue). |
Beta Was this translation helpful? Give feedback.
-
|
I heartily suggest you give Karabiner + Goku a try. I have a similar setup: I use a Colemak (DH-mode ISO) layout on my internal MacBook keyboard and a heavily customized Colemak layout on my external ZMK-driven keyboard, which operates with the standard Apple ABC layout (QWERTY). With the Karabiner app, you can easily define sets of hotkeys for any device, layout, or combination. Here's a draft example: :devices
{:corne [{:vendor_id 18003 :product_id 1}];
:magickeyboard [{:vendor_id 1452 :product_id 641}]
:nine [{:vendor_id 7504 :product_id 25615}]}
:input-sources
{:colemak {:input_source_id "io.github.colemakmods.keyboardlayout.colemakdh.colemakdhiso"}
:qwerty {:input_source_id "com.apple.keylayout.ABC"}}
:templates
{:aerospace "/opt/homebrew/bin/aerospace %s"}
:main
[
{:des "Aerospace"
:rules
[[:profiles :default]
[:tab ["aero-mode" 1] nil {:afterup ["aero-mode" 0] :alone :tab}]
[:condi :aero-mode :magickeyboard]
[:a [:aerospace "workspace 1"]]
[:s [:aerospace "workspace 2"]]
[:d [:aerospace "workspace 3"]]
[:f [:aerospace "workspace 4"]]
[:condi :aero-mode :corne]
[:a [:aerospace "workspace 1"]]
[:r [:aerospace "workspace 2"]]
[:s [:aerospace "workspace 3"]]
[:t [:aerospace "workspace 4"]]
;;
]}
]Please note that Karabiner works with the "hardware codes" of the keys on the built-in keyboard, not their values for the active layout. PS: {:des "Aerospace: remap keys from external keyboard (Corne) to combinations expected by Aerospace"
:rules
[
[:condi :corne]
[:!Or :!Os] ;; remap rigth_opt+r to right_opt+s
[:!Os :!Od] ;; remap rigth_opt+s to right_opt+d
[:!Ot :!Of] ;; remap rigth_opt+t to right_opt+f
] |
Beta Was this translation helpful? Give feedback.
-
|
@Dimentium Oh cool. This seems to be able to do exactly what I want: no more switching of settings when changing keyboard/keyboard layouts. Just a question: Where is the [:condi ...] construct documented in Goku? The documentation seems pretty sparse and seems to document only that conditions can be attached to bindings. Did I just not look right? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I have two different Colemak keyboards: One is wired Beekeeb Piantor and has custom mappings and requires the keyboard layout within MacOS to be set to the normal US layout, and it sends the correct keys to the OS. The other is a Nuphy Air 75 bluetooth keyboard and it requires the OS to be set to Colemak to work. In my .toml file, I have tried commenting out the default qwerty layout and leaving it in and in both cases tried adding the Colemak key mappings and commenting them out, each time reloading the config.
The behavior I'm seeing is that a lot of keys simply don't work. I wanted to map my mail app to Alt-Shift-m, but it acts like it doesn't even see it. I tried putting a window in the O workspace and it puts it in the Y workspace. For some reason the key mapping isn't working. I also can't place apps in many of the numbered workspaces while others seem to work fine.
I REALLY like the idea of this app. If there is anything that can be done I am happy to do it. I've attached my aerospace.toml file (renamed to .txt, as you can see).
aerospace.txt
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions