qmk_me

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

commit c49769cb731e63cb22d9a384847bee5f1d03b3af
parent 720bfba7125ba26af0dae4147e84a30707402623
Author: Jack Sangdahl <jack@pngu.org>
Date:   Sun,  7 Dec 2025 16:25:10 +0100

Move remaining OLED code to where it's used

Diffstat:
Mkeyboards/splitkb/kyria/keymaps/jack/config.h | 2++
Mkeyboards/splitkb/kyria/keymaps/jack/keymap.c | 17+++++++++++++++++
Musers/jack/config.h | 11++++++-----
Musers/jack/jack.c | 30++++++------------------------
Musers/jack/jack.h | 8++------
5 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/keyboards/splitkb/kyria/keymaps/jack/config.h b/keyboards/splitkb/kyria/keymaps/jack/config.h @@ -2,6 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +#define OLED_DISABLE_TIMEOUT + #define SPLIT_WPM_ENABLE #define SPLIT_POINTING_ENABLE #define POINTING_DEVICE_RIGHT diff --git a/keyboards/splitkb/kyria/keymaps/jack/keymap.c b/keyboards/splitkb/kyria/keymaps/jack/keymap.c @@ -28,6 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format on #ifdef OLED_ENABLE +uint32_t oled_timer = 0; + +void oled_timer_reset(void) { oled_timer = timer_read32(); } + void oled_wpm_graph(void) { static uint8_t height = OLED_DISPLAY_HEIGHT - 1, vert_count = 0, max_wpm = 160; @@ -67,12 +71,25 @@ void oled_wpm(void) { } bool oled_task_keymap(void) { + if (is_keyboard_master()) { + if (timer_elapsed32(oled_timer) > THREE_MIN) { + oled_off(); + return false; + } else + oled_on(); + } if (is_keyboard_left()) { oled_wpm_graph(); oled_wpm(); } return false; } + +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) + oled_timer_reset(); + return true; +} #endif #ifdef POINTING_DEVICE_ENABLE diff --git a/users/jack/config.h b/users/jack/config.h @@ -2,23 +2,24 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once +// Input related #define TAPPING_TERM_PER_KEY #define TAPPING_TERM 140 #define BOTH_SHIFTS_TURNS_ON_CAPS_WORD #define COMBO_TERM 40 #define NO_ACTION_ONESHOT #define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS -#define ENABLE_COMPILE_KEYCODE + +// Space saving #define LAYER_STATE_8BIT #undef LOCKING_SUPPORT_ENABLE #undef LOCKING_RESYNC_ENABLE + +// Miscellaneous #undef MANUFACTURER #define MANUFACTURER "jack" #define THREE_MIN (1000 * 60) * 3 - -#ifdef OLED_ENABLE -#define OLED_DISABLE_TIMEOUT -#endif +#define ENABLE_COMPILE_KEYCODE #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_SLEEP diff --git a/users/jack/jack.c b/users/jack/jack.c @@ -33,25 +33,6 @@ bool process_detected_host_os_user(os_variant_t detected_os) { } #endif -#ifdef OLED_ENABLE -uint32_t oled_timer = 0; - -void oled_timer_reset(void) { oled_timer = timer_read32(); } - -__attribute__((weak)) bool oled_task_keymap(void) { return true; } -bool oled_task_user(void) { - if (is_keyboard_master()) { - if (timer_elapsed32(oled_timer) > THREE_MIN) { - oled_off(); - return false; - } else - oled_on(); - } - oled_task_keymap(); - return false; -} -#endif - #define INTERCEPT_MOD_TAP(mod, keycode) \ case mod(keycode): \ if (record->tap.count && record->event.pressed) { \ @@ -114,12 +95,13 @@ tap_dance_action_t tap_dance_actions[] = { [SBRACKET] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), }; #endif - +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, + keyrecord_t *record) { + return true; +} bool process_record_user(uint16_t keycode, keyrecord_t *record) { -#ifdef OLED_ENABLE - if (record->event.pressed) - oled_timer_reset(); -#endif + if (!process_record_keymap(keycode, record)) + return false; switch (keycode) { case UPDIR: if (record->event.pressed) diff --git a/users/jack/jack.h b/users/jack/jack.h @@ -3,7 +3,7 @@ #pragma once #include QMK_KEYBOARD_H -enum layers { LAYER0, LAYER1, LAYER3 }; +enum layers { LAYER0, LAYER1, LAYER2, LAYER3 }; enum tapdances { EM_DASH_MINS, PLY_NXT_PRV, CBRACKET, SBRACKET }; @@ -14,13 +14,9 @@ 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 -#ifdef OLED_ENABLE -bool oled_task_keymap(void); -void oled_timer_reset(void); -#endif - void keyboard_pre_init_keymap(void); void keyboard_post_init_keymap(void); +bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #ifdef RGB_MATRIX_ENABLE #define XRGB_TOG RM_TOGG