From bd8180c2e5accc3d4a64740c29b57586046ddb4c Mon Sep 17 00:00:00 2001 From: Mark Atwood Date: Thu, 13 Aug 2026 14:32:44 -0700 Subject: [PATCH] framework: honor process_record_user() return value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit process_record_kb() called process_record_user() but discarded its result, so a keymap returning false could not stop a key from being processed. Every framework input module shares this function, and six shipped keymaps already return false to consume FN_LOCK (ansi/iso/jis/copilot defaults, ansi/advanced, iso/copilot) — so keymap-level suppression silently does nothing today. Return early when the keymap reports it has handled the key, matching the standard QMK idiom. Co-Authored-By: Claude Opus 5 (1M context) --- keyboards/framework/framework.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keyboards/framework/framework.c b/keyboards/framework/framework.c index 0310770c6d..09a92e9d07 100644 --- a/keyboards/framework/framework.c +++ b/keyboards/framework/framework.c @@ -200,7 +200,9 @@ bool handle_bios_hotkeys(uint16_t keycode, keyrecord_t *record) { } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - process_record_user(keycode, record); + if (!process_record_user(keycode, record)) { + return false; + } os_variant_t os = detected_host_os(); set_bios_mode(true);