From 478ee3c6750304a0bbc7fefb93a1c32915152745 Mon Sep 17 00:00:00 2001 From: marco Date: Thu, 13 Aug 2026 15:43:26 +0200 Subject: [PATCH] added layer text to oled --- avalanche/v4/keymaps/custom/keymap.c | 62 +++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/avalanche/v4/keymaps/custom/keymap.c b/avalanche/v4/keymaps/custom/keymap.c index d14594d..87bcbac 100644 --- a/avalanche/v4/keymaps/custom/keymap.c +++ b/avalanche/v4/keymaps/custom/keymap.c @@ -1,4 +1,5 @@ #include QMK_KEYBOARD_H +#include enum layer { LAYER_0, LAYER_1, LAYER_2, LAYER_3, LAYER_4 }; @@ -50,4 +51,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), -}; \ No newline at end of file +}; + +const char *read_keylog(void); +const char *read_keylogs(void); +void set_keylog(uint16_t keycode, keyrecord_t *record); + +static void render_status(void) { + // // WPM + // oled_write_P(PSTR(" "), false); + // sprintf(wpm_str, "%03d", get_current_wpm()); + // oled_write(wpm_str, false); + // oled_write_P(PSTR(" WPM"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln("colemak", false); + break; + case 1: + oled_write_ln("epic gaming mode", false); + break; + case 2: + oled_write_ln("epic gaming mode 2", false); + break; + case 3: + oled_write_ln("symbols", false); + break; + case 4: + oled_write_ln("actions", false); + break; + default: + oled_write_ln("colemak", false); + break; + } + + oled_write_ln(read_keylog(), false); + oled_write_ln(read_keylogs(), false); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + // set_timelog(); + } + return true; +} + +// +// OLED display rendering +// +bool oled_task_user(void) { + if (is_keyboard_master()) { + // Left side + render_status(); + } else { + // Right side + // render_anim(); + } + + return 0; +} \ No newline at end of file