Keyboard: Keychron Q3 ISO KNOB
I had a working system with Karabiner Elements, I had mapped caps lock to be a hyper-key on macOS. Everything worked perfectly.
Then I was stupid and updated to the latest firmware on the keyboard to 1.0.5 because it’s the new shiny.
Now I can’t override the capslock key with Karabiner any more.
I can see it’s being pressed in the event viewer, but I can’t capture the event. How on earth is the firmware bypassing Karabiner and how can I make it stop short of remapping capslock to a key that CAN be overwritten in firmware?
Pretty much every other key can be overwritten at least from the dozen or so I tested already, it’s just CAPS LOCK being special.
Solved it myself:
The new firmware reports the keyboard as TWO different devices, both with the exact same Vendor ID and Product ID
One just looks like a mouse+keyboard to the OS and one is a keyboard. The mouse+kb one was the only one enabled in Karabiner.
Karabiner Settings -> Devices -> tick “Modify events” on both and now it works.