qmk_me

QMK Firmware userspace, keyboards, & keymaps
git clone git://git.pngu.org.org/qmk_me
Log | Files | Refs | Submodules | README | LICENSE

commit cab8340539d8a2d5f61db01ad94cfdc0ca16abad
parent c419ea6cdc63863dd4a509eb8f1949a17fa36a2a
Author: Jack Sangdahl <jack@pngu.org>
Date:   Fri, 12 Dec 2025 17:38:23 -0700

Move _keymap callbacks to standalone file, move introspection back

Diffstat:
Mkeyboards/boardsource/beiwagon/keymaps/jack/keymap.c | 2+-
Mkeyboards/splitkb/kyria/keymaps/jack/keymap.c | 2+-
Ausers/jack/callbacks.c | 9+++++++++
Musers/jack/jack.c | 34+++++++++++++++++++++++++---------
Musers/jack/jack.h | 1-
Musers/jack/rules.mk | 4++--
Dusers/jack/user_introspection.c | 29-----------------------------
7 files changed, 38 insertions(+), 43 deletions(-)

diff --git a/keyboards/boardsource/beiwagon/keymaps/jack/keymap.c b/keyboards/boardsource/beiwagon/keymaps/jack/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER0] = LAYOUT_jack( LUMINO, G(KC_Q), G(KC_R), - KC_VOLD, PNP, KC_VOLU, + KC_VOLD, TD(PLY_NXT_PRV), KC_VOLU, REMOVE, XRGB_HUI, XRGB_NXT, XRGB_TOG, XRGB_HUD, TG(LAYER1) ), diff --git a/keyboards/splitkb/kyria/keymaps/jack/keymap.c b/keyboards/splitkb/kyria/keymaps/jack/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, ESC_L1, KC_SPC, XXXXXXX, XXXXXXX, KC_BSPC, REP_L2, XXXXXXX, XXXXXXX ), [LAYER1] = LAYOUT_jack( - _______, PNP, KC_9, KC_8, KC_7, KC_TAB, _______, _______, _______, _______, _______, _______, + _______, TD(PLY_NXT_PRV), KC_9, KC_8, KC_7, KC_TAB, _______, _______, _______, _______, _______, _______, _______, HRML(KC_VOLU, KC_3, KC_2, KC_1), KC_CAPS, KC_LEFT, HRMR(KC_DOWN, KC_UP, KC_RGHT, _______), _______, _______, KC_VOLD, KC_6, KC_5, KC_4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/users/jack/callbacks.c b/users/jack/callbacks.c @@ -0,0 +1,9 @@ +// Copyright 2025 jack@pngu.org +// SPDX-License-Identifier: GPL-2.0-or-later +#include "jack.h" + +// clang-format off +__attribute__((weak)) void keyboard_post_init_keymap(void) {} +__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } +// clang-format on diff --git a/users/jack/jack.c b/users/jack/jack.c @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" -__attribute__((weak)) void keyboard_post_init_keymap(void) {} void keyboard_post_init_user(void) { #ifdef AUTOCORRECT_ENABLE if (!autocorrect_is_enabled()) @@ -33,10 +32,6 @@ bool process_detected_host_os_user(os_variant_t detected_os) { } #endif -__attribute__((weak)) -layer_state_t layer_state_set_keymap(layer_state_t state) { - return state; -} layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, LAYER1, LAYER2, LAYER3); state = layer_state_set_keymap(state); @@ -87,11 +82,23 @@ void ply_nxt_prv(tap_dance_state_t *state, void *user_data) { break; } } + +tap_dance_action_t tap_dance_actions[] = { + [EM_DASH_MINS] = ACTION_TAP_DANCE_FN(em_dash_mins), + [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(ply_nxt_prv), +}; #endif -__attribute__((weak)) bool process_record_keymap(uint16_t keycode, - keyrecord_t *record) { - return true; -} + +#ifdef COMBO_ENABLE +const uint16_t PROGMEM enter_combo[] = {KC_J, KC_K, COMBO_END}; +const uint16_t PROGMEM caps_combo[] = {KC_D, KC_F, COMBO_END}; + +combo_t key_combos[] = { + COMBO(enter_combo, KC_ENT), + COMBO(caps_combo, KC_CAPS), +}; +#endif + bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_record_keymap(keycode, record)) return false; @@ -124,3 +131,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER0] = {{KC_VOLU, KC_VOLD}, {KC_MNXT, KC_MPRV}}, + [LAYER1] = {{XRGB_SAI, XRGB_SAD}, {XRGB_HUI, XRGB_HUD}}, + [LAYER2] = {{_______, _______}, {_______, _______}}, + [LAYER3] = {{_______, _______}, {_______, _______}}, +}; +#endif diff --git a/users/jack/jack.h b/users/jack/jack.h @@ -14,7 +14,6 @@ void em_dash_mins(tap_dance_state_t *state, void *user_data); void ply_nxt_prv(tap_dance_state_t *state, void *user_data); #endif -void keyboard_pre_init_keymap(void); void keyboard_post_init_keymap(void); layer_state_t layer_state_set_keymap(layer_state_t state); bool process_record_keymap(uint16_t keycode, keyrecord_t *record); diff --git a/users/jack/rules.mk b/users/jack/rules.mk @@ -13,9 +13,9 @@ REPEAT_KEY_ENABLE = yes SPACE_CADET_ENABLE = no AUTOCORRECT_ENABLE = yes OS_DETECTION_ENABLE = yes -INTROSPECTION_KEYMAP_C = user_introspection.c +INTROSPECTION_KEYMAP_C = jack.c -SRC += $(USER_PATH)/jack.c +SRC += $(USER_PATH)/callbacks.c ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) SRC += $(USER_PATH)/colour.c diff --git a/users/jack/user_introspection.c b/users/jack/user_introspection.c @@ -1,29 +0,0 @@ -// Copyright 2025 jack@pngu.org -// SPDX-License-Identifier: GPL-2.0-or-later -#include "jack.h" - -#ifdef TAP_DANCE_ENABLE -tap_dance_action_t tap_dance_actions[] = { - [EM_DASH_MINS] = ACTION_TAP_DANCE_FN(em_dash_mins), - [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(ply_nxt_prv), -}; -#endif - -#ifdef COMBO_ENABLE -const uint16_t PROGMEM enter_combo[] = {KC_J, KC_K, COMBO_END}; -const uint16_t PROGMEM caps_combo[] = {KC_D, KC_F, COMBO_END}; - -combo_t key_combos[] = { - COMBO(enter_combo, KC_ENT), - COMBO(caps_combo, KC_CAPS), -}; -#endif - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER0] = {{KC_VOLU, KC_VOLD}, {KC_MNXT, KC_MPRV}}, - [LAYER1] = {{XRGB_SAI, XRGB_SAD}, {XRGB_HUI, XRGB_HUD}}, - [LAYER2] = {{_______, _______}, {_______, _______}}, - [LAYER3] = {{_______, _______}, {_______, _______}}, -}; -#endif