QMK Logo QMK Firmware

The goal of the QMK software project is to develop a completely customizable, powerful, and enjoyable firmware experience for any project - keyboard or otherwise - and to provide helpful, encouraging, and kind support and feedback for people with any software development experience.

View on GitHub

Current Version Discord Docs Status GitHub contributors GitHub forks


This project is maintained by QMK collaborators and contributors like you!

Hosted on GitHub Pages — Theme by orderedlist


Fix Command feature: use get_mods() instead of keyboard_report->mods

This replaces keyboard_report->mods with get_mods() instead, for the IS_COMMAND call, since it was broken due to issues with the Endpoint Consolidation commit.

As discussed in #4838, the Command feature doesn’t work when NKRO is turned on since the keyboard report structure is different. get_mods() is the proper way to retrieve mod state. See issue for further details.

We’ve only replaced occurrences of keyboard_report->mods in IS_COMMAND definitions and Massdrop keyboard code (as per @patrickmt’s comment on the issue). It’s likely that other occurrences in keyboard code and user keymaps can be replaced as well, but We didn’t want to do that in this PR as it could require more extensive testing.

Additionally, We removed an unnecessary IS_COMMAND redefinition in keyboards/clueboard/66/rev4/config.h which we missed in #4301.

Thanks @fauxpark for helping me figure out what was causing the problems with Command!