feat(q5_max): add COMM+DOT+SLSH fallback combo to return to BASE
Adds a three-key combo (, . /) that fires TO(BASE), providing an emergency escape hatch when stuck on an unknown layer. COMBO_ONLY_FROM_LAYER is set to 0 in the keymap config.h so keycodes are always resolved from BASE, making the combo reliable regardless of the active layer.
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
// Copyright 2024 rootiest
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Always resolve combo keycodes from BASE (layer 0) so the
|
||||||
|
// COMM+DOT+SLSH fallback combo fires regardless of the active layer.
|
||||||
|
#define COMBO_ONLY_FROM_LAYER 0
|
||||||
@@ -108,6 +108,15 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
|||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
// Combos -----------------------------------------------------------------
|
||||||
|
// COMM + DOT + SLSH → TO(BASE): emergency fallback to base layer.
|
||||||
|
// COMBO_ONLY_FROM_LAYER 0 (config.h) ensures these keycodes are always
|
||||||
|
// resolved from BASE so the combo fires regardless of the active layer.
|
||||||
|
const uint16_t PROGMEM fallback_combo[] = {KC_COMM, KC_DOT, KC_SLSH, COMBO_END};
|
||||||
|
combo_t key_combos[] = {
|
||||||
|
COMBO(fallback_combo, TO(BASE)),
|
||||||
|
};
|
||||||
|
|
||||||
void keyboard_post_init_user(void) {
|
void keyboard_post_init_user(void) {
|
||||||
chord_init();
|
chord_init();
|
||||||
// Use the Linux unicode input method (Ctrl+Shift+U → hex → Enter).
|
// Use the Linux unicode input method (Ctrl+Shift+U → hex → Enter).
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
TAP_DANCE_ENABLE = yes
|
TAP_DANCE_ENABLE = yes
|
||||||
UNICODE_ENABLE = yes
|
UNICODE_ENABLE = yes
|
||||||
|
COMBO_ENABLE = yes
|
||||||
SRC += chord_unicode.c
|
SRC += chord_unicode.c
|
||||||
|
|||||||
Reference in New Issue
Block a user