MacOS: alt + o => ø or ¥

I am on on macOS with a US. layout and I am using the OS specific alt keys to get to the danish characters æøå. They are kinda hard to reach, so I’d like to move them to the fn layer

I can type “ø” by holding left or right physical alt keys and ‘o’ and I will get “ø”.
But when I make a mapping to LALT (or RALT) + o I get “¥”

However it works fine for æ (alt quote) and å (alt a).

So what is the difference between physical alt + o and LALT(Key_O) ???

Ah! Managed to figure it out with the excellent EventViewer that comes with Karabiner:

It turns out that when I press ‘O’ on my Colemak layout I am actually pressing the physical semicolon key.
So when I remapped to LALT(Key_Semicolon) it worked as expected!


I suspect that you may be encountering what I consider a bug in the way MacOS applies keyboard mappings. Karabiner is the best solution I’ve found, since I can set the OS to US-English, use my customized Dvorak mapping on my Model 01, and use Karabiner to override the laptop’s keyboard to Dvorak for use when I’m away from my desk (and don’t have my Atreus with me).

It’s particularly annoying with JVM-based programs, because of the levels at which the OS-based keyboard maps are applied, especially in combination with modifiers, in ways that sound exactly like what you’re describing.