From c87a2d0c50e49a4c243e724ebc6f0364c72d678d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 22:46:18 +0000 Subject: [PATCH] Fix OLED flip/rotation: use OLED_ROTATION_90, add OLED_FLIP_SEGMENT and hardware defines from Keebart vial_oled reference Agent-Logs-Url: https://github.com/timfee/qmk_userspace/sessions/67aa8697-4682-4b27-a7d5-4d2fd67e9c3c Co-authored-by: timfee <3246342+timfee@users.noreply.github.com> --- users/timfee/config.h | 13 ++++++++++++- users/timfee/rules.mk | 2 ++ users/timfee/timfee.c | 9 +++------ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/users/timfee/config.h b/users/timfee/config.h index 7e765538..f75804a5 100644 --- a/users/timfee/config.h +++ b/users/timfee/config.h @@ -15,6 +15,17 @@ #define COMBO_TERM 40 #define COMBO_ONLY_FROM_LAYER 0 -// ── OLED ── +// ── OLED (matches Keebart vial_oled reference) ── +#define OLED_IC OLED_IC_SSD1312 +#define OLED_DISPLAY_128X64 +#define OLED_FLIP_SEGMENT +#define OLED_DISPLAY_ADDRESS 0x3C +#define OLED_CHARGE_PUMP_VALUE 0x72 +#define OLED_BRIGHTNESS 64 +#define OLED_TIMEOUT 0 +#define OLED_FADE_OUT + +// ── Split sync ── #define SPLIT_OLED_ENABLE #define SPLIT_WPM_ENABLE +#define SPLIT_LAYER_STATE_ENABLE diff --git a/users/timfee/rules.mk b/users/timfee/rules.mk index 260c9eb0..6960764d 100644 --- a/users/timfee/rules.mk +++ b/users/timfee/rules.mk @@ -1,3 +1,5 @@ COMBO_ENABLE = yes WPM_ENABLE = yes OLED_ENABLE = yes +OLED_DRIVER = ssd1306 +OLED_TRANSPORT = i2c diff --git a/users/timfee/timfee.c b/users/timfee/timfee.c index 01cf5f72..5f276023 100644 --- a/users/timfee/timfee.c +++ b/users/timfee/timfee.c @@ -127,14 +127,11 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { } } -// ── OLED display ── +// ── OLED display (rotation matches Keebart vial_oled reference) ── #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) { - return OLED_ROTATION_180; - } - return rotation; + return OLED_ROTATION_90; } static void render_layer(void) { @@ -180,7 +177,7 @@ static void render_wpm(void) { } bool oled_task_user(void) { - if (is_keyboard_master()) { + if (is_keyboard_left()) { render_layer(); render_keycode(); render_wpm();