aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/ChangeLog/20250831/HelixRefactor.md37
-rw-r--r--keyboards/helix/beta/beta.c77
-rw-r--r--keyboards/helix/beta/keyboard.json102
-rw-r--r--keyboards/helix/common/glcdfont.c233
-rw-r--r--keyboards/helix/config.h (renamed from keyboards/helix/beta/config.h)2
-rw-r--r--keyboards/helix/glcdfont.c232
-rw-r--r--keyboards/helix/helix.c (renamed from keyboards/helix/rev3/rev3.c)0
-rw-r--r--keyboards/helix/info.json40
-rw-r--r--keyboards/helix/pico/keyboard.json87
-rw-r--r--keyboards/helix/readme.md51
-rw-r--r--keyboards/helix/rev3/config.h5
-rw-r--r--keyboards/helix/rev3/keyboard.json27
-rw-r--r--keyboards/helix/rules.mk1
13 files changed, 475 insertions, 419 deletions
diff --git a/docs/ChangeLog/20250831/HelixRefactor.md b/docs/ChangeLog/20250831/HelixRefactor.md
new file mode 100644
index 0000000000..58136ce06b
--- /dev/null
+++ b/docs/ChangeLog/20250831/HelixRefactor.md
@@ -0,0 +1,37 @@
+# Refactor of `keyboards/helix`
+
+This series of PRs aims to align this keyboard's configuration with current standards, and also remove unnecessary contents.
+
+### Refactor `helix/pico` [#25428](https://github.com/qmk/qmk_firmware/pull/25428)
+ - Removes redundant `back`, `base`, `sc`, `under`, & `qmk_conf` revisions
+ - Migrates legacy defines and configuration to JSON
+ - Migrates `default` keymap to JSON
+ - Fixes RGB configuration to illuminate 25 LEDs per half
+ - Enables standard features like Bootmagic, extrakey, etc.
+ - Updates keyboard aliases accordingly
+
+### Refactor `helix/rev2` [#25429](https://github.com/qmk/qmk_firmware/pull/25429)
+ - Removes redundant `back`, `base`, `sc`, `under`, & `qmk_conf` revisions
+ - Renames `rev2` to `beta`, as the only PCB sources in the official Helix GitHub repository are named "[beta](https://github.com/MakotoKurauchi/helix/tree/master/PCB/beta)", this keyboard's name in QMK Firmware was already "beta", and this PCB is sold under the name "[beta](https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969)" on the Yushakobo store
+ - Migrates legacy defines and configuration to JSON
+ - Migrates `default` keymap to JSON
+ - Fixes RGB configuration to illuminate 32 LEDs per half
+ - Enables standard features like Bootmagic, extrakey, etc.
+ - Updates keyboard aliases accordingly
+ - Tidy's up OLED code
+ - Adds alternate 4 row layout, as this PCB allows users to snap off the bottom row
+
+### Refactor `helix/rev3_{4,5}rows` [#25430](https://github.com/qmk/qmk_firmware/pull/25430)
+ - The `rev3_4rows` and `rev3_5rows` firmwares are identical, except for the extra row users can snap off. The 4 row PCB is not sold anywhere as an individual product, only the [5 row PCB](https://shop.yushakobo.jp/products/2143). Thus, this PR removes the aforementioned two build targets and adds a single `rev3` revision
+ - Migrates legacy defines and configuration to JSON
+ - Migrates `default` keymap to JSON
+ - Removes RGB Light configuration
+ - Updates keyboard aliases accordingly
+ - Tidy's up OLED code
+ - Adds alternate 4 row layout, as this PCB allows users to snap off the bottom row
+
+### Migrate helix common configuration [#25433](https://github.com/qmk/qmk_firmware/pull/25433)
+ - Migrates common configuration shared between revisions to the top-level keyboard directory
+ - Improves `readme.md` to provide more detail regarding PCB revisions
+ - Removes unnecessary top-level `rules.mk` file and other general tidying
+ - Migrates `beta` and `pico` revisions to use RGB Matrix, which is more appropriate as these PCBs are fit with per-key RGB LEDs
diff --git a/keyboards/helix/beta/beta.c b/keyboards/helix/beta/beta.c
deleted file mode 100644
index 8020772b96..0000000000
--- a/keyboards/helix/beta/beta.c
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2020 Yushakobo
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include "quantum.h"
-
-#ifdef OLED_ENABLE
-void render_status(void) {
- static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
- if (!keymap_config.swap_lalt_lgui) {
- oled_write_P(os_logo[0][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[0][1], false);
- } else {
- oled_write_P(os_logo[1][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[1][1], false);
- }
-
- oled_write_P(PSTR(" Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Default"), false);
- break;
- case 1:
- oled_write_ln_P(PSTR("Lower"), false);
- break;
- case 2:
- oled_write_ln_P(PSTR("Raise"), false);
- break;
- case 3:
- oled_write_ln_P(PSTR("Adjust"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
- oled_write_P(PSTR("\n"), false);
-
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
-}
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- // clang-format off
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
- 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
- // clang-format on
- };
- oled_write_P(qmk_logo, false);
-}
-
-static void render_rgblight_status(void) {
- oled_write_P(PSTR(" LED"), false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(':', false);
- oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false);
-}
-
-bool oled_task_kb(void) {
- if (!oled_task_user()) {
- return false;
- }
- if (is_keyboard_master()) {
- render_status();
- } else {
- render_logo();
- render_rgblight_status();
- }
- return false;
-}
-#endif
diff --git a/keyboards/helix/beta/keyboard.json b/keyboards/helix/beta/keyboard.json
index 240a0a8869..c4eb48aab1 100644
--- a/keyboards/helix/beta/keyboard.json
+++ b/keyboards/helix/beta/keyboard.json
@@ -1,48 +1,82 @@
{
- "manufacturer": "Yushakobo",
"keyboard_name": "Helix Beta",
- "maintainer": "MakotoKurauchi",
- "development_board": "promicro",
- "diode_direction": "COL2ROW",
- "features": {
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "oled": true,
- "rgblight": true
- },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
- "rgblight": {
- "animations": {
- "breathing": true,
- "christmas": true,
- "knight": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "static_gradient": true
- },
- "led_count": 64,
- "max_brightness": 45,
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
+ {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
+ {"matrix": [3, 1], "x": 16, "y": 48, "flags": 4},
+ {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4},
+ {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4},
+ {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4},
+ {"matrix": [4, 4], "x": 64, "y": 64, "flags": 4},
+ {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4},
+ {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4},
+ {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [5, 5], "x": 144, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 192, "y": 0, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4},
+ {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 16, "flags": 4},
+ {"matrix": [6, 2], "x": 192, "y": 16, "flags": 4},
+ {"matrix": [6, 3], "x": 176, "y": 16, "flags": 4},
+ {"matrix": [6, 4], "x": 160, "y": 16, "flags": 4},
+ {"matrix": [6, 5], "x": 144, "y": 16, "flags": 4},
+ {"matrix": [7, 5], "x": 144, "y": 32, "flags": 4},
+ {"matrix": [7, 4], "x": 160, "y": 32, "flags": 4},
+ {"matrix": [7, 3], "x": 176, "y": 32, "flags": 4},
+ {"matrix": [7, 2], "x": 192, "y": 32, "flags": 4},
+ {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4},
+ {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4},
+ {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4},
+ {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4},
+ {"matrix": [8, 2], "x": 192, "y": 48, "flags": 4},
+ {"matrix": [8, 3], "x": 176, "y": 48, "flags": 4},
+ {"matrix": [8, 4], "x": 160, "y": 48, "flags": 4},
+ {"matrix": [8, 5], "x": 144, "y": 48, "flags": 4},
+ {"matrix": [8, 6], "x": 128, "y": 48, "flags": 4},
+ {"matrix": [9, 6], "x": 128, "y": 64, "flags": 4},
+ {"matrix": [9, 5], "x": 144, "y": 64, "flags": 4},
+ {"matrix": [9, 4], "x": 160, "y": 64, "flags": 4},
+ {"matrix": [9, 3], "x": 176, "y": 64, "flags": 4},
+ {"matrix": [9, 2], "x": 192, "y": 64, "flags": 4},
+ {"matrix": [9, 1], "x": 208, "y": 64, "flags": 4},
+ {"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
+ ],
"split_count": [32, 32]
},
- "split": {
- "enabled": true,
- "serial": {
- "pin": "D2"
- }
- },
"url": "https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969",
"usb": {
"device_version": "0.0.1",
- "pid": "0x0000",
- "vid": "0x3265"
- },
- "ws2812": {
- "pin": "D3"
+ "pid": "0x0000"
},
"layouts": {
"LAYOUT_4row": {
diff --git a/keyboards/helix/common/glcdfont.c b/keyboards/helix/common/glcdfont.c
deleted file mode 100644
index 697d58886e..0000000000
--- a/keyboards/helix/common/glcdfont.c
+++ /dev/null
@@ -1,233 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-static const unsigned char font[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
- 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
- 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
- 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
- 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
- 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
- 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
- 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
- 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
- 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
- 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
- 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
- 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
- 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
- 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
- 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
- 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
- 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
- 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
- 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
- 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
- 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
- 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
- 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
- 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
- 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
- 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
- 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
- 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
- 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
- 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
- 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
- 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
- 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
- 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
- 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
- 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
- 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
- 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
- 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
- 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
- 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
- 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
- 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
- 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
- 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
- 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
- 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
- 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
- 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
- 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
- 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
- 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
- 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
- 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
- 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
- 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
- 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
- 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
- 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
- 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
- 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
- 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
- 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
- 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
- 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
- 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
- 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
- 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
- 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
- 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
- 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
- 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
- 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
- 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
- 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
- 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
- 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
- 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF,
- 0xFE, 0xF8, 0xF0, 0xC0, 0x20, 0xF8,
- 0xFE, 0xFF, 0xFE, 0x79, 0x27, 0x1F,
- 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0,
- 0xC0, 0x20, 0xF8, 0xFE, 0xFF, 0xFF,
- 0x7F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFE,
- 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F,
- 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xE0,
- 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0,
- 0xF8, 0x78, 0x78, 0x7C, 0x3C, 0x3C,
- 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
- 0xBF, 0xBF, 0xDF, 0xDF, 0xEF, 0xEF,
- 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF,
- 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0,
- 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF,
- 0x7F, 0x1F, 0x07, 0x03, 0x00, 0x00,
- 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
- 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
- 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
- 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
- 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
- 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
- 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
- 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xC1, 0xF3,
- 0xCF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFC,
- 0xFB, 0xE7, 0x81, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0xE3, 0xCF, 0x3F, 0xFF,
- 0xFF, 0xFF, 0xFC, 0xFB, 0xE7, 0x81,
- 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00,
- 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E,
- 0x7E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0xFB,
- 0xFB, 0x7D, 0x7D, 0x7D, 0xBE, 0xBE,
- 0xBE, 0xDF, 0xDF, 0xE0, 0xE0, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0xFC, 0xFC, 0x7C, 0x7E, 0x7E,
- 0x3E, 0x3E, 0x1F, 0x1F, 0x1F, 0x0F,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x81,
- 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x81,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
- 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
- 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
- 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
- 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
- 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
- 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
- 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x60, 0x70, 0x7C, 0x7F, 0x7F, 0x7F,
- 0x7F, 0x1F, 0x06, 0x01, 0x03, 0x0F,
- 0x3F, 0x7F, 0x7F, 0x7E, 0x7C, 0x7C,
- 0x7E, 0x7F, 0x7F, 0x7F, 0x1F, 0x06,
- 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0x7F,
- 0x7E, 0x7C, 0x7C, 0x7E, 0x7F, 0x7F,
- 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
- 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F,
- 0x7F, 0x7F, 0x7D, 0x7D, 0x3D, 0x3E,
- 0x1E, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F,
- 0x07, 0x07, 0x07, 0x03, 0x03, 0x00,
- 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
- 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
- 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
- 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
- 0x00, 0x40, 0x70, 0x78, 0x7E, 0x7F,
- 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x01,
- 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x7F,
- 0x7E, 0x78, 0x70, 0x40, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
diff --git a/keyboards/helix/beta/config.h b/keyboards/helix/config.h
index dac611de9a..01040ab49f 100644
--- a/keyboards/helix/beta/config.h
+++ b/keyboards/helix/config.h
@@ -2,4 +2,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
+#define OLED_FONT_H "keyboards/helix/glcdfont.c"
diff --git a/keyboards/helix/glcdfont.c b/keyboards/helix/glcdfont.c
new file mode 100644
index 0000000000..1b81bbcbfe
--- /dev/null
+++ b/keyboards/helix/glcdfont.c
@@ -0,0 +1,232 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "progmem.h"
+
+static const unsigned char font[] PROGMEM = {
+ // clang-format off
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF,
+ 0xFE, 0xF8, 0xF0, 0xC0, 0x20, 0xF8,
+ 0xFE, 0xFF, 0xFE, 0x79, 0x27, 0x1F,
+ 0x7F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0,
+ 0xC0, 0x20, 0xF8, 0xFE, 0xFF, 0xFF,
+ 0x7F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFE,
+ 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00,
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F,
+ 0xBF, 0xBF, 0xC0, 0xC0, 0xC0, 0xE0,
+ 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0,
+ 0xF8, 0x78, 0x78, 0x7C, 0x3C, 0x3C,
+ 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
+ 0xBF, 0xBF, 0xDF, 0xDF, 0xEF, 0xEF,
+ 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF,
+ 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0,
+ 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF,
+ 0x7F, 0x1F, 0x07, 0x03, 0x00, 0x00,
+ 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
+ 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
+ 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
+ 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
+ 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
+ 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xC1, 0xF3,
+ 0xCF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFC,
+ 0xFB, 0xE7, 0x81, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0xE3, 0xCF, 0x3F, 0xFF,
+ 0xFF, 0xFF, 0xFC, 0xFB, 0xE7, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00,
+ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E,
+ 0x7E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xF7, 0xF7, 0xF7, 0xFB,
+ 0xFB, 0x7D, 0x7D, 0x7D, 0xBE, 0xBE,
+ 0xBE, 0xDF, 0xDF, 0xE0, 0xE0, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0xFC, 0xFC, 0x7C, 0x7E, 0x7E,
+ 0x3E, 0x3E, 0x1F, 0x1F, 0x1F, 0x0F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x81,
+ 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
+ 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
+ 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
+ 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
+ 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
+ 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x70, 0x7C, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x1F, 0x06, 0x01, 0x03, 0x0F,
+ 0x3F, 0x7F, 0x7F, 0x7E, 0x7C, 0x7C,
+ 0x7E, 0x7F, 0x7F, 0x7F, 0x1F, 0x06,
+ 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0x7F,
+ 0x7E, 0x7C, 0x7C, 0x7E, 0x7F, 0x7F,
+ 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x7D, 0x7D, 0x3D, 0x3E,
+ 0x1E, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F,
+ 0x07, 0x07, 0x07, 0x03, 0x03, 0x00,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00,
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
+ 0x00, 0x40, 0x70, 0x78, 0x7E, 0x7F,
+ 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x01,
+ 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x7F,
+ 0x7E, 0x78, 0x70, 0x40, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ // clang-format on
+};
diff --git a/keyboards/helix/rev3/rev3.c b/keyboards/helix/helix.c
index b9960a11bf..b9960a11bf 100644
--- a/keyboards/helix/rev3/rev3.c
+++ b/keyboards/helix/helix.c
diff --git a/keyboards/helix/info.json b/keyboards/helix/info.json
new file mode 100644
index 0000000000..a9ad385b7d
--- /dev/null
+++ b/keyboards/helix/info.json
@@ -0,0 +1,40 @@
+{
+ "manufacturer": "Yushakobo",
+ "maintainer": "MakotoKurauchi",
+ "build": {
+ "lto": true
+ },
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "oled": true,
+ "rgb_matrix": true
+ },
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "cycle_left_right": true,
+ "cycle_pinwheel": true,
+ "multisplash": true,
+ "solid_splash": true
+ },
+ "driver": "ws2812",
+ "max_brightness": 150,
+ "sleep": true
+ },
+ "split": {
+ "enabled": true,
+ "serial": {
+ "pin": "D2"
+ }
+ },
+ "usb": {
+ "vid": "0x3265"
+ },
+ "ws2812": {
+ "pin": "D3"
+ }
+}
diff --git a/keyboards/helix/pico/keyboard.json b/keyboards/helix/pico/keyboard.json
index 61ea537576..62b25b753b 100644
--- a/keyboards/helix/pico/keyboard.json
+++ b/keyboards/helix/pico/keyboard.json
@@ -1,48 +1,71 @@
{
- "manufacturer": "Yushakobo",
"keyboard_name": "Helix Pico",
- "maintainer": "MakotoKurauchi",
- "development_board": "promicro",
- "diode_direction": "COL2ROW",
"features": {
- "audio": false,
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "rgblight": true
+ "audio": false
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6"]
},
- "rgblight": {
- "animations": {
- "breathing": true,
- "christmas": true,
- "knight": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "static_gradient": true
- },
- "led_count": 50,
- "max_brightness": 45,
+ "rgb_matrix": {
+ "layout": [
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 32, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 48, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 64, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 80, "y": 21, "flags": 4},
+ {"matrix": [2, 5], "x": 80, "y": 42, "flags": 4},
+ {"matrix": [2, 4], "x": 64, "y": 42, "flags": 4},
+ {"matrix": [2, 3], "x": 48, "y": 42, "flags": 4},
+ {"matrix": [2, 2], "x": 32, "y": 42, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4},
+ {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [3, 1], "x": 16, "y": 64, "flags": 4},
+ {"matrix": [3, 2], "x": 32, "y": 64, "flags": 4},
+ {"matrix": [3, 3], "x": 48, "y": 64, "flags": 4},
+ {"matrix": [3, 4], "x": 64, "y": 64, "flags": 4},
+ {"matrix": [3, 5], "x": 80, "y": 64, "flags": 4},
+ {"matrix": [3, 6], "x": 96, "y": 64, "flags": 4},
+ {"matrix": [4, 5], "x": 144, "y": 0, "flags": 4},
+ {"matrix": [4, 4], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [4, 3], "x": 176, "y": 0, "flags": 4},
+ {"matrix": [4, 2], "x": 192, "y": 0, "flags": 4},
+ {"matrix": [4, 1], "x": 208, "y": 0, "flags": 4},
+ {"matrix": [4, 0], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [5, 0], "x": 224, "y": 21, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 21, "flags": 4},
+ {"matrix": [5, 2], "x": 192, "y": 21, "flags": 4},
+ {"matrix": [5, 3], "x": 176, "y": 21, "flags": 4},
+ {"matrix": [5, 4], "x": 160, "y": 21, "flags": 4},
+ {"matrix": [5, 5], "x": 144, "y": 21, "flags": 4},
+ {"matrix": [6, 5], "x": 144, "y": 42, "flags": 4},
+ {"matrix": [6, 4], "x": 160, "y": 42, "flags": 4},
+ {"matrix": [6, 3], "x": 176, "y": 42, "flags": 4},
+ {"matrix": [6, 2], "x": 192, "y": 42, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 42, "flags": 4},
+ {"matrix": [7, 0], "x": 224, "y": 64, "flags": 4},
+ {"matrix": [7, 1], "x": 208, "y": 64, "flags": 4},
+ {"matrix": [7, 2], "x": 192, "y": 64, "flags": 4},
+ {"matrix": [7, 3], "x": 176, "y": 64, "flags": 4},
+ {"matrix": [7, 4], "x": 160, "y": 64, "flags": 4},
+ {"matrix": [7, 5], "x": 144, "y": 64, "flags": 4},
+ {"matrix": [7, 6], "x": 128, "y": 64, "flags": 4}
+ ],
"split_count": [25, 25]
},
- "split": {
- "enabled": true,
- "serial": {
- "pin": "D2"
- }
- },
"url": "https://shop.yushakobo.jp/products/helixpico-pcb",
"usb": {
"device_version": "0.0.2",
- "pid": "0x0001",
- "vid": "0x3265"
- },
- "ws2812": {
- "pin": "D3"
+ "pid": "0x0001"
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/helix/readme.md b/keyboards/helix/readme.md
index 0c190f7626..810e0c1658 100644
--- a/keyboards/helix/readme.md
+++ b/keyboards/helix/readme.md
@@ -1,16 +1,45 @@
-Helix
-===
+# Helix
-![Helix](https://i.imgur.com/XBAmynN.jpg)
+![image](https://i.imgur.com/11o4MRV.jpeg)
-A compact split ortholinear keyboard.
+* Keyboard Maintainer: [MakotoKurauchi](https://github.com/MakotoKurauchi)
+* Hardware Supported: Helix Pico, Beta, rev3 PCBs w/ Pro Micro compatible development board
+* Hardware Availability: [Yushakobo](https://shop.yushakobo.jp), [GitHub](https://github.com/MakotoKurauchi/helix)
-Keyboard Maintainer: [Makoto Kurauchi](https://github.com/MakotoKurauchi/) [@pluis9](https://twitter.com/pluis9) [yushakobo](https://github.com/yushakobo)
-Hardware Supported: Helix PCB Alpha, Beta, Rev3, Pro Micro
-Hardware Availability: [PCB & Case Data](https://github.com/MakotoKurauchi/helix), [Yushakobo Shop](https://yushakobo.jp/shop/), [Little Keyboards](https://littlekeyboards.com/collections/helix)
+## Revisions
+- [Pico](https://shop.yushakobo.jp/products/helixpico-pcb)
+ - 4 row PCB
+ - per-key RGB
+ - support for a 128x32 OLED display
+ - footprint for speaker
+- [Beta](https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969)
+ - 4 or 5 row PCB with snappable bottom row
+ - per-key RGB
+ - support for a 128x32 OLED display
+- [rev3](https://shop.yushakobo.jp/products/2143)
+ - 4 or 5 row PCB with snappable bottom row
+ - per-key RGB
+ - support for a 128x32 OLED display
+ - rotary encoders
-## How to build
- * [Helix how to Customize and Compile](rev2/keymaps/default/readme.md#customize)
- * [HelixPico how to Customize and Compile](pico/keymaps/default/readme.md#customize)
+Make example for this keyboard (after setting up your build environment):
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
+ make helix/pico:default
+ make helix/beta:default
+ make helix/rev3:default
+
+Flashing example for this keyboard:
+
+ make helix/pico:default:flash
+ make helix/beta:default:flash
+ make helix/rev3:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard
+* **Physical reset button**: Briefly tap or double-tap the button near the TRRS jack
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/helix/rev3/config.h b/keyboards/helix/rev3/config.h
deleted file mode 100644
index dac611de9a..0000000000
--- a/keyboards/helix/rev3/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2025 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
diff --git a/keyboards/helix/rev3/keyboard.json b/keyboards/helix/rev3/keyboard.json
index 7122afdd64..887a5c8024 100644
--- a/keyboards/helix/rev3/keyboard.json
+++ b/keyboards/helix/rev3/keyboard.json
@@ -1,12 +1,5 @@
{
- "manufacturer": "Yushakobo",
"keyboard_name": "Helix rev3",
- "maintainer": "MakotoKurauchi",
- "build": {
- "lto": true
- },
- "development_board": "promicro",
- "diode_direction": "COL2ROW",
"dip_switch": {
"matrix_grid": [
[0, 6],
@@ -21,20 +14,14 @@
]
},
"features": {
- "bootmagic": true,
"dip_switch": false,
- "encoder": true,
- "extrakey": true,
- "mousekey": true,
- "oled": true,
- "rgb_matrix": true
+ "encoder": true
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"rgb_matrix": {
- "driver": "ws2812",
"layout": [
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
@@ -101,27 +88,17 @@
{"matrix": [9, 1], "x": 208, "y": 64, "flags": 4},
{"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
],
- "max_brightness": 150,
- "sleep": true,
"split_count": [32, 32]
},
"split": {
- "enabled": true,
"handedness": {
"matrix_grid": ["D7", "B2"]
- },
- "serial": {
- "pin": "D2"
}
},
"url": "https://shop.yushakobo.jp/products/2143",
"usb": {
"device_version": "0.0.1",
- "pid": "0x0003",
- "vid": "0x3265"
- },
- "ws2812": {
- "pin": "D3"
+ "pid": "0x0003"
},
"layouts": {
"LAYOUT_4row": {
diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk
deleted file mode 100644
index a2f233cf91..0000000000
--- a/keyboards/helix/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))