This allows you to define a key for your QMK keyboard which has some of the same functionality as the fn/Globe key on an Apple keyboard. Applying the following patch to your qmk repository creates a new keycode KC_GLOBE which can then be used in your keymaps.
This commit is updating @drashna's code from Nov 2023 to work with the Nov 2024 files.
- Apply the changes from this commit in full
- Make sure rules.mk for your keyboard has
KEYBOARD_SHARED_EP = yes
or else Globe-E, Globe-Q etc. will not work. - Use
KC_GLOBE
in your keymap to define a key as the fn/Globe key and compile as normal.
Alternatively if you want to avoid patching the generated header file, replace step 1. above with:
- Create thre new JSON file
data/constants/keycodes/keycodes_0.0.4_basic.hjson
from the commit above - Run
qmk generate-keycodes -v 0.0.5 -o quantum/keycodes.h
in the root of the repo to update the keycodes - Apply the change to
tmk_core/protocol/report.h
from the commit above
This will not make the key behave fully like the key on an Apple keyboard. Specifically more is required if you want it to toggle between F1–F12 and controlling brightness etc. See @fauxpark's gist for the long details.
I have not upgraded to Seqoia yet so I am afraid I cannot say if Ctrl-Globe does anything for me. In general it seems like some features do not work unless you also change the ids of your keyboard to pretend to be one made by Apple (see @fauxpark link above).
As for your other question, GLB_T() would only be possible with substantial code changes to QMK I think. Well beyond my current level of understanding it.