keyboardio/Chrysalis

Globe Key (🌐) Not Working on macOS Sonoma

nlordell opened this issue Β· 11 comments

Describe the bug
Globe key no longer seems to work on macOS Sonoma.

To Reproduce
Steps to reproduce the behavior:

  1. Save a layout with the 🌐 key (under "Mac/iPad Keys” section)
  2. Connect keyboard to a computer on macOS Sonoma and press the configured 🌐 key, nothing happens (I expect the emoji picker to open given my current configuration - the macOS default)

Expected behavior
Expect the 🌐 key to open the emoji picker.

Screenshots
chrysalis-debug.json.txt

Keyboard and emoji picture should be configured correctly:

image

image

I tested other macOS keys (lock screen, exposΓ©, mission control) and they work well.

Desktop:

  • OS: macOS 14.0
  • Chrysalis Version: 0.13.2
  • Firmware Version: 0.91.1+74
  • Keyboard Model: 01

Additional context
I’m not 100% sure, but I remember the globe key working under macOS Ventura (13.x). I unfortunately don’t have access to a computer running that version of macOS anymore to test whether or not my memory is correct.

I can partially replicate this bug. I am also already on Sonoma, my globe key gives me a list of keyboards to choose from. The behaviour I see is:

  • If I hit the 🌐 key on the laptop, it shows me the list.
  • If I hit the 🌐 key on the Keyboardio, it doesn't show the list.
  • If I hit the 🌐 on the laptop keyboard and then use the 🌐 key on the Keyboardio, I can use it to cycle through the list.

I tried mapping the ctrl key to globe in the Mac keyboard settings, then hitting ctrl does give me the list.

Screenshot 2023-10-02 at 14 23 15

@nlordell I do have a tip, you can map a key to ctrl+cmd+space, that will give you an emoji picker (though it disappears after having picked an emoji)

obra commented

I do have a tip, you can map a key to ctrl+cmd+space

Thanks for the tip! I used to use cmd + ctrl + e to open the emoji picker. Now that I know 🌐 chords work, I might just try 🌐 + e πŸ˜›.

In a situation where Globe on its own doesn't work, does Globe-F full-screen the current window?

Yes it does.

IIRC "tap globe on its own" is not something that ever worked for external third-party keyboards like ours.

So… weird… Some background on why I thought this was working. I used to have the emoji picker configured to cmd + ctrl + e (similar to what @roijalbaker suggested) and configured the keyboard to send that chord. However, at some point I noticed that Chrysalis added β€œmacOS and iOS key” support including the globe key (I think around version 0.12?). In order to be able to use the globe key on my laptop without my keyboard with my current muscle memory, I decided to configure it back to the 🌐 key. I remember trying it out and it working (otherwise, I don’t think I would have persisted the configuration).

That being said, I may just be remembering wrong and briefly searching online also suggests that the 🌐 key is not properly supported on macOS with 3rd party keyboards, so this is looking to likely be user error/me misremembering.


With that in mind, I think its fine to close this issue.

Another interesting fact, 🌐 + e seems to bound by default to opening the emoji picker (edit: This appears to be application specific), but can’t seem to find a way to configure a single key to send the 🌐 + e chord through in Chrysalis.

The Globe key does nothing when I press it on the Model 01, but works fine when I press it on the laptop keyboard. No emoji picker, no quick notes or notification center. If I type 🌐 + q while a terminal window has focus, I get an ordinary q on the command line. The globe key assignment used to work for me, but it has stopped working, and I'm not sure when. I tested another mapping on that key to make sure the switch still works. As of May 2024, is the Globe key assignment working for others? I'm using the latest keyboard firmware (0.92.6+116) and latest Mac OS (Sonoma 14.5), Apple Silicon.

obra commented

Digging into this more, what I'm seeing is that the globe key mapped through Chrysalis acts as " 🌐" when tapped twice to start dication, but not as the globe modifier or when configured to open the emoji picker- Reading up elsewhere, this is consistent with what other keyboard firmwares are seeing. Apple isn't exposing globe-as-modifier through standard USB peripherals.

It appears that the universally recommended workaround is to map "Caps lock" to "fn" for a given keyboard in system settings:

image

It looks like what's going on with apple's first-party keyboards is that they have a custom USB HID device descriptor that maps 'globe' to HID page 0xFF key 0x03. Without adding a custom apple endpoint, I'm not convinced that any keyboard will be able to generate the true globe key.

If your goal were just the emoji picker, mapping a key to Control + Cmd + Space would do it:
image

It's far from ideal, but looks like that's what apple gives us these days.

Thanks -- mapping Caps Lock to fn for the Model 01 in 'System Settings / Keyboard / Custom modifier keys' and mapping a physical key to Caps Lock in Chrysalis gets me all the Globe key behavior I was looking for: 🌐 + q for quicknotes, 🌐 + n to open the notification center, 🌐 + e (or just 🌐 🌐 )to open the emoji picker, etc. Perfect.

Digging into this more, what I'm seeing is that the globe key mapped through Chrysalis acts as " 🌐" when tapped twice to start dication, but not as the globe modifier or when configured to open the emoji picker- Reading up elsewhere, this is consistent with what other keyboard firmwares are seeing. Apple isn't exposing globe-as-modifier through standard USB peripherals.

It worked for me until some point in 2023. I have been upgrading both MacOS and Crysalis, so hard to say which changed.
But @obra do you feel sure that this is a change on the MacOS side, since you close the ticket? My fn+space is mapped to globe. I am positive that it used to work, no workarounds required.

obra commented

I'm pretty sure that things have been changed/tightened up on the macos side.