-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
Addition to the Apple Globe key code to QMK #24661
base: develop
Are you sure you want to change the base?
Conversation
for the release 1 of this keyboard.
Removing the uppercase R1 folder
This commit is based on lordpixel23 commit [d390fff](lordpixel23@d39033f)
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.
I'll leave the rest of the review for the team -- they know more about the status of this stuff than what I do.
Co-authored-by: Ryan <fauxpark@gmail.com>
SHARE_EP_ENABLE was incorrectly set with GLOBE_KEY_ENABLE, what was needed is to set the KEYBOARD_SHARED_EP instead. This corrects it.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Please undo the last merge commit. |
Now everything else is gone... |
Ok we should be back on track, sorry about the mishap. |
@@ -327,6 +327,8 @@ static inline uint16_t KEYCODE2CONSUMER(uint8_t key) { | |||
return AC_DESKTOP_SHOW_ALL_WINDOWS; | |||
case KC_LAUNCHPAD: | |||
return AC_SOFT_KEY_LEFT; | |||
case KC_GLOBE: | |||
return AC_NEXT_KEYBOARD_LAYOUT_SELECT; |
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.
Looks like this KC_GLOBE does exactly that, and only suitable for switching layouts, not really sending Globe codes.
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.
Strictly speaking, you are right, but in practice, on a Mac, it operates as a key.
- pressed alone, it triggers the emoji picker (or what is configured in the Mac settings for the Keyboard)
- it can be used as a "modifier" with specific keys, for instance
- Globe+A to toggle the dock when hidden,
- Globe+C to toggle control center,
- Globe+F to toggle full screen,
- Globe+H to show the desktop,
- Globe+N to toggle Notification Center,
- Globe+Q launch notes.
Unfortunately, there are other cases where I have yet to have success. In particular, Globe+Arrow keys combinations, but I typically use 60% keyboards, so arrow keys are hard to test with those.
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.
If the keycode works on Windows/Linux too (but as layout select), then it would be worth having appropriate aliases too.
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.
I don't have a pure Windows or Linux machine, but I can investigate using a virtual machine. I'll see whether I have time tomorrow to try that.
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.
Windows does not seem to react to the AC Next Keyboard Layout Select
usage, but I can see it coming in through Wireshark.
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.
You're right about the VM. Indeed, this is what happens when I connect to work via Citrix (the reason so many of my colleagues have keyboard problems). I'll try it again by configuring Parallels properly. I'll do a search, but by any chance, do you know any Linux software that would capture keyboard events like Karabiner on the Mac?
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.
I succeeded in passing all my keypresses to the Linux session running in VM. I've monitored the keypresses using xev
, which is pretty basic but does the job. Like with Windows, the result is no report of any key being pressed when using either the Globe on its own or in combination with another key.
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.
I figured that might be the case, considering X keysyms only go up to something like 240; KEY_KBD_LAYOUT_NEXT
has a value of 584. evtest
might have better info, but even so, I'm not sure what the mechanism(s) would be, if any, to get the key to do something useful.
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.
Actually xkeyboard-config has support for KEY_KBD_LAYOUT_NEXT
in symbols/inet
since xkeyboard-config-2.33
(the <I592>
keycode (linux_input_keycode + 8
, as usual) gets mapped to ISO_Next_Group
). The problem is that the X protocol does not support keycode values above 255, therefore that mapping would work only in Wayland.
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.
Well, clearly, there is atm only a use case for macOS but it is a big one for Apple users. I'd wish to know how to make all the other combinations work but that's already a beginning that would benefit this group of users.
The change brings the Apple Globe Key as
KC_GLOBE
to QMK.Description
The change is based mainly on @lordpixel23 QMK patch and is being discussed in depth in QMK Apple Fn Key created by @fauxpark.
Importantly, this change does not rely on VID/PID to be set on specific values.
In addition to the patch mentioned above, it introduces a new compilation flag,
GLOBE_KEY_ENABLE
such that:(a) the required
KEYBOARD_SHARE_EP
is enabled when the Globe keycode is used(b) keyboards or user layouts can make use of this definition for further customizations
The QMK documentation has been amended accordingly.
Certain key combinations are not yet working, though; in particular, 🌐︎+arrow or 🌐︎+FN do not work.
Thanks go to the input of many contributors, as this topic has been long discussed: @fauxpark, @HVR88, @drashna, and @lordpixel23.
Types of Changes
Issues Fixed or Closed by This PR
Checklist