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:
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