aboutsummaryrefslogtreecommitdiff
path: root/keyboards/helix
diff options
context:
space:
mode:
authorjack <[email protected]>2023-12-07 15:13:12 -0700
committerJack Sangdahl <[email protected]>2024-11-27 09:23:25 -0700
commit165e07e1d043f46d359c01e806b6d49e96a6b30c (patch)
tree2d1378de1c3a55a3a5c453169af64967fd95e690 /keyboards/helix
parentb0ac5bcf915c84fb25c260158fae7e7073e2c7b3 (diff)
downloadqmk_firmware-165e07e1d043f46d359c01e806b6d49e96a6b30c.tar.gz
qmk_firmware-165e07e1d043f46d359c01e806b6d49e96a6b30c.zip
Refactor Helix
initial rev3_5rows initial rev3_4rows initial rev2 initial pico keyboard level things fixup readme & remove aliases some small improvements drashna's suggestions remove songs align oled code with original
Diffstat (limited to 'keyboards/helix')
-rw-r--r--keyboards/helix/config.h (renamed from keyboards/helix/pico/qmk_conf/config.h)12
-rw-r--r--keyboards/helix/glcdfont.c (renamed from keyboards/helix/common/glcdfont.c)5
-rw-r--r--keyboards/helix/helix.c149
-rw-r--r--keyboards/helix/helix.h (renamed from keyboards/helix/rev3_4rows/rev3_4rows.h)7
-rw-r--r--keyboards/helix/info.json37
-rw-r--r--keyboards/helix/pico/back/keyboard.json1
-rw-r--r--keyboards/helix/pico/back/rules.mk1
-rw-r--r--keyboards/helix/pico/base/keyboard.json1
-rw-r--r--keyboards/helix/pico/keyboard.json (renamed from keyboards/helix/pico/info.json)43
-rw-r--r--keyboards/helix/pico/keymaps/default/config.h42
-rw-r--r--keyboards/helix/pico/keymaps/default/keymap.c219
-rw-r--r--keyboards/helix/pico/keymaps/default/readme.md42
-rw-r--r--keyboards/helix/pico/keymaps/default/rules.mk11
-rw-r--r--keyboards/helix/pico/override_helix_options.mk-maintenance42
-rw-r--r--keyboards/helix/pico/pico.c37
-rw-r--r--keyboards/helix/pico/pico.h24
-rw-r--r--keyboards/helix/pico/post_config.h7
-rw-r--r--keyboards/helix/pico/post_rules.mk77
-rw-r--r--keyboards/helix/pico/qmk_conf/keyboard.json6
-rw-r--r--keyboards/helix/pico/rules.mk7
-rw-r--r--keyboards/helix/pico/sc/keyboard.json1
-rw-r--r--keyboards/helix/pico/sc/rules.mk1
-rw-r--r--keyboards/helix/pico/under/keyboard.json1
-rw-r--r--keyboards/helix/pico/under/rules.mk1
-rw-r--r--keyboards/helix/readme.md38
-rw-r--r--keyboards/helix/rev2/back/keyboard.json1
-rw-r--r--keyboards/helix/rev2/back/rules.mk1
-rw-r--r--keyboards/helix/rev2/base/keyboard.json1
-rw-r--r--keyboards/helix/rev2/keyboard.json (renamed from keyboards/helix/rev2/info.json)51
-rw-r--r--keyboards/helix/rev2/keymaps/default/config.h38
-rw-r--r--keyboards/helix/rev2/keymaps/default/keymap.c214
-rw-r--r--keyboards/helix/rev2/keymaps/default/oled_display.c138
-rw-r--r--keyboards/helix/rev2/keymaps/default/readme.md46
-rw-r--r--keyboards/helix/rev2/keymaps/default/rules.mk23
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/config.h58
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c46
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk19
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/README.md27
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/config.h41
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/led_test_init.c6
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/oled_display.c1
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/rules.mk25
-rw-r--r--keyboards/helix/rev2/local_features.mk90
-rw-r--r--keyboards/helix/rev2/override_helix_options.mk-maintenance46
-rw-r--r--keyboards/helix/rev2/post_config.h7
-rw-r--r--keyboards/helix/rev2/post_rules.mk3
-rw-r--r--keyboards/helix/rev2/qmk_conf/keyboard.json1
-rw-r--r--keyboards/helix/rev2/qmk_conf/rules.mk4
-rw-r--r--keyboards/helix/rev2/readme.md4
-rw-r--r--keyboards/helix/rev2/rev2.c76
-rw-r--r--keyboards/helix/rev2/rev2.h36
-rw-r--r--keyboards/helix/rev2/rules.mk11
-rw-r--r--keyboards/helix/rev2/sc/keyboard.json1
-rw-r--r--keyboards/helix/rev2/sc/rules.mk1
-rw-r--r--keyboards/helix/rev2/serial_config_simpleapi.h4
-rw-r--r--keyboards/helix/rev2/under/keyboard.json1
-rw-r--r--keyboards/helix/rev2/under/rules.mk1
-rw-r--r--keyboards/helix/rev3_4rows/config.h60
-rw-r--r--keyboards/helix/rev3_4rows/keyboard.json212
-rw-r--r--keyboards/helix/rev3_4rows/keymaps/default/keymap.c99
-rw-r--r--keyboards/helix/rev3_4rows/keymaps/default/oled_display.c120
-rw-r--r--keyboards/helix/rev3_4rows/keymaps/default/readme.md4
-rw-r--r--keyboards/helix/rev3_4rows/keymaps/default/rules.mk1
-rw-r--r--keyboards/helix/rev3_4rows/oled_display.c9
-rw-r--r--keyboards/helix/rev3_4rows/readme.md6
-rw-r--r--keyboards/helix/rev3_4rows/rev3_4rows.c114
-rw-r--r--keyboards/helix/rev3_4rows/rules.mk9
-rw-r--r--keyboards/helix/rev3_5rows/config.h60
-rw-r--r--keyboards/helix/rev3_5rows/keyboard.json386
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/default/keymap.c70
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/default/oled_display.c120
-rw-r--r--keyboards/helix/rev3_5rows/keymaps/default/readme.md4
-rw-r--r--keyboards/helix/rev3_5rows/oled_display.c9
-rw-r--r--keyboards/helix/rev3_5rows/readme.md6
-rw-r--r--keyboards/helix/rev3_5rows/rev3_5rows.c114
-rw-r--r--keyboards/helix/rev3_5rows/rev3_5rows.h22
-rw-r--r--keyboards/helix/rev3_5rows/rules.mk10
-rw-r--r--keyboards/helix/rules.mk2
78 files changed, 633 insertions, 2638 deletions
diff --git a/keyboards/helix/pico/qmk_conf/config.h b/keyboards/helix/config.h
index 15b3392895..aab8a6ac3e 100644
--- a/keyboards/helix/pico/qmk_conf/config.h
+++ b/keyboards/helix/config.h
@@ -1,8 +1,5 @@
/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
+Copyright 2020 yushakobo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,9 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// place overrides here
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(STARTUP_SOUND)
- #define AUDIO_CLICKY
-#endif
+#define OLED_FONT_H "keyboards/helix/glcdfont.c"
diff --git a/keyboards/helix/common/glcdfont.c b/keyboards/helix/glcdfont.c
index 697d58886e..b1ffc011a1 100644
--- a/keyboards/helix/common/glcdfont.c
+++ b/keyboards/helix/glcdfont.c
@@ -1,6 +1,5 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "progmem.h"
// Standard ASCII 5x7 font
diff --git a/keyboards/helix/helix.c b/keyboards/helix/helix.c
new file mode 100644
index 0000000000..791005f7fb
--- /dev/null
+++ b/keyboards/helix/helix.c
@@ -0,0 +1,149 @@
+/* Copyright 2020 yushakobo
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "helix.h"
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ switch (keycode) {
+ case EISU:
+ if (record->event.pressed) {
+ if (is_mac_mode()) {
+ register_code(KC_LNG2);
+ } else {
+ tap_code16(LALT(KC_GRAVE));
+ }
+ } else {
+ unregister_code(KC_LNG2);
+ }
+ return false;
+ break;
+ case KANA:
+ if (record->event.pressed) {
+ if (is_mac_mode()) {
+ register_code(KC_LNG1);
+ } else {
+ tap_code16(LALT(KC_GRAVE));
+ }
+ } else {
+ unregister_code(KC_LNG1);
+ }
+ return false;
+ break;
+ case RGBRST:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ }
+#endif
+ break;
+ }
+ return true;
+}
+
+bool is_mac_mode(void) {
+ return keymap_config.swap_lalt_lgui == false;
+}
+
+void set_mac_mode(bool macmode) {
+ keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
+ eeconfig_update_keymap(keymap_config.raw);
+}
+
+#ifdef DIP_SWITCH_ENABLE
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) {
+ return false;
+ }
+ set_mac_mode(!active);
+ return true;
+}
+#endif
+
+#ifdef OLED_ENABLE
+void render_status(void) {
+ static const char os_logo[][6] PROGMEM = {{0x95, 0x96, '\n', 0x97, 0x98, 0}, {0xb5, 0xb6, '\n', 0xb7, 0xb8, 0}};
+ oled_write_P(os_logo[is_mac_mode()], false);
+
+ oled_write_P(PSTR(" "), false);
+
+ oled_write_P(PSTR("Layer: "), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Lower\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Raise\n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Adjust\n"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("N/A"), false);
+ }
+
+ oled_write_P(PSTR("\n"), false);
+
+ // Host Keyboard LED Status
+ 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);
+}
+
+static void render_logo(void) {
+ static const char PROGMEM helix_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,
+ 0x0
+ // clang-format on
+ };
+ oled_write_P(helix_logo, false);
+}
+
+static void render_rgbled_status(void) {
+ // " LED %d:%d,%d,%d"
+ 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_rgbled_status();
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.h b/keyboards/helix/helix.h
index f36a5f2840..e9ff3ee3c7 100644
--- a/keyboards/helix/rev3_4rows/rev3_4rows.h
+++ b/keyboards/helix/helix.h
@@ -18,5 +18,12 @@
#include "quantum.h"
+enum custom_keycodes {
+ EISU = QK_KB_0,
+ KANA,
+ ADJUST,
+ RGBRST
+};
+
bool is_mac_mode(void);
void set_mac_mode(bool macmode);
diff --git a/keyboards/helix/info.json b/keyboards/helix/info.json
new file mode 100644
index 0000000000..6a76535829
--- /dev/null
+++ b/keyboards/helix/info.json
@@ -0,0 +1,37 @@
+{
+ "manufacturer": "Yushakobo",
+ "maintainer": "MakotoKurauchi",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "rgblight": true
+ },
+ "build": {
+ "lto": true
+ },
+ "split": {
+ "enabled": true,
+ "soft_serial_pin": "D2"
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "snake": true,
+ "static_gradient": true
+ },
+ "sleep": true
+ },
+ "url": "https://github.com/MakotoKurauchi/helix",
+ "usb": {
+ "vid": "0x3265"
+ },
+ "ws2812": {
+ "pin": "D3"
+ }
+}
diff --git a/keyboards/helix/pico/back/keyboard.json b/keyboards/helix/pico/back/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/pico/back/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/pico/back/rules.mk b/keyboards/helix/pico/back/rules.mk
deleted file mode 100644
index 066fffb74a..0000000000
--- a/keyboards/helix/pico/back/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/pico/base/keyboard.json b/keyboards/helix/pico/base/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/pico/base/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/keyboard.json
index d4fabc756e..e9675655ee 100644
--- a/keyboards/helix/pico/info.json
+++ b/keyboards/helix/pico/keyboard.json
@@ -1,37 +1,19 @@
{
"keyboard_name": "HelixPico",
- "manufacturer": "Yushakobo",
- "url": "https://github.com/MakotoKurauchi/helix",
- "maintainer": "MakotoKurauchi",
- "usb": {
- "vid": "0x3265",
- "pid": "0x0001",
- "device_version": "0.0.2"
- },
- "split": {
- "enabled": true,
- "soft_serial_pin": "D2"
- },
- "tapping": {
- "term": 100
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
+ "rows": ["D4", "C6", "D7", "E6"]
},
"rgblight": {
+ "brightness_steps": 4,
"hue_steps": 10,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true
- }
+ "led_count": 25,
+ "max_brightness": 45
},
- "ws2812": {
- "pin": "D3"
+ "usb": {
+ "device_version": "0.0.2",
+ "pid": "0x0001"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
@@ -41,42 +23,36 @@
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
-
{"matrix": [4, 5], "x": 9, "y": 0},
{"matrix": [4, 4], "x": 10, "y": 0},
{"matrix": [4, 3], "x": 11, "y": 0},
{"matrix": [4, 2], "x": 12, "y": 0},
{"matrix": [4, 1], "x": 13, "y": 0},
{"matrix": [4, 0], "x": 14, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
-
{"matrix": [5, 5], "x": 9, "y": 1},
{"matrix": [5, 4], "x": 10, "y": 1},
{"matrix": [5, 3], "x": 11, "y": 1},
{"matrix": [5, 2], "x": 12, "y": 1},
{"matrix": [5, 1], "x": 13, "y": 1},
{"matrix": [5, 0], "x": 14, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
-
{"matrix": [6, 5], "x": 9, "y": 2},
{"matrix": [6, 4], "x": 10, "y": 2},
{"matrix": [6, 3], "x": 11, "y": 2},
{"matrix": [6, 2], "x": 12, "y": 2},
{"matrix": [6, 1], "x": 13, "y": 2},
{"matrix": [6, 0], "x": 14, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
@@ -84,7 +60,6 @@
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
-
{"matrix": [7, 6], "x": 8, "y": 3},
{"matrix": [7, 5], "x": 9, "y": 3},
{"matrix": [7, 4], "x": 10, "y": 3},
diff --git a/keyboards/helix/pico/keymaps/default/config.h b/keyboards/helix/pico/keymaps/default/config.h
deleted file mode 100644
index 0bd76a18b4..0000000000
--- a/keyboards/helix/pico/keymaps/default/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// place overrides here
-
-#ifdef AUDIO_ENABLE
- #define STARTUP_SONG SONG(STARTUP_SOUND)
- #define AUDIO_CLICKY
-#endif
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- //#define RGBLIGHT_EFFECT_RGB_TEST
- //#define RGBLIGHT_EFFECT_ALTERNATING
-#endif
diff --git a/keyboards/helix/pico/keymaps/default/keymap.c b/keyboards/helix/pico/keymaps/default/keymap.c
index 28f6a20f9b..18fa282531 100644
--- a/keyboards/helix/pico/keymaps/default/keymap.c
+++ b/keyboards/helix/pico/keymaps/default/keymap.c
@@ -15,17 +15,12 @@
*/
#include QMK_KEYBOARD_H
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
- _QWERTY = 0,
+ _QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
@@ -33,28 +28,14 @@ enum layer_number {
_ADJUST
};
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
+enum user_keycodes {
+ QWERTY = QK_USER,
COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
- BACKLIT,
- EISU,
- KANA,
- RGBRST
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
+ DVORAK
};
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+// clang-format off
/* Qwerty
* ,-----------------------------------------. ,-----------------------------------------.
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
@@ -71,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
* ,-----------------------------------------. ,-----------------------------------------.
@@ -88,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
@@ -106,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
@@ -159,171 +140,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, AU_ON, AU_OFF, MU_TOGG, MU_NEXT, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD
+ _______, CK_TOGG, CK_RST, CK_UP, CK_DOWN, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD
)
+ // clang-format on
};
-
-
-#ifdef AUDIO_ENABLE
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_plover[][2] = SONG(PLOVER_SOUND);
-float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
-#endif
-
-// define variables for reactive RGB
-bool TOG_STATUS = false;
-int RGB_current_mode;
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode);
- #endif
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGBLIGHT_MODE_SNAKE + 1);
- #endif
- }
- layer_on(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- #endif
- TOG_STATUS = false;
- layer_off(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGBLIGHT_MODE_SNAKE);
- #endif
- }
- layer_on(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- #endif
- layer_off(_RAISE);
- TOG_STATUS = false;
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case QK_UNDERGLOW_MODE_NEXT:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ break;
+ }
+ return true;
}
diff --git a/keyboards/helix/pico/keymaps/default/readme.md b/keyboards/helix/pico/keymaps/default/readme.md
index a6c81651a3..2148fac46e 100644
--- a/keyboards/helix/pico/keymaps/default/readme.md
+++ b/keyboards/helix/pico/keymaps/default/readme.md
@@ -90,48 +90,6 @@
`-------------------------------------------------------------------------------------------------'
```
-## Customize
-
-see `qmk_firmware/keyboards/helix/pico/keymaps/default/rules.mk`
-
-```
-# Helix Spacific Build Options
-# you can uncomment and edit follows 4 Variables
-# jp: 以下の4つの変数を必要に応じて編集し、コメントアウトをはずします。
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-# LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
-## Compile
-
-go to qmk top directory.
-```
-$ cd qmk_firmware
-```
-
-build
-```
-$ make helix/pico:default
-$ make helix/pico/back:default # with backlight
-$ make HELIX=no-ani helix/pico/back:default # with backlight without animation
-$ make helix/pico/under:default # with underglow
-```
-
-build (experimental use of split_common with backlight)
-```
-$ make helix/pico/sc:default
-```
-
-flash to keyboard
-```
-$ make helix/pico:default:flash
-$ make helix/pico/back:default:flash # with backlight
-$ make HELIX=no_ani helix/pico/back:default:flash # with backlight without animation
-$ make helix/pico/under:default:flash # with underglow
-
-```
-
## Link
* more detail wrote in Japanese [helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)
* [Helix top](https://github.com/MakotoKurauchi/helix)
diff --git a/keyboards/helix/pico/keymaps/default/rules.mk b/keyboards/helix/pico/keymaps/default/rules.mk
deleted file mode 100644
index 9a29406c17..0000000000
--- a/keyboards/helix/pico/keymaps/default/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-EXTRAKEY_ENABLE = yes # Audio control and System control
-AUDIO_ENABLE = yes # Audio output
-LTO_ENABLE = no # if firmware size over limit, try this option
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 4 Variables
-# jp: 以下の4つの変数を必要に応じて編集し、コメントアウトをはずします。
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-# LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
diff --git a/keyboards/helix/pico/override_helix_options.mk-maintenance b/keyboards/helix/pico/override_helix_options.mk-maintenance
deleted file mode 100644
index 0ff930957e..0000000000
--- a/keyboards/helix/pico/override_helix_options.mk-maintenance
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# This file is not normally used. It is used for maintenance testing purposes.
-# To use it, do the following:
-#
-# $ cp override_helix_options.mk-maintenance override_helix_options.mk
-#
-$(info -------------------------)
-$(info override_helix_options.mk)
-$(info -------------------------)
-
-define HELIX_OVERRIDE_PARSE
- ifeq ($(strip $1),back)
- LED_BACK_ENABLE = yes
- LED_UNDERGLOW_ENABLE = no
- endif
- ifeq ($(strip $1),under)
- LED_BACK_ENABLE = no
- LED_UNDERGLOW_ENABLE = yes
- endif
- ifneq ($(filter noled led-off led_off,$(strip $1)),)
- LED_BACK_ENABLE = no
- LED_UNDERGLOW_ENABLE = no
- endif
- ifneq ($(filter noaudio audio-off audio_off,$(strip $1)),)
- AUDIO_ENABLE = no
- endif
- ifneq ($(filter audio audio-on audio_on,$(strip $1)),)
- AUDIO_ENABLE = yes
- endif
- ifneq ($(filter sc split-common split_common,$(strip $1)),)
- SPLIT_KEYBOARD = yes
- endif
- ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),)
- SPLIT_KEYBOARD = no
- endif
- ifeq ($(strip $1),scan)
- DEBUG_MATRIX_SCAN_RATE_ENABLE = yes
- endif
- ifeq ($(strip $1),scan-api)
- DEBUG_MATRIX_SCAN_RATE_ENABLE = api
- endif
-endef # end of HELIX_OVERRIDE_PARSE
diff --git a/keyboards/helix/pico/pico.c b/keyboards/helix/pico/pico.c
deleted file mode 100644
index cc98fe8f61..0000000000
--- a/keyboards/helix/pico/pico.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2018 MakotoKurauchi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "pico.h"
-
-// Each keymap.c should use is_keyboard_master() instead of 'is_master'.
-// But keep 'is_master' for a while for backwards compatibility
-// for the old keymap.c.
-uint8_t is_master = false;
-
-void matrix_init_kb(void) {
- // Each keymap.c should use is_keyboard_master() instead of is_master.
- // But keep is_master for a while for backwards compatibility
- // for the old keymap.c.
- is_master = is_keyboard_master();
-
- matrix_init_user();
-};
-
-void keyboard_post_init_kb(void) {
-#if defined(DEBUG_MATRIX_SCAN_RATE)
- debug_enable = true;
-#endif
- keyboard_post_init_user();
-}
diff --git a/keyboards/helix/pico/pico.h b/keyboards/helix/pico/pico.h
deleted file mode 100644
index 7f2d795ca8..0000000000
--- a/keyboards/helix/pico/pico.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2018 MakotoKurauchi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-// Each keymap.c should use is_keyboard_master() instead of 'is_master', 'has_usb()'.
-// But keep 'is_master' for a while for backwards compatibility
-// for the old keymap.c.
-extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead.
-#define has_usb() is_keyboard_master()
diff --git a/keyboards/helix/pico/post_config.h b/keyboards/helix/pico/post_config.h
deleted file mode 100644
index dda73d5d22..0000000000
--- a/keyboards/helix/pico/post_config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#if defined(SPLIT_KEYBOARD) /* if use split_common */
-# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_SPLIT)
-# define RGBLIGHT_SPLIT /* helix hardware need this */
-# endif
-#endif
diff --git a/keyboards/helix/pico/post_rules.mk b/keyboards/helix/pico/post_rules.mk
deleted file mode 100644
index 88bb5482ba..0000000000
--- a/keyboards/helix/pico/post_rules.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-# post_rules.mk contains post-processing rules for the Helix keyboard.
-#
-# Post-processing rules convert keyboard-specific shortcuts (that represent
-# combinations of standard options) into QMK standard options.
-#
--include $(strip $(HELIX_TOP_DIR)/pico/override_helix_options.mk) ## File dedicated to maintenance
-
-# Parse 'HELIX=xx,yy,zz' option
-ifneq ($(strip $(HELIX)),)
- # make HELIX=ios helix/pico:AKEYMAP
- # make HELIX=no-ani helix/pico:AKEYMAP
- # make HELIX=ios,no-ani helix/pico:AKEYMAP
- define HELIX_OPTION_PARSE
- # parce 'no-ani' 'ios'
- $(if $(SHOW_PARCE),$(info parse .$1.)) #debug
- $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1))
-
- ifeq ($(strip $1),ios)
- IOS_DEVICE_ENABLE = yes
- endif
- ifneq ($(filter na no_ani no-ani,$(strip $1)),)
- LED_ANIMATIONS = no
- endif
- endef # end of HELIX_OPTION_PARSE
-
- COMMA=,
- $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \
- $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME))))
- SHOW_HELIX_OPTIONS = yes
-endif
-
-########
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-
-ifeq ($(strip $(LED_BACK_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
- ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
- endif
-else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
-endif
-
-ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
-endif
-
-ifeq ($(strip $(LED_ANIMATIONS)), yes)
- OPT_DEFS += -DLED_ANIMATIONS
-endif
-
-ifeq ($(strip $(AUDIO_ENABLE)),yes)
- ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
- LTO_ENABLE = yes
- endif
-endif
-
-ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
- $(info Helix Spacific Build Options)
- $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE))
- $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
- $(info - LED_ANIMATIONS = $(LED_ANIMATIONS))
- $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE))
- $(info )
- $(info QMK Build Options)
- $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD))
- $(info -- AUDIO_ENABLE = $(AUDIO_ENABLE))
- $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE))
- $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
- $(info -- OPT_DEFS = $(OPT_DEFS))
- $(info -- LTO_ENABLE = $(LTO_ENABLE))
- $(info -- DEBUG_MATRIX_SCAN_RATE_ENABLE = $(DEBUG_MATRIX_SCAN_RATE_ENABLE))
- $(info )
-endif
diff --git a/keyboards/helix/pico/qmk_conf/keyboard.json b/keyboards/helix/pico/qmk_conf/keyboard.json
deleted file mode 100644
index ddb7220342..0000000000
--- a/keyboards/helix/pico/qmk_conf/keyboard.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "features": {
- "audio": true,
- "extrakey": true
- }
-}
diff --git a/keyboards/helix/pico/rules.mk b/keyboards/helix/pico/rules.mk
deleted file mode 100644
index 449df9caa6..0000000000
--- a/keyboards/helix/pico/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Helix Spacific Build Options default values
-LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-DEFAULT_FOLDER = helix/pico/base
diff --git a/keyboards/helix/pico/sc/keyboard.json b/keyboards/helix/pico/sc/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/pico/sc/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/pico/sc/rules.mk b/keyboards/helix/pico/sc/rules.mk
deleted file mode 100644
index 066fffb74a..0000000000
--- a/keyboards/helix/pico/sc/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/pico/under/keyboard.json b/keyboards/helix/pico/under/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/pico/under/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/pico/under/rules.mk b/keyboards/helix/pico/under/rules.mk
deleted file mode 100644
index a37aa6fab3..0000000000
--- a/keyboards/helix/pico/under/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/readme.md b/keyboards/helix/readme.md
index 0c190f7626..f9b1e4daa5 100644
--- a/keyboards/helix/readme.md
+++ b/keyboards/helix/readme.md
@@ -1,16 +1,32 @@
-Helix
-===
+# Helix
-![Helix](https://i.imgur.com/XBAmynN.jpg)
+![image](https://i.imgur.com/fpHr3Bqh.jpg)
-A compact split ortholinear keyboard.
+* Keyboard Maintainer: [MakotoKurachi](https://github.com/MakotoKurauchi)
+* Hardware Supported: Pro Micro or compatible alternative with Helix PCBS
+* Hardware Availability: [Github](https://github.com/MakotoKurauchi/helix), [Yushakobo Shop](https://shop.yushakobo.jp)
-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)
+Make example for this keyboard (after setting up your build environment):
-## 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 helix/pico:default
+ make helix/rev2:default
+ make helix/rev3_4rows:default
+ make helix/rev3_5rows:default
-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.
+
+Flashing example for this keyboard:
+
+ make helix/pico:default:flash
+ make helix/rev2:default:flash
+ make helix/rev3_4rows:default:flash
+ make helix/rev3_5rows: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
+* **Physical reset button**: If using a promicro, double tap reset button (or short GND & RST pins). If using Elite-C/similar, press reset button once. If using RP2040 replacement, hold BOOT button while plugging keyboard in.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/helix/rev2/back/keyboard.json b/keyboards/helix/rev2/back/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/rev2/back/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/rev2/back/rules.mk b/keyboards/helix/rev2/back/rules.mk
deleted file mode 100644
index 066fffb74a..0000000000
--- a/keyboards/helix/rev2/back/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/rev2/base/keyboard.json b/keyboards/helix/rev2/base/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/rev2/base/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/rev2/keyboard.json
index fd829782c0..a4c802b2bf 100644
--- a/keyboards/helix/rev2/info.json
+++ b/keyboards/helix/rev2/keyboard.json
@@ -1,48 +1,22 @@
{
"keyboard_name": "Helix Beta",
- "manufacturer": "Yushakobo",
- "url": "https://github.com/MakotoKurauchi/helix",
- "maintainer": "MakotoKurauchi",
- "usb": {
- "vid": "0x3265",
- "pid": "0x0000",
- "device_version": "0.0.1"
+ "features": {
+ "oled": true
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
- "diode_direction": "COL2ROW",
- "split": {
- "enabled": true,
- "soft_serial_pin": "D2",
- "transport": {
- "sync": {
- "indicators": true,
- "layer_state": true
- }
- }
- },
- "tapping": {
- "term": 100
- },
"rgblight": {
+ "brightness_steps": 4,
"hue_steps": 10,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true
- }
+ "led_count": 32,
+ "max_brightness": 35
},
- "ws2812": {
- "pin": "D3"
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x0000"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
"layouts": {
"LAYOUT": {
"layout": [
@@ -52,42 +26,36 @@
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
-
{"matrix": [5, 5], "x": 9, "y": 0},
{"matrix": [5, 4], "x": 10, "y": 0},
{"matrix": [5, 3], "x": 11, "y": 0},
{"matrix": [5, 2], "x": 12, "y": 0},
{"matrix": [5, 1], "x": 13, "y": 0},
{"matrix": [5, 0], "x": 14, "y": 0},
-
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
-
{"matrix": [6, 5], "x": 9, "y": 1},
{"matrix": [6, 4], "x": 10, "y": 1},
{"matrix": [6, 3], "x": 11, "y": 1},
{"matrix": [6, 2], "x": 12, "y": 1},
{"matrix": [6, 1], "x": 13, "y": 1},
{"matrix": [6, 0], "x": 14, "y": 1},
-
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
-
{"matrix": [7, 5], "x": 9, "y": 2},
{"matrix": [7, 4], "x": 10, "y": 2},
{"matrix": [7, 3], "x": 11, "y": 2},
{"matrix": [7, 2], "x": 12, "y": 2},
{"matrix": [7, 1], "x": 13, "y": 2},
{"matrix": [7, 0], "x": 14, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
@@ -95,7 +63,6 @@
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
-
{"matrix": [8, 6], "x": 8, "y": 3},
{"matrix": [8, 5], "x": 9, "y": 3},
{"matrix": [8, 4], "x": 10, "y": 3},
@@ -103,7 +70,6 @@
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 1], "x": 13, "y": 3},
{"matrix": [8, 0], "x": 14, "y": 3},
-
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4},
@@ -111,7 +77,6 @@
{"matrix": [4, 4], "x": 4, "y": 4},
{"matrix": [4, 5], "x": 5, "y": 4},
{"matrix": [4, 6], "x": 6, "y": 4},
-
{"matrix": [9, 6], "x": 8, "y": 4},
{"matrix": [9, 5], "x": 9, "y": 4},
{"matrix": [9, 4], "x": 10, "y": 4},
diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h
deleted file mode 100644
index b8c1041cdc..0000000000
--- a/keyboards/helix/rev2/keymaps/default/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-// place overrides here
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- //#define RGBLIGHT_EFFECT_RGB_TEST
- //#define RGBLIGHT_EFFECT_ALTERNATING
-#endif
diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c
index a48a855e02..5ffbf82687 100644
--- a/keyboards/helix/rev2/keymaps/default/keymap.c
+++ b/keyboards/helix/rev2/keymaps/default/keymap.c
@@ -21,7 +21,7 @@
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
- _QWERTY = 0,
+ _QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
@@ -29,28 +29,14 @@ enum layer_number {
_ADJUST
};
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
- BACKLIT,
- EISU,
- KANA,
- RGBRST
+enum user_keycodes {
+ QWERTY = QK_USER,
+ COLEMAK,
+ DVORAK
};
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+ // clang-format off
/* Qwerty
* ,-----------------------------------------. ,-----------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
@@ -69,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
@@ -90,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
@@ -111,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(5), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
@@ -173,169 +159,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD
)
+ // clang-format on
};
-#ifdef AUDIO_ENABLE
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-float tone_plover[][2] = SONG(PLOVER_SOUND);
-float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
-#endif
-
-// define variables for reactive RGB
-bool TOG_STATUS = false;
-int RGB_current_mode;
-
-// Setting ADJUST layer RGB back to default
-void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode);
- #endif
- layer_on(layer3);
- } else {
- layer_off(layer3);
- }
-}
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGBLIGHT_MODE_SNAKE + 1);
- #endif
- }
- layer_on(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- #endif
- TOG_STATUS = false;
- layer_off(_LOWER);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- //not sure how to have keyboard check mode and set it to a variable, so my work around
- //uses another variable that would be set to true after the first time a reactive key is pressed.
- if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
- } else {
- TOG_STATUS = !TOG_STATUS;
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGBLIGHT_MODE_SNAKE);
- #endif
- }
- layer_on(_RAISE);
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- } else {
- #ifdef RGBLIGHT_ENABLE
- //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
- #endif
- layer_off(_RAISE);
- TOG_STATUS = false;
- update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case QK_UNDERGLOW_MODE_NEXT:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG2);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG1);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- }
- #endif
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_get_mode();
- #endif
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ break;
+ }
+ return true;
}
diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c
deleted file mode 100644
index 4eb815ce48..0000000000
--- a/keyboards/helix/rev2/keymaps/default/oled_display.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-#define L_LOWER (1<<_LOWER)
-#define L_RAISE (1<<_RAISE)
-#define L_ADJUST (1<<_ADJUST)
-#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER)
-
-//OLED update loop
-#ifdef OLED_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_0;
- } else {
- return OLED_ROTATION_180;
- }
-}
-
-static void render_rgbled_status(bool full) {
-# ifdef RGBLIGHT_ENABLE
- char buf[30];
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
- if (full) {
- snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ",
- rgblight_get_mode(),
- rgblight_get_hue()/RGBLIGHT_HUE_STEP,
- rgblight_get_sat()/RGBLIGHT_SAT_STEP,
- rgblight_get_val()/RGBLIGHT_VAL_STEP);
- } else {
- snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode());
- }
- oled_write(buf, false);
- }
-# endif
-}
-
-static void render_layer_status(void) {
- // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
- char buf[10];
- oled_write_P(PSTR("Layer: "), false);
- switch (layer_state) {
- case L_BASE:
- oled_write_P(PSTR("Default"), false);
- break;
- case L_RAISE:
- oled_write_P(PSTR("Raise"), false);
- break;
- case L_LOWER:
- oled_write_P(PSTR("Lower"), false);
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- oled_write_P(PSTR("Adjust"), false);
- break;
- default:
- oled_write_P(PSTR("Undef-"), false);
- snprintf(buf,sizeof(buf), "%u", layer_state);
- oled_write(buf, false);
- }
- oled_write_P(PSTR("\n"), false);
-}
-
-void render_status(void) {
- // Render to mode icon
- static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if (is_mac_mode()) {
- 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(" "), false);
- render_layer_status();
-
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false);
- oled_advance_page(true);
- render_rgbled_status(true);
- oled_write_P(PSTR("\n"), false);
-}
-
-bool oled_task_user(void) {
-
-# if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
-# endif
-
- if (is_keyboard_master()) {
- render_status();
- } else {
- render_helix_logo();
- render_rgbled_status(false);
- render_layer_status();
- }
- return false;
-}
-#endif // end of OLED_ENABLE
diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md
index f1917a100a..d0e2bd32db 100644
--- a/keyboards/helix/rev2/keymaps/default/readme.md
+++ b/keyboards/helix/rev2/keymaps/default/readme.md
@@ -103,52 +103,6 @@
`-------------------------------------------------------------------------------------------------'
```
-## Customize
-
-see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk`
-
-```
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-# OLED_ENABLE = yes # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-# LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
-## Compile
-
-go to qmk top directory.
-```
-$ cd qmk_firmware
-```
-
-build
-```
-$ make helix:default # with oled
-$ make helix/rev2/back:default # with oled and backlight
-$ make HELIX=no-ani helix/rev2/back:default # with oled and backlight without animation
-$ make helix/rev2/under:default # with oled and underglow
-$ make HELIX=no-oled helix:default # without oled
-```
-
-build (experimental use of split_common with backlight and oled)
-```
-$ make helix/rev2/sc:default
-```
-
-flash to keyboard
-```
-$ make helix:default:flash # with oled
-$ make helix/rev2/back:default:flash # with oled and backlight
-$ make HELIX=no-ani helix/rev2/back:default:flash # with oled and backlight without animation
-$ make helix/rev2/under:default:flash # with oled and underglow
-$ make HELIX=no-oled helix:default:flash # without oled
-```
-
## Link
* more detail wrote in Japanese [helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)
* [Helix top](https://github.com/MakotoKurauchi/helix)
-
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
deleted file mode 100644
index 83029d1e0b..0000000000
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-LTO_ENABLE = yes # if firmware size over limit, try this option
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-# OLED_ENABLE = no # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-# LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-# OLED_ENABLE が yes のとき
-# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。
-# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。
-# If OLED_ENABLE is 'yes'
-# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
-# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
-OLED_SELECT = core
-
-ifeq ($(strip $(OLED_ENABLE)), yes)
- SRC += oled_display.c
-endif
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
deleted file mode 100644
index 97494c937f..0000000000
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-// place overrides here
-
-#ifdef MOUSEKEY_ENABLE
- #undef MOUSEKEY_INTERVAL
- #define MOUSEKEY_INTERVAL 0
-
- #undef MOUSEKEY_TIME_TO_MAX
- #define MOUSEKEY_TIME_TO_MAX 150
-
- #undef MOUSEKEY_MAX_SPEED
- #define MOUSEKEY_MAX_SPEED 3
-
- #undef MOUSEKEY_MOVE_DELTA
- #define MOUSEKEY_MOVE_DELTA 5
-
- #undef MOUSEKEY_DELAY
- #define MOUSEKEY_DELAY 0
-#endif
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
- #define RGBLIGHT_EFFECT_BREATHING
- #define RGBLIGHT_EFFECT_RAINBOW_MOOD
- #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- #define RGBLIGHT_EFFECT_SNAKE
- #define RGBLIGHT_EFFECT_KNIGHT
- #define RGBLIGHT_EFFECT_CHRISTMAS
- #define RGBLIGHT_EFFECT_STATIC_GRADIENT
- //#define RGBLIGHT_EFFECT_RGB_TEST
- //#define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
-#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
index 70430894ef..0d4ed66b18 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
@@ -1,3 +1,6 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
#include "keymap_japanese.h"
#include <stdio.h>
@@ -23,14 +26,6 @@ enum layer_number {
_ADJUST,
};
-enum custom_keycodes {
- RGBRST = SAFE_RANGE,
- #ifdef KANA_ENABLE
- EISU,
- KANA,
- #endif
-};
-
// Layer Mode aliases
#define DL_BAS DF(_BASE)
#define DL_BASE DF(_BAS_E)
@@ -263,41 +258,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
break;
#endif
- #ifdef KANA_ENABLE
- case EISU:
- if (record->event.pressed) {
- if (keymap_config.swap_lalt_lgui==false) {
- register_code(KC_LNG2);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- break;
- #endif
- #ifdef RGBLIGHT_ENABLE
- case RGBRST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_get_mode();
- }
- break;
- #endif
- default:
- return true;
}
return false;
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
deleted file mode 100644
index b4f8e27de4..0000000000
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LTO_ENABLE = no # if firmware size over limit, try this option
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-# OLED_ENABLE = no # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-# LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-# OLED_ENABLE が yes のとき
-# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。
-# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。
-# If OLED_ENABLE is 'yes'
-# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
-# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
-OLED_SELECT = core
diff --git a/keyboards/helix/rev2/keymaps/led_test/README.md b/keyboards/helix/rev2/keymaps/led_test/README.md
deleted file mode 100644
index 2fe6706452..0000000000
--- a/keyboards/helix/rev2/keymaps/led_test/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# LED test Keymap
-
-## Layout
-
-The layout is the same as default.
-
-## Feature
-
-* OLED is enabled.
-* LED backlight is enabled and always lit.
-* The lighting color of LED changes periodically. Red, Green and Blue.
-
-The user can check whether the LED is lit or not.
-
-## Compile
-
-```
-$ cd qmk_firmware
-$ make helix:led_test
-```
-
-## Flash QMK Firmware
-
-Execute the 'make' command and press the reset switch on the keyboard.
-```
-$ make helix:led_test:flash
-```
diff --git a/keyboards/helix/rev2/keymaps/led_test/config.h b/keyboards/helix/rev2/keymaps/led_test/config.h
deleted file mode 100644
index e2bdf2f329..0000000000
--- a/keyboards/helix/rev2/keymaps/led_test/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-// place overrides here
-
-// If you need more program area, try select and reduce rgblight modes to use.
-
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
- //#define RGBLIGHT_EFFECT_BREATHING
- //#define RGBLIGHT_EFFECT_RAINBOW_MOOD
- //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
- //#define RGBLIGHT_EFFECT_SNAKE
- //#define RGBLIGHT_EFFECT_KNIGHT
- //#define RGBLIGHT_EFFECT_CHRISTMAS
- //#define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST // led_test keymap need only this.
- //#define RGBLIGHT_EFFECT_ALTERNATING
-#endif
-
-#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c b/keyboards/helix/rev2/keymaps/led_test/led_test_init.c
deleted file mode 100644
index 7f8813acdd..0000000000
--- a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include QMK_KEYBOARD_H
-
-void keyboard_post_init_user(void) {
- rgblight_enable_noeeprom();
- rgblight_mode_noeeprom(RGBLIGHT_MODE_RGB_TEST);
-}
diff --git a/keyboards/helix/rev2/keymaps/led_test/oled_display.c b/keyboards/helix/rev2/keymaps/led_test/oled_display.c
deleted file mode 100644
index 3261b6c581..0000000000
--- a/keyboards/helix/rev2/keymaps/led_test/oled_display.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../default/oled_display.c"
diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk
deleted file mode 100644
index 5aa9439f4c..0000000000
--- a/keyboards/helix/rev2/keymaps/led_test/rules.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# QMK Standard Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
-# See TOP/docs/config_options.md for more information.
-#
-
-LTO_ENABLE = no # if firmware size over limit, try this option
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-OLED_ENABLE = yes # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-OLED_SELECT = core
-ifeq ($(strip $(OLED_ENABLE)), yes)
- SRC += oled_display.c
-endif
-SRC += led_test_init.c
diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk
deleted file mode 100644
index 4bfee0411d..0000000000
--- a/keyboards/helix/rev2/local_features.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-#
-# local_features.mk contains post-processing rules for the Helix keyboard.
-#
-# Post-processing rules convert keyboard-specific shortcuts (that represent
-# combinations of standard options) into QMK standard options.
-#
-
-KEYBOARD_LOCAL_FEATURES_MK :=
--include $(strip $(HELIX_TOP_DIR)/rev2/override_helix_options.mk) ## File dedicated to maintenance
-
-# Parse 'HELIX=xx,yy,zz' option
-ifneq ($(strip $(HELIX)),)
- # make HELIX=ios helix/pico:AKEYMAP
- # make HELIX=no-ani helix/pico:AKEYMAP
- # make HELIX=no-oled helix/pico:AKEYMAP
- # make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP
- define HELIX_OPTION_PARSE
- # parce 'no-ani' 'ios' 'no-oled'
- $(if $(SHOW_PARCE),$(info parse .$1.)) #debug
- $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1))
-
- ifeq ($(strip $1),ios)
- IOS_DEVICE_ENABLE = yes
- endif
- ifneq ($(filter na no_ani no-ani,$(strip $1)),)
- LED_ANIMATIONS = no
- endif
- ifneq ($(filter nooled no-oled,$(strip $1)),)
- OLED_ENABLE = no
- endif
- ifeq ($(strip $1),oled)
- OLED_ENABLE = yes
- endif
- endef # end of HELIX_OPTION_PARSE
-
- COMMA=,
- $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \
- $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME))))
-
- SHOW_HELIX_OPTIONS = yes
-endif
-
-########
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-
-ifeq ($(strip $(LED_BACK_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
- ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
- endif
-else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
-endif
-
-ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
-endif
-
-ifeq ($(strip $(LED_ANIMATIONS)), yes)
- OPT_DEFS += -DLED_ANIMATIONS
-endif
-
-ifeq ($(strip $(OLED_ENABLE)), yes)
- ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
- OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\>
- else
- OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
- endif
-endif
-
-ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
- $(info Helix Spacific Build Options)
- $(info - OLED_ENABLE = $(OLED_ENABLE))
- $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE))
- $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE))
- $(info - LED_ANIMATIONS = $(LED_ANIMATIONS))
- $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE))
- $(info )
- $(info QMK Build Options)
- $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD))
- $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE))
- $(info -- OLED_DRIVER = $(OLED_DRIVER))
- $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE))
- $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
- $(info -- OPT_DEFS = $(OPT_DEFS))
- $(info -- LTO_ENABLE = $(LTO_ENABLE))
- $(info )
-endif
diff --git a/keyboards/helix/rev2/override_helix_options.mk-maintenance b/keyboards/helix/rev2/override_helix_options.mk-maintenance
deleted file mode 100644
index 56dee8ce78..0000000000
--- a/keyboards/helix/rev2/override_helix_options.mk-maintenance
+++ /dev/null
@@ -1,46 +0,0 @@
-ifneq ($(strip $(HELIX)),)
- $(info -------------------------)
- $(info override_helix_options.mk)
- $(info -------------------------)
-endif
-
-define HELIX_OVERRIDE_PARSE
- ifeq ($(strip $1),back)
- LED_BACK_ENABLE = yes
- LED_UNDERGLOW_ENABLE = no
- endif
- ifeq ($(strip $1),under)
- LED_BACK_ENABLE = no
- LED_UNDERGLOW_ENABLE = yes
- endif
- ifneq ($(filter led-off led_off noback no-back nounder no-under,$(strip $1)),)
- LED_BACK_ENABLE = no
- LED_UNDERGLOW_ENABLE = no
- endif
- ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),)
- OLED_ENABLE = yes
- OLED_SELECT = core
- endif
- ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),)
- OLED_ENABLE = yes
- OLED_SELECT = local
- endif
- ifneq ($(filter sc split-common split_common,$(strip $1)),)
- SPLIT_KEYBOARD = yes
- endif
- ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),)
- SPLIT_KEYBOARD = no
- endif
- ifeq ($(strip $1),scan)
- DEBUG_MATRIX_SCAN_RATE_ENABLE = yes
- endif
- ifeq ($(strip $1),scan-api)
- DEBUG_MATRIX_SCAN_RATE_ENABLE = api
- endif
- ifeq ($(strip $1),lto)
- LTO_ENABLE = yes
- endif
- ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
- LTO_ENABLE = no
- endif
-endef # end of HELIX_OVERRIDE_PARSE
diff --git a/keyboards/helix/rev2/post_config.h b/keyboards/helix/rev2/post_config.h
deleted file mode 100644
index dda73d5d22..0000000000
--- a/keyboards/helix/rev2/post_config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#if defined(SPLIT_KEYBOARD) /* if use split_common */
-# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_SPLIT)
-# define RGBLIGHT_SPLIT /* helix hardware need this */
-# endif
-#endif
diff --git a/keyboards/helix/rev2/post_rules.mk b/keyboards/helix/rev2/post_rules.mk
deleted file mode 100644
index 4c671d4515..0000000000
--- a/keyboards/helix/rev2/post_rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-ifneq ($(strip $(KEYBOARD_LOCAL_FEATURES_MK)),)
- include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
-endif
diff --git a/keyboards/helix/rev2/qmk_conf/keyboard.json b/keyboards/helix/rev2/qmk_conf/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/rev2/qmk_conf/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/rev2/qmk_conf/rules.mk b/keyboards/helix/rev2/qmk_conf/rules.mk
deleted file mode 100644
index 67caab1ce6..0000000000
--- a/keyboards/helix/rev2/qmk_conf/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-
-include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
diff --git a/keyboards/helix/rev2/readme.md b/keyboards/helix/rev2/readme.md
index e6a6f2e952..b158022a1c 100644
--- a/keyboards/helix/rev2/readme.md
+++ b/keyboards/helix/rev2/readme.md
@@ -8,6 +8,10 @@ A compact split ortholinear keyboard.
Make example for this keyboard (after setting up your build environment):
+ make helix/rev2:default
+
+Flashing example for this keyboard:
+
make helix/rev2: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).
diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c
deleted file mode 100644
index ded22bbe93..0000000000
--- a/keyboards/helix/rev2/rev2.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2018 MakotoKurauchi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "rev2.h"
-
-// Each keymap.c should use is_keyboard_master() instead of 'is_master'.
-// But keep 'is_master' for a while for backwards compatibility
-// for the old keymap.c.
-uint8_t is_master = false;
-
-bool is_mac_mode(void) {
- // This is the opposite of the QMK standard, but we'll leave it for backwards compatibility.
- return keymap_config.swap_lalt_lgui == false;
-}
-
-void set_mac_mode_kb(bool macmode) {
- /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys.
- * see
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
- */
- keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
-}
-
-void matrix_init_kb(void) {
- // Each keymap.c should use is_keyboard_master() instead of is_master.
- // But keep is_master for a while for backwards compatibility
- // for the old keymap.c.
- is_master = is_keyboard_master();
-
- matrix_init_user();
-};
-
-void keyboard_post_init_kb(void) {
-#if defined(DEBUG_MATRIX_SCAN_RATE)
- debug_enable = true;
-#endif
- keyboard_post_init_user();
-}
-
-#ifdef OLED_ENABLE
-void render_helix_logo(void) {
- static const char helix_logo[] PROGMEM ={
- 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,
- 0};
- oled_write_P(helix_logo, false);
-}
-
-bool oled_task_kb(void) {
- if (oled_task_user()) {
- /* keymap/user level oled_task_user() dose not exist */
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false);
- oled_advance_page(true);
- render_helix_logo();
- }
- return false;
-}
-#endif /* end of OLED_ENABLE */
diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h
deleted file mode 100644
index dad08c267e..0000000000
--- a/keyboards/helix/rev2/rev2.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2018 MakotoKurauchi
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-bool is_mac_mode(void);
-void set_mac_mode_kb(bool macmode);
-
-#ifdef OLED_ENABLE
-void render_helix_logo(void);
-#endif
-
-#ifndef SPLIT_KEYBOARD
- extern bool is_helix_master(void);
- #define is_keyboard_master() is_helix_master()
-#endif
-
-// Each keymap.c should use is_keyboard_master() instead of 'is_master', 'has_usb()'.
-// But keep 'is_master' for a while for backwards compatibility
-// for the old keymap.c.
-extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead.
-#define has_usb() is_keyboard_master()
diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk
deleted file mode 100644
index 4f830403f4..0000000000
--- a/keyboards/helix/rev2/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk
-
-# Helix Spacific Build Options default values
-OLED_ENABLE = yes # OLED_ENABLE
-LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
-LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
-LED_ANIMATIONS = yes # LED animations
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-DEFAULT_FOLDER = helix/rev2/base
diff --git a/keyboards/helix/rev2/sc/keyboard.json b/keyboards/helix/rev2/sc/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/rev2/sc/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/rev2/sc/rules.mk b/keyboards/helix/rev2/sc/rules.mk
deleted file mode 100644
index 066fffb74a..0000000000
--- a/keyboards/helix/rev2/sc/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_BACK_ENABLE = yes
diff --git a/keyboards/helix/rev2/serial_config_simpleapi.h b/keyboards/helix/rev2/serial_config_simpleapi.h
deleted file mode 100644
index b51e6f281b..0000000000
--- a/keyboards/helix/rev2/serial_config_simpleapi.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
diff --git a/keyboards/helix/rev2/under/keyboard.json b/keyboards/helix/rev2/under/keyboard.json
deleted file mode 100644
index 0967ef424b..0000000000
--- a/keyboards/helix/rev2/under/keyboard.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/keyboards/helix/rev2/under/rules.mk b/keyboards/helix/rev2/under/rules.mk
deleted file mode 100644
index a37aa6fab3..0000000000
--- a/keyboards/helix/rev2/under/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h
deleted file mode 100644
index 56d9a13feb..0000000000
--- a/keyboards/helix/rev3_4rows/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2020 yushakobo
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 7
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* Split hand configration */
-#define SPLIT_HAND_MATRIX_GRID D7,B2
-
-/* Custom font */
-#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/helix/rev3_4rows/keyboard.json b/keyboards/helix/rev3_4rows/keyboard.json
index 5e9fd2dcd8..aa10a8d707 100644
--- a/keyboards/helix/rev3_4rows/keyboard.json
+++ b/keyboards/helix/rev3_4rows/keyboard.json
@@ -1,117 +1,101 @@
{
- "keyboard_name": "Helix rev3 4rows",
- "manufacturer": "yushakobo",
- "url": "",
- "maintainer": "yushakobo",
- "usb": {
- "vid": "0x3265",
- "pid": "0x0004",
- "device_version": "0.0.1"
- },
- "qmk": {
- "locking": {
- "enabled": true,
- "resync": true
+ "keyboard_name": "Helix rev3 4rows",
+ "dip_switch": {
+ "matrix_grid": [
+ [0, 6],
+ [1, 6],
+ [5, 6],
+ [6, 6]
+ ]
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B6", "pin_b": "B5"}
+ ]
+ },
+ "features": {
+ "dip_switch": false,
+ "encoder": true,
+ "oled": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
+ "rows": ["D4", "C6", "D7", "E6"]
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "led_count": 50,
+ "max_brightness": 120,
+ "split_count": [25, 25]
+ },
+ "split": {
+ "handedness": {
+ "matrix_grid": ["D7", "B2"]
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x0004"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [4, 5], "x": 9, "y": 0},
+ {"matrix": [4, 4], "x": 10, "y": 0},
+ {"matrix": [4, 3], "x": 11, "y": 0},
+ {"matrix": [4, 2], "x": 12, "y": 0},
+ {"matrix": [4, 1], "x": 13, "y": 0},
+ {"matrix": [4, 0], "x": 14, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [5, 5], "x": 9, "y": 1},
+ {"matrix": [5, 4], "x": 10, "y": 1},
+ {"matrix": [5, 3], "x": 11, "y": 1},
+ {"matrix": [5, 2], "x": 12, "y": 1},
+ {"matrix": [5, 1], "x": 13, "y": 1},
+ {"matrix": [5, 0], "x": 14, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2},
+ {"matrix": [2, 5], "x": 5, "y": 2},
+ {"matrix": [6, 5], "x": 9, "y": 2},
+ {"matrix": [6, 4], "x": 10, "y": 2},
+ {"matrix": [6, 3], "x": 11, "y": 2},
+ {"matrix": [6, 2], "x": 12, "y": 2},
+ {"matrix": [6, 1], "x": 13, "y": 2},
+ {"matrix": [6, 0], "x": 14, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+ {"matrix": [3, 4], "x": 4, "y": 3},
+ {"matrix": [3, 5], "x": 5, "y": 3},
+ {"matrix": [3, 6], "x": 6, "y": 3},
+ {"matrix": [7, 6], "x": 8, "y": 3},
+ {"matrix": [7, 5], "x": 9, "y": 3},
+ {"matrix": [7, 4], "x": 10, "y": 3},
+ {"matrix": [7, 3], "x": 11, "y": 3},
+ {"matrix": [7, 2], "x": 12, "y": 3},
+ {"matrix": [7, 1], "x": 13, "y": 3},
+ {"matrix": [7, 0], "x": 14, "y": 3}
+ ]
+ }
}
- },
- "rgb_matrix": {
- "driver": "ws2812",
- "sat_steps": 8,
- "val_steps": 8,
- "speed_steps": 10,
- "max_brightness": 150,
- "split_count": [25, 25],
- "sleep": true
- },
- "dip_switch": {
- "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ]
- },
- "encoder": {
- "rotary": [
- {"pin_a": "B6", "pin_b": "B5"}
- ]
- },
- "split": {
- "enabled": true,
- "soft_serial_pin": "D2"
- },
- "ws2812": {
- "pin": "D3"
- },
- "rgblight": {
- "led_count": 50,
- "max_brightness": 120,
- "split_count": [25, 25],
- "animations": {
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "static_gradient": true,
- "rgb_test": true
- }
- },
- "processor": "atmega32u4",
- "bootloader": "caterina",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
-
- {"matrix": [4, 5], "x": 9, "y": 0},
- {"matrix": [4, 4], "x": 10, "y": 0},
- {"matrix": [4, 3], "x": 11, "y": 0},
- {"matrix": [4, 2], "x": 12, "y": 0},
- {"matrix": [4, 1], "x": 13, "y": 0},
- {"matrix": [4, 0], "x": 14, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1},
- {"matrix": [1, 5], "x": 5, "y": 1},
-
- {"matrix": [5, 5], "x": 9, "y": 1},
- {"matrix": [5, 4], "x": 10, "y": 1},
- {"matrix": [5, 3], "x": 11, "y": 1},
- {"matrix": [5, 2], "x": 12, "y": 1},
- {"matrix": [5, 1], "x": 13, "y": 1},
- {"matrix": [5, 0], "x": 14, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2},
- {"matrix": [2, 5], "x": 5, "y": 2},
-
- {"matrix": [6, 5], "x": 9, "y": 2},
- {"matrix": [6, 4], "x": 10, "y": 2},
- {"matrix": [6, 3], "x": 11, "y": 2},
- {"matrix": [6, 2], "x": 12, "y": 2},
- {"matrix": [6, 1], "x": 13, "y": 2},
- {"matrix": [6, 0], "x": 14, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3},
- {"matrix": [3, 5], "x": 5, "y": 3},
- {"matrix": [3, 6], "x": 6, "y": 3},
-
- {"matrix": [7, 6], "x": 8, "y": 3},
- {"matrix": [7, 5], "x": 9, "y": 3},
- {"matrix": [7, 4], "x": 10, "y": 3},
- {"matrix": [7, 3], "x": 11, "y": 3},
- {"matrix": [7, 2], "x": 12, "y": 3},
- {"matrix": [7, 1], "x": 13, "y": 3},
- {"matrix": [7, 0], "x": 14, "y": 3}
- ]
- }
- }
}
diff --git a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c
index e528558ed6..a4efde9ed0 100644
--- a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c
+++ b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c
@@ -18,23 +18,12 @@
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _QWERTY = 0,
+ _QWERTY,
_LOWER,
_RAISE,
_ADJUST
};
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- EISU = SAFE_RANGE,
- KANA,
- ADJUST,
- RGBRST
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -52,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(3), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
@@ -95,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset|RGBRST|EEPRST| | | | | | | | | Del |
+ * | | Reset|RGBRST| | | | | | | | | | Del |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | Mac | | Win | |RGB ON| HUE+ | SAT+ | VAL+ |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -104,77 +93,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+<<<<<<< HEAD
_______, QK_BOOT, RGBRST, EE_CLR, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD
+=======
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD
+>>>>>>> 89a2dbab2b (Refactor Helix)
)
-
};
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* Left side encoder */
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- } else if (index == 1) { /* Right side encoder */
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- }
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case EISU:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG2);
- }else{
- tap_code16(LALT(KC_GRAVE));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG1);
- }else{
- tap_code16(LALT(KC_GRAVE));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_LOWER);
- layer_on(_RAISE);
- } else {
- layer_off(_LOWER);
- layer_off(_RAISE);
- }
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- }
- #endif
- break;
- }
- return true;
-}
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_LOWER] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_HOME, KC_END) },
+ [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+};
+#endif
diff --git a/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c b/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c
deleted file mode 100644
index 1158461e78..0000000000
--- a/keyboards/helix/rev3_4rows/keymaps/default/oled_display.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-#include <stdio.h>
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#ifdef OLED_ENABLE
-
-void render_status(void) {
-
- // Render to mode icon
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if (is_mac_mode()) {
- 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(" "), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
-
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-
- oled_write_P(PSTR("\n"), false);
-
- // Host Keyboard LED Status
- 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[] = {
- 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
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_rgbled_status(bool full) {
-#ifdef RGBLIGHT_ENABLE
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
- if (full) {
- // " LED %d:%d,%d,%d"
- 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);
- } else {
- // "[%2d]"
- oled_write_char('[', false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(']', false);
- }
- }
-#endif
-}
-
-bool oled_task_user(void) {
- if(is_keyboard_master()){
- render_status();
- }else{
- render_logo();
- render_rgbled_status(true);
- }
- return false;
-}
-#endif
diff --git a/keyboards/helix/rev3_4rows/keymaps/default/readme.md b/keyboards/helix/rev3_4rows/keymaps/default/readme.md
index e747096851..a0700ffb79 100644
--- a/keyboards/helix/rev3_4rows/keymaps/default/readme.md
+++ b/keyboards/helix/rev3_4rows/keymaps/default/readme.md
@@ -1,4 +1,4 @@
-# The default keymap for Helix rev3 4rows
+# The Default keymap for Helix rev3 4rows
### Qwerty Layer (Base)
```
@@ -41,7 +41,7 @@
,-----------------------------------------. ,-----------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | Reset|RGBRST|EEPRST| | | | | | | | | Del |
+| | Reset|RGBRST| | | | | | | | | | Del |
|------+------+------+------+------+------| |------+------+------+------+------+------|
| | | | | | Mac | | Win | |RGB ON| HUE+ | SAT+ | VAL+ |
|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
diff --git a/keyboards/helix/rev3_4rows/keymaps/default/rules.mk b/keyboards/helix/rev3_4rows/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/helix/rev3_4rows/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/helix/rev3_4rows/oled_display.c b/keyboards/helix/rev3_4rows/oled_display.c
deleted file mode 100644
index 36bf63cb60..0000000000
--- a/keyboards/helix/rev3_4rows/oled_display.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-
- There are several ways to create your own keymap oled code:
-
- * Add the oled code to your keymaps/<keymap_name>/keymap.c.
- * Create a new file in your keymaps/<keymap_name>/ directory, add the oled code, and add `SRC + = <filename>` to keymaps/<keymap_name>/rules.mk.
- * Copy keymaps/default/oled_display.c to your keymaps/<keymap_name>/ directory and modify it.
-
-*/
diff --git a/keyboards/helix/rev3_4rows/readme.md b/keyboards/helix/rev3_4rows/readme.md
index 25e856badf..81646b135f 100644
--- a/keyboards/helix/rev3_4rows/readme.md
+++ b/keyboards/helix/rev3_4rows/readme.md
@@ -4,10 +4,14 @@ A compact split ortholinear keyboard.
* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
* Hardware Supported: Helix rev3 PCBs, Pro Micro
-* Hardware Availability: (Under preparation)
+* Hardware Availability: [yushakobo store](https://shop.yushakobo.jp)
Make example for this keyboard (after setting up your build environment):
make helix/rev3_4rows:default:flash
+Flashing example for this keyboard:
+
+ make helix/rev3_4rows: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).
diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c
deleted file mode 100644
index ff61027a96..0000000000
--- a/keyboards/helix/rev3_4rows/rev3_4rows.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "rev3_4rows.h"
-
-bool is_mac_mode(void) {
- return keymap_config.swap_lalt_lgui == false;
-}
-
-void set_mac_mode(bool macmode) {
- /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys.
- * see
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
- */
- keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
-}
-
-#ifdef DIP_SWITCH_ENABLE
-bool dip_switch_update_kb(uint8_t index, bool active) {
- switch (index) {
- case 0:
- if(active) { // Left no.1 Helix rev3 common
- set_mac_mode(false);
- } else {
- set_mac_mode(true);
- }
- break;
- default: // Left no.2 or Right no.1 or Right no.2 for user/keymap
- dip_switch_update_user(index, active);
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
-static char *sprint_decimal(char *buf, int data) {
- if (data > 9) {
- buf = sprint_decimal(buf, data/10);
- }
- *buf++ = "0123456789"[data%10];
- *buf = '\0';
- return buf;
-}
-
-char *sprints(char *buf, char *src) {
- while (*src) {
- *buf++ = *src++;
- }
- *buf = '\0';
- return buf;
-}
-
-char *sprintd(char *buf, char *leadstr, int data) {
- buf = sprints(buf, leadstr);
- buf = sprint_decimal(buf, data);
- return buf;
-}
-
-char *sprint2d(char *buf, char *leadstr, int data) {
- buf = sprints(buf, leadstr);
- if (data > 99) {
- return sprint_decimal(buf, data);
- }
- if (data < 10) {
- *buf++ = ' ';
- }
- return sprint_decimal(buf, data);
-}
-
-bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
- static const char PROGMEM helix_logo[] = {
- 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,
- 0x0
- };
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
-
- if (is_keyboard_master()) {
- if (is_mac_mode()) {
- 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);
- }
- char buf[20];
- sprint2d(buf, " Layer: ", get_highest_layer(layer_state));
- oled_write(buf, false);
- } else {
- oled_write_P(helix_logo, false);
- }
- return false;
-}
-#endif
diff --git a/keyboards/helix/rev3_4rows/rules.mk b/keyboards/helix/rev3_4rows/rules.mk
deleted file mode 100644
index 01251cd780..0000000000
--- a/keyboards/helix/rev3_4rows/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-EXTRAKEY_ENABLE = yes # Audio control and System control
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = no
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-DIP_SWITCH_ENABLE = no
-LTO_ENABLE = yes
-
-SRC += oled_display.c
diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h
deleted file mode 100644
index 84173da2de..0000000000
--- a/keyboards/helix/rev3_5rows/config.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2020 yushakobo
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* key matrix size */
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 7
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* Split hand configration */
-#define SPLIT_HAND_MATRIX_GRID D7,B2
-
-/* Custom font */
-#define OLED_FONT_H "keyboards/helix/common/glcdfont.c"
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/helix/rev3_5rows/keyboard.json b/keyboards/helix/rev3_5rows/keyboard.json
index b61db7df86..c555237d90 100644
--- a/keyboards/helix/rev3_5rows/keyboard.json
+++ b/keyboards/helix/rev3_5rows/keyboard.json
@@ -1,197 +1,195 @@
{
- "keyboard_name": "Helix rev3 5rows",
- "manufacturer": "yushakobo",
- "url": "",
- "maintainer": "yushakobo",
- "usb": {
- "vid": "0x3265",
- "pid": "0x0003",
- "device_version": "0.0.1"
- },
- "qmk": {
- "locking": {
- "enabled": true,
- "resync": true
+ "keyboard_name": "Helix rev3 5rows",
+ "dip_switch": {
+ "matrix_grid": [
+ [0, 6],
+ [1, 6],
+ [5, 6],
+ [6, 6]
+ ]
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B6", "pin_b": "B5"}
+ ]
+ },
+ "features": {
+ "dip_switch": false,
+ "encoder": true,
+ "oled": true,
+ "rgb_matrix": false
+ },
+ "matrix_pins": {
+ "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
+ "rows": ["D4", "C6", "D7", "E6", "B4"]
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "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}
+ ],
+ "max_brightness": 128,
+ "sat_steps": 8,
+ "speed_steps": 10,
+ "split_count": [32, 32],
+ "val_steps": 8,
+ "sleep": true
+ },
+ "rgblight": {
+ "animations": {
+ "rainbow_mood": true,
+ "rainbow_swirl": true
+ },
+ "led_count": 64,
+ "max_brightness": 120,
+ "split_count": [32, 32]
+ },
+ "split": {
+ "handedness": {
+ "matrix_grid": ["D7", "B2"]
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x0003"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [5, 5], "x": 9, "y": 0},
+ {"matrix": [5, 4], "x": 10, "y": 0},
+ {"matrix": [5, 3], "x": 11, "y": 0},
+ {"matrix": [5, 2], "x": 12, "y": 0},
+ {"matrix": [5, 1], "x": 13, "y": 0},
+ {"matrix": [5, 0], "x": 14, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [6, 5], "x": 9, "y": 1},
+ {"matrix": [6, 4], "x": 10, "y": 1},
+ {"matrix": [6, 3], "x": 11, "y": 1},
+ {"matrix": [6, 2], "x": 12, "y": 1},
+ {"matrix": [6, 1], "x": 13, "y": 1},
+ {"matrix": [6, 0], "x": 14, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2},
+ {"matrix": [2, 5], "x": 5, "y": 2},
+ {"matrix": [7, 5], "x": 9, "y": 2},
+ {"matrix": [7, 4], "x": 10, "y": 2},
+ {"matrix": [7, 3], "x": 11, "y": 2},
+ {"matrix": [7, 2], "x": 12, "y": 2},
+ {"matrix": [7, 1], "x": 13, "y": 2},
+ {"matrix": [7, 0], "x": 14, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+ {"matrix": [3, 4], "x": 4, "y": 3},
+ {"matrix": [3, 5], "x": 5, "y": 3},
+ {"matrix": [3, 6], "x": 6, "y": 3},
+ {"matrix": [8, 6], "x": 8, "y": 3},
+ {"matrix": [8, 5], "x": 9, "y": 3},
+ {"matrix": [8, 4], "x": 10, "y": 3},
+ {"matrix": [8, 3], "x": 11, "y": 3},
+ {"matrix": [8, 2], "x": 12, "y": 3},
+ {"matrix": [8, 1], "x": 13, "y": 3},
+ {"matrix": [8, 0], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+ {"matrix": [4, 4], "x": 4, "y": 4},
+ {"matrix": [4, 5], "x": 5, "y": 4},
+ {"matrix": [4, 6], "x": 6, "y": 4},
+ {"matrix": [9, 6], "x": 8, "y": 4},
+ {"matrix": [9, 5], "x": 9, "y": 4},
+ {"matrix": [9, 4], "x": 10, "y": 4},
+ {"matrix": [9, 3], "x": 11, "y": 4},
+ {"matrix": [9, 2], "x": 12, "y": 4},
+ {"matrix": [9, 1], "x": 13, "y": 4},
+ {"matrix": [9, 0], "x": 14, "y": 4}
+ ]
+ }
}
- },
- "rgb_matrix": {
- "driver": "ws2812",
- "sat_steps": 8,
- "val_steps": 8,
- "speed_steps": 10,
- "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}
- ],
- "max_brightness": 128,
- "split_count": [32, 32],
- "sleep": true
- },
- "dip_switch": {
- "matrix_grid": [ [0,6], [1,6], [5,6], [6,6] ]
- },
- "encoder": {
- "rotary": [
- {"pin_a": "B6", "pin_b": "B5"}
- ]
- },
- "split": {
- "enabled": true,
- "soft_serial_pin": "D2"
- },
- "ws2812": {
- "pin": "D3"
- },
- "rgblight": {
- "led_count": 64,
- "max_brightness": 120,
- "split_count": [32, 32],
- "animations": {
- "rainbow_mood": true,
- "rainbow_swirl": true
- }
- },
- "processor": "atmega32u4",
- "bootloader": "caterina",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
-
- {"matrix": [5, 5], "x": 9, "y": 0},
- {"matrix": [5, 4], "x": 10, "y": 0},
- {"matrix": [5, 3], "x": 11, "y": 0},
- {"matrix": [5, 2], "x": 12, "y": 0},
- {"matrix": [5, 1], "x": 13, "y": 0},
- {"matrix": [5, 0], "x": 14, "y": 0},
-
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1},
- {"matrix": [1, 5], "x": 5, "y": 1},
-
- {"matrix": [6, 5], "x": 9, "y": 1},
- {"matrix": [6, 4], "x": 10, "y": 1},
- {"matrix": [6, 3], "x": 11, "y": 1},
- {"matrix": [6, 2], "x": 12, "y": 1},
- {"matrix": [6, 1], "x": 13, "y": 1},
- {"matrix": [6, 0], "x": 14, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2},
- {"matrix": [2, 5], "x": 5, "y": 2},
-
- {"matrix": [7, 5], "x": 9, "y": 2},
- {"matrix": [7, 4], "x": 10, "y": 2},
- {"matrix": [7, 3], "x": 11, "y": 2},
- {"matrix": [7, 2], "x": 12, "y": 2},
- {"matrix": [7, 1], "x": 13, "y": 2},
- {"matrix": [7, 0], "x": 14, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3},
- {"matrix": [3, 5], "x": 5, "y": 3},
- {"matrix": [3, 6], "x": 6, "y": 3},
-
- {"matrix": [8, 6], "x": 8, "y": 3},
- {"matrix": [8, 5], "x": 9, "y": 3},
- {"matrix": [8, 4], "x": 10, "y": 3},
- {"matrix": [8, 3], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 1], "x": 13, "y": 3},
- {"matrix": [8, 0], "x": 14, "y": 3},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1, "y": 4},
- {"matrix": [4, 2], "x": 2, "y": 4},
- {"matrix": [4, 3], "x": 3, "y": 4},
- {"matrix": [4, 4], "x": 4, "y": 4},
- {"matrix": [4, 5], "x": 5, "y": 4},
- {"matrix": [4, 6], "x": 6, "y": 4},
-
- {"matrix": [9, 6], "x": 8, "y": 4},
- {"matrix": [9, 5], "x": 9, "y": 4},
- {"matrix": [9, 4], "x": 10, "y": 4},
- {"matrix": [9, 3], "x": 11, "y": 4},
- {"matrix": [9, 2], "x": 12, "y": 4},
- {"matrix": [9, 1], "x": 13, "y": 4},
- {"matrix": [9, 0], "x": 14, "y": 4}
- ]
- }
- }
}
diff --git a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c
index 0537235c4e..cc8c099896 100644
--- a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c
+++ b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c
@@ -18,23 +18,12 @@
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _QWERTY = 0,
+ _QWERTY,
_LOWER,
_RAISE,
_ADJUST
};
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- EISU = SAFE_RANGE,
- KANA,
- ADJUST,
- RGBRST
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------. ,-----------------------------------------.
@@ -54,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ MO(3), KC_ESC, KC_LALT, KC_LGUI, EISU, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------. ,-----------------------------------------.
@@ -102,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------. ,-----------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset|RGBRST|EEPRST| | | | | | | | | Del |
+ * | | Reset|RGBRST| | | | | | | | | | Del |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | Mac | | Win | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -113,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, RGBRST, EE_CLR, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD
@@ -129,54 +118,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_ADJUST] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
};
#endif
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case EISU:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG2);
- }else{
- tap_code16(LALT(KC_GRAVE));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if (is_mac_mode()) {
- register_code(KC_LNG1);
- }else{
- tap_code16(LALT(KC_GRAVE));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_LOWER);
- layer_on(_RAISE);
- } else {
- layer_off(_LOWER);
- layer_off(_RAISE);
- }
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- }
- #endif
- break;
- }
- return true;
-}
diff --git a/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c
deleted file mode 100644
index 1158461e78..0000000000
--- a/keyboards/helix/rev3_5rows/keymaps/default/oled_display.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-#include <stdio.h>
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#ifdef OLED_ENABLE
-
-void render_status(void) {
-
- // Render to mode icon
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if (is_mac_mode()) {
- 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(" "), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
-
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-
- oled_write_P(PSTR("\n"), false);
-
- // Host Keyboard LED Status
- 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[] = {
- 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
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_rgbled_status(bool full) {
-#ifdef RGBLIGHT_ENABLE
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
- if (full) {
- // " LED %d:%d,%d,%d"
- 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);
- } else {
- // "[%2d]"
- oled_write_char('[', false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(']', false);
- }
- }
-#endif
-}
-
-bool oled_task_user(void) {
- if(is_keyboard_master()){
- render_status();
- }else{
- render_logo();
- render_rgbled_status(true);
- }
- return false;
-}
-#endif
diff --git a/keyboards/helix/rev3_5rows/keymaps/default/readme.md b/keyboards/helix/rev3_5rows/keymaps/default/readme.md
index 423443ba71..812f9030ad 100644
--- a/keyboards/helix/rev3_5rows/keymaps/default/readme.md
+++ b/keyboards/helix/rev3_5rows/keymaps/default/readme.md
@@ -1,4 +1,4 @@
-# The default keymap for Helix rev3 5rows
+# The Default keymap for Helix rev3 5rows
### Qwerty Layer (Base)
```
@@ -54,7 +54,7 @@
,-----------------------------------------. ,-----------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------| |------+------+------+------+------+------|
-| | Reset|RGBRST|EEPRST| | | | | | | | | Del |
+| | Reset|RGBRST| | | | | | | | | | Del |
|------+------+------+------+------+------| |------+------+------+------+------+------|
| | | | | | Mac | | Win | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
diff --git a/keyboards/helix/rev3_5rows/oled_display.c b/keyboards/helix/rev3_5rows/oled_display.c
deleted file mode 100644
index 36bf63cb60..0000000000
--- a/keyboards/helix/rev3_5rows/oled_display.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-
- There are several ways to create your own keymap oled code:
-
- * Add the oled code to your keymaps/<keymap_name>/keymap.c.
- * Create a new file in your keymaps/<keymap_name>/ directory, add the oled code, and add `SRC + = <filename>` to keymaps/<keymap_name>/rules.mk.
- * Copy keymaps/default/oled_display.c to your keymaps/<keymap_name>/ directory and modify it.
-
-*/
diff --git a/keyboards/helix/rev3_5rows/readme.md b/keyboards/helix/rev3_5rows/readme.md
index ff7e2cd59a..eeee912d6a 100644
--- a/keyboards/helix/rev3_5rows/readme.md
+++ b/keyboards/helix/rev3_5rows/readme.md
@@ -4,10 +4,14 @@ A compact split ortholinear keyboard.
* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo)
* Hardware Supported: Helix rev3 PCBs, Pro Micro
-* Hardware Availability: (Under preparation)
+* Hardware Availability: [yushakobo store](https://shop.yushakobo.jp)
Make example for this keyboard (after setting up your build environment):
+ make helix/rev3_5rows:default
+
+Flashing example for this keyboard:
+
make helix/rev3_5rows: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).
diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c
deleted file mode 100644
index 28fa314a7b..0000000000
--- a/keyboards/helix/rev3_5rows/rev3_5rows.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "rev3_5rows.h"
-
-bool is_mac_mode(void) {
- return keymap_config.swap_lalt_lgui == false;
-}
-
-void set_mac_mode(bool macmode) {
- /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys.
- * see
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124
- * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
- */
- keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
-}
-
-#ifdef DIP_SWITCH_ENABLE
-bool dip_switch_update_kb(uint8_t index, bool active) {
- switch (index) {
- case 0:
- if(active) { // Left no.1 Helix rev3 common
- set_mac_mode(false);
- } else {
- set_mac_mode(true);
- }
- break;
- default: // Left no.2 or Right no.1 or Right no.2 for user/keymap
- dip_switch_update_user(index, active);
- break;
- }
- return true;
-}
-#endif
-
-#ifdef OLED_ENABLE
-static char *sprint_decimal(char *buf, int data) {
- if (data > 9) {
- buf = sprint_decimal(buf, data/10);
- }
- *buf++ = "0123456789"[data%10];
- *buf = '\0';
- return buf;
-}
-
-char *sprints(char *buf, char *src) {
- while (*src) {
- *buf++ = *src++;
- }
- *buf = '\0';
- return buf;
-}
-
-char *sprintd(char *buf, char *leadstr, int data) {
- buf = sprints(buf, leadstr);
- buf = sprint_decimal(buf, data);
- return buf;
-}
-
-char *sprint2d(char *buf, char *leadstr, int data) {
- buf = sprints(buf, leadstr);
- if (data > 99) {
- return sprint_decimal(buf, data);
- }
- if (data < 10) {
- *buf++ = ' ';
- }
- return sprint_decimal(buf, data);
-}
-
-bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
- static const char PROGMEM helix_logo[] = {
- 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,
- 0x0
- };
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
-
- if (is_keyboard_master()) {
- if (is_mac_mode()) {
- 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);
- }
- char buf[20];
- sprint2d(buf, " Layer: ", get_highest_layer(layer_state));
- oled_write(buf, false);
- } else {
- oled_write_P(helix_logo, false);
- }
- return false;
-}
-#endif
diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.h b/keyboards/helix/rev3_5rows/rev3_5rows.h
deleted file mode 100644
index f36a5f2840..0000000000
--- a/keyboards/helix/rev3_5rows/rev3_5rows.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 yushakobo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-bool is_mac_mode(void);
-void set_mac_mode(bool macmode);
diff --git a/keyboards/helix/rev3_5rows/rules.mk b/keyboards/helix/rev3_5rows/rules.mk
deleted file mode 100644
index d1972faa1b..0000000000
--- a/keyboards/helix/rev3_5rows/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-EXTRAKEY_ENABLE = yes # Audio control and System control
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = no
-OLED_ENABLE = yes
-ENCODER_ENABLE = yes
-DIP_SWITCH_ENABLE = no
-MOUSEKEY_ENABLE = yes
-LTO_ENABLE = yes
-
-SRC += oled_display.c
diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk
index f743d48d0e..bc963f16b4 100644
--- a/keyboards/helix/rules.mk
+++ b/keyboards/helix/rules.mk
@@ -1,3 +1 @@
DEFAULT_FOLDER = helix/rev2
-
-HELIX_TOP_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))