-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(hid): Add apple globe keycode #1938
Conversation
I think you'll need to update a few more spots, see #1386 as an example. |
Sorted, I also added an extra alias to the keycode so it can be called with GLOBE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, one question about the OS support fields.
Co-authored-by: Cem Aksoylar <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment on the naming choice for the long form of the key.
Co-authored-by: Pete Johanson <[email protected]>
Co-authored-by: Pete Johanson <[email protected]>
Co-authored-by: Pete Johanson <[email protected]>
Co-authored-by: Pete Johanson <[email protected]>
Yep you're right, all sorted now |
Co-authored-by: Nick Coutsos <[email protected]>
Total newbie here. I don't know if I am misusing this, but I have tried today to test this here, I have just added a GLOBE modifier to line 58 of the https://github.com/danieleavitabile/zmk-config/blob/test-globe-button/config/splitkb_aurora_corne.keymap file. My GitHub Action was not successful. Any ideas about what I'm doing wrong? |
|
@danieleavitabile Here is a parameterized macro that you can use like so:
Just put this inside your |
Thanks! I am just testing this non-parametrised macro, and I'll try to understand how your one works too
|
Hi @ReFil I have tried both my macro and the one proposed by @SethMilliken, and the GLOBE button does not seem to work for me. The latest working compilation can be seen here: the macro is at line 90 of the da-include file, and it is called in line 58 of the keymap file. The button behaves as an ordinary backspace. Am I doing something wrong, can I help testing this? I am on a 13inch 2018 MacBook Pro running macOS Ventura. |
Does sending the combo manually via a dedicated |
@danieleavitabile Didn't see the forest for the trees for your particular binding. It sounds like you may just want |
It does not. |
thanks for this, you can't imagine how much time I have spent waiting for the globe function to be implemented... Having said that, anything I can do to help testing the actual GLOBE button? It's also useful for other mappings |
It seems like it doesn't work for all users which is odd |
Have you enabled CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_FULL=y in your defconfig or conf file? You will also need to remove any CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y line |
Here are my findings of the behavior on macOS Sonoma 14.0 with a MacBook Pro 16-inch, 2021 (M1 Pro). For the behaviors that do not work, I verified that they do work correctly using the Globe key on the built-in keyboard.
|
Thanks for the feedback, It's very unusual that it works for some combinations but not others. Does the built-in globe key show up in karabiner? |
Yes, here are the Karabiner-EventViewer down/up events for the built-in keyboard key:
|
hmm that's the old custom usage page fn key implementation. I wonder if the navigation keys and delete key are fn+key rather than globe+key. I dont know how the standard keyboard can tell when to send fn and when to send globe. I dont think there's anything that can be done on the fn key side as that still has the original issue of having to change the vid and pid. |
Why do Apple do these things haha, how hard would it have been to have a dedicated keycode for their fn key that just does all the fn behaviours. This, their changing Bluetooth settings every other update and trackpad compatibility is just maddening 😅 |
Thank you for the investigation @SethMilliken ! I think given this information (and assuming there isn't a solution from ZMK side) we should document this in the codes section of the documentation. |
Is there a standard place to document keycode specific quirks? happy to write up what this keycode can and can't do on a mac |
There's the footnotes: {
ios: ["iosApplication"],
} which seems to involve an entry in https://github.com/zmkfirmware/zmk/tree/main/docs/docs/codes/_footnotes but all of the existing ones and the guidelines in the example suggest that it should probably be kept short. I'm not sure where it would make sense to break out into more detail. |
@nickcoutsos is right, see the instructions here: https://github.com/zmkfirmware/zmk/blob/main/docs/docs/codes/_footnotes/example.mdx Looks like a few pieces are needed to get it working:
I don't think it would be a big deal if it was a few sentences. I think we should mention this:
The full consumer page restriction (and NKRO given it seems to be buggy atm) should also be mentioned but I think that should be a separate footnote. I would love to put it in other similar keycodes if we can exactly figure out which don't work with the basic usage page, but that should be a separate change. |
Ace, thank you both very much, I'll try and bash it out asap to prevent lots of user confusion |
I believe an improvement on this matter could be done if we could use |
Adds the globe keycode C_KEYBOARD_LAYOUT_SELECT, This might also act as the Fn key, it's not something I have tested. Should partially or fully solve #947