diff --git a/keyboards/helix/helix.h b/keyboards/helix/helix.h
index c152417a800..810a7acdbb4 100644
--- a/keyboards/helix/helix.h
+++ b/keyboards/helix/helix.h
@@ -18,5 +18,5 @@
#include "pico.h"
#endif
#ifdef KEYBOARD_helix_rev2_latam
- #include "rev2.h"
+ #include "rev2_latam.h"
#endif
\ No newline at end of file
diff --git a/keyboards/helix/rev2_latam/back/rules.mk b/keyboards/helix/rev2_latam/back/rules.mk
index af243424a06..7e05954fae4 100644
--- a/keyboards/helix/rev2_latam/back/rules.mk
+++ b/keyboards/helix/rev2_latam/back/rules.mk
@@ -1,2 +1 @@
-LED_BACK_ENABLE = yes
-SPLIT_KEYBOARD = yes
\ No newline at end of file
+LED_BACK_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/helix/rev2_latam/keymaps/default/config.h b/keyboards/helix/rev2_latam/keymaps/default/config.h
index 3610c6ef13f..b8c1041cdc7 100644
--- a/keyboards/helix/rev2_latam/keymaps/default/config.h
+++ b/keyboards/helix/rev2_latam/keymaps/default/config.h
@@ -33,6 +33,6 @@ along with this program. If not, see .
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
- #define RGBLIGHT_EFFECT_RGB_TEST
- #define RGBLIGHT_EFFECT_ALTERNATING
+ //#define RGBLIGHT_EFFECT_RGB_TEST
+ //#define RGBLIGHT_EFFECT_ALTERNATING
#endif
diff --git a/keyboards/helix/rev2_latam/keymaps/default/keymap.c b/keyboards/helix/rev2_latam/keymaps/default/keymap.c
index 6693e11113e..c575287ee6d 100644
--- a/keyboards/helix/rev2_latam/keymaps/default/keymap.c
+++ b/keyboards/helix/rev2_latam/keymaps/default/keymap.c
@@ -1,27 +1,20 @@
#include QMK_KEYBOARD_H
#include "bootloader.h"
#ifdef PROTOCOL_LUFA
-# include "lufa.h"
-# include "split_util.h"
+#include "lufa.h"
+#include "split_util.h"
#endif
#ifdef AUDIO_ENABLE
-# include "audio.h"
+ #include "audio.h"
#endif
#ifdef SSD1306OLED
-# include "ssd1306.h"
+ #include "ssd1306.h"
#endif
+
#ifdef RGBLIGHT_ENABLE
-// Following line allows macro to read current RGB settings
+//Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
-uint8_t RGB_current_mode;
-HSV CURRENT_COLOR;
-void keyboard_post_init_user(void) {
- rgblight_enable(); // Enables RGB, without saving settings
- rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
- RGB_current_mode = rgblight_config.mode;
- CURRENT_COLOR = (HSV){0, 0, 255};
-}
#endif
extern uint8_t is_master;
@@ -30,577 +23,609 @@ extern uint8_t is_master;
// 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 };
+enum layer_number {
+ _QWERTY = 0,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
-enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, RGBRST };
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ LOWER,
+ RAISE,
+ ADJUST,
+ BACKLIT,
+ EISU,
+ KANA,
+ RGBRST
+};
-#define LOWER MO(1)
-#define RAISE MO(2)
+enum macro_keycodes {
+ KC_SAMPLEMACRO,
+};
-// HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT(
-KC_GRV,
- KC_1,
- KC_2,
- KC_3,
- KC_4,
- KC_5,
- KC_6,
- KC_7,
- KC_8,
- KC_9,
- KC_0,
- KC_DEL,
- 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_CAPS,
- KC_A,
- KC_S,
- KC_D,
- KC_F,
- KC_G,
- KC_H,
- KC_J,
- KC_K,
- KC_L,
- KC_SCLN,
- KC_ENT,
- KC_LSFT,
- KC_Z,
- KC_X,
- KC_C,
- KC_V,
- KC_B,
- KC_QUOT,
- KC_NUHS,
- KC_N,
- KC_M,
- KC_COMM,
- KC_DOT,
- KC_SLSH,
- KC_RSFT,
- KC_LCTL,
- KC_ESC,
- KC_LGUI,
- KC_LALT,
- MO(2),
- MO(1),
- KC_SPC,
- KC_SPC,
- KC_RALT,
- KC_LEFT,
- KC_UP,
- KC_DOWN,
- KC_RGHT,
- KC_RCTL
-),
+//Macros
+#define M_SAMPLE M(KC_SAMPLEMACRO)
- [_LOWER] = 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,
- KC_TRNS,
- KC_TRNS,
- KC_BRID,
- KC_BRIU,
- KC_TRNS,
- KC_TRNS,
- KC_PSCR,
- KC_INS,
- KC_TRNS,
- KC_MINS,
- KC_EQL,
- KC_TRNS,
- KC_TRNS,
- KC_MUTE,
- KC_VOLD,
- KC_VOLU,
- KC_MPLY,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_LBRC,
- KC_RBRC,
- KC_TRNS,
- KC_TRNS,
- KC_NUBS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_TRNS,
- KC_HOME,
- KC_PGUP,
- KC_PGDN,
- KC_END,
- KC_TRNS
-),
+#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_RAISE] = LAYOUT(
-KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- RGB_M_R,
- RGB_M_K,
- RGB_M_SN,
- RGB_M_SW,
- RGB_TOG,
- KC_NO,
- KC_NO,
- RGB_MOD,
- RGB_RMOD,
- KC_NO,
- KC_NO,
- KC_NO,
- RGB_M_G,
- RGB_M_B,
- RGB_M_P,
- RGB_M_T,
- RGB_M_X,
- KC_NO,
- KC_NO,
- RGB_HUI,
- RGB_HUD,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_TRNS,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO,
- KC_NO
- )};
+ /* Qwerty
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
+ 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 \
+ ),
+
+ /* Colemak
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_COLEMAK] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
+ 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 \
+ ),
+
+ /* Dvorak
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_DVORAK] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ 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 \
+ ),
+
+ /* Lower
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_LOWER] = LAYOUT( \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+ KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ ),
+
+ /* Raise
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_RAISE] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
+ KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ ),
+
+ /* Adjust (Lower + Raise)
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | Reset|RGBRST| | | | | | | | | | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_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, \
+ _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
+ )
+};
+
+#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Qwerty
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_QWERTY] = LAYOUT( \
+ 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 \
+ ),
+
+ /* Colemak
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_COLEMAK] = LAYOUT( \
+ 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 \
+ ),
+
+ /* Dvorak
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_DVORAK] = LAYOUT( \
+ 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_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 \
+ ),
+
+ /* Lower
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | | F12 | | | Home | End | |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_LOWER] = LAYOUT( \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ ),
+
+ /* Raise
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | | F12 | | |PageDn|PageUp| |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_RAISE] = LAYOUT( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+ ),
+
+ /* Adjust (Lower + Raise)
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | Reset|RGBRST| | | | | | | | | | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ |
+ * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
+ * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_ADJUST] = LAYOUT( \
+ _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
+ )
+};
+
+#else
+#error "undefined keymaps"
+#endif
+
+
+#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);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+#endif
// define variables for reactive RGB
bool TOG_STATUS = false;
+int RGB_current_mode;
void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+// 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
- persistent_default_layer_set(1UL << _QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
-#endif
- persistent_default_layer_set(1UL << _COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
-#ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
-#endif
- persistent_default_layer_set(1UL << _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
- RGB_current_mode = rgblight_config.mode;
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- rgblight_sethsv(HSV_BLUE);
-#endif
- }
- layer_on(_LOWER);
- } else {
-#ifdef RGBLIGHT_ENABLE
- rgblight_mode(RGB_current_mode);
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
-#endif
- TOG_STATUS = false;
- layer_off(_LOWER);
- }
- 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
- RGB_current_mode = rgblight_config.mode;
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- rgblight_sethsv(HSV_RED);
-#endif
- }
- layer_on(_RAISE);
- } else {
-#ifdef RGBLIGHT_ENABLE
- rgblight_mode(RGB_current_mode);
- rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
-#endif
- layer_off(_RAISE);
- TOG_STATUS = false;
- }
- 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 RGB_MOD:
-#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 RGB_RMOD:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step_reverse();
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- // Estos faltan agregar...
- // RGB_SPI,RGB_VAI,RGB_SAI,
- // RGB_SPD,RGB_VAD,RGB_SAD,
- case RGB_M_R:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD + 1);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_K:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_KNIGHT + 1);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_SN:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_SNAKE + 3);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_SW:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_G:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_B:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_BREATHING + 2);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_P:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_T:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_M_X:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
- RGB_current_mode = rgblight_config.mode;
- }
-#endif
- return false;
- break;
- case RGB_HUI:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- RGB_current_mode = rgblight_config.mode;
- rgblight_increase_hue();
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
- }
-#endif
- return false;
- break;
- case RGB_HUD:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- RGB_current_mode = rgblight_config.mode;
- rgblight_decrease_hue();
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
- }
-#endif
- 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;
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_qwerty);
+ #endif
+ persistent_default_layer_set(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_colemak);
+ #endif
+ persistent_default_layer_set(1UL<<_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_dvorak);
+ #endif
+ persistent_default_layer_set(1UL<<_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 RGB_MOD:
+ #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_LANG2);
+ }else{
+ SEND_STRING(SS_LALT("`"));
+ }
+ } else {
+ unregister_code(KC_LANG2);
+ }
+ return false;
+ break;
+ case KANA:
+ if (record->event.pressed) {
+ if(keymap_config.swap_lalt_lgui==false){
+ register_code(KC_LANG1);
+ }else{
+ SEND_STRING(SS_LALT("`"));
+ }
+ } else {
+ unregister_code(KC_LANG1);
+ }
+ 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 AUDIO_ENABLE
- startup_user();
-#endif
-#ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
-#endif
-// SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
-#endif
+ #ifdef AUDIO_ENABLE
+ startup_user();
+ #endif
+ #ifdef RGBLIGHT_ENABLE
+ RGB_current_mode = rgblight_config.mode;
+ #endif
+ //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
+ #ifdef SSD1306OLED
+ iota_gfx_init(!has_usb()); // turns on the display
+ #endif
}
+
#ifdef AUDIO_ENABLE
-void startup_user() {
- _delay_ms(20); // gets rid of tick
+void startup_user()
+{
+ _delay_ms(20); // gets rid of tick
}
-void shutdown_user() {
+void shutdown_user()
+{
_delay_ms(150);
stop_all_notes();
}
-void music_on_user(void) { music_scale_user(); }
+void music_on_user(void)
+{
+ music_scale_user();
+}
-void music_scale_user(void) { PLAY_SONG(music_scale); }
+void music_scale_user(void)
+{
+ PLAY_SONG(music_scale);
+}
#endif
-// SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
+
+//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#ifdef SSD1306OLED
void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
+ iota_gfx_task(); // this is what updates the display continuously
}
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
+void matrix_update(struct CharacterMatrix *dest,
+ const struct CharacterMatrix *source) {
+ if (memcmp(dest->display, source->display, sizeof(dest->display))) {
+ memcpy(dest->display, source->display, sizeof(dest->display));
+ dest->dirty = true;
+ }
}
-// assign the right code to your layers for OLED display
-# define L_BASE 0
-# define L_LOWER (1 << _LOWER)
-# define L_RAISE (1 << _RAISE)
+//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)
+
static void render_logo(struct CharacterMatrix *matrix) {
- 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};
- matrix_write_P(matrix, helix_logo);
- // matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
+
+ 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};
+ matrix_write_P(matrix, helix_logo);
+ //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
}
static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) {
-# ifdef RGBLIGHT_ENABLE
- char buf[30];
- if (RGBLIGHT_MODES > 1 && rgblight_config.enable) {
- if (full) {
- snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", rgblight_config.mode, rgblight_config.hue / RGBLIGHT_HUE_STEP, rgblight_config.sat / RGBLIGHT_SAT_STEP, rgblight_config.val / RGBLIGHT_VAL_STEP);
- } else {
- snprintf(buf, sizeof(buf), "[%2d] ", rgblight_config.mode);
- }
- matrix_write(matrix, buf);
- }
-# endif
+#ifdef RGBLIGHT_ENABLE
+ char buf[30];
+ if (RGBLIGHT_MODES > 1 && rgblight_config.enable) {
+ if (full) {
+ snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ",
+ rgblight_config.mode,
+ rgblight_config.hue/RGBLIGHT_HUE_STEP,
+ rgblight_config.sat/RGBLIGHT_SAT_STEP,
+ rgblight_config.val/RGBLIGHT_VAL_STEP);
+ } else {
+ snprintf(buf, sizeof(buf), "[%2d] ",rgblight_config.mode);
+ }
+ matrix_write(matrix, buf);
+ }
+#endif
}
static void render_layer_status(struct CharacterMatrix *matrix) {
- // 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];
- matrix_write_P(matrix, PSTR("Layer: "));
+ // 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];
+ matrix_write_P(matrix, PSTR("Layer: "));
switch (layer_state) {
case L_BASE:
- matrix_write_P(matrix, PSTR("Default"));
- break;
+ matrix_write_P(matrix, PSTR("Default"));
+ break;
case L_RAISE:
- matrix_write_P(matrix, PSTR("Raise"));
- break;
+ matrix_write_P(matrix, PSTR("Raise"));
+ break;
case L_LOWER:
- matrix_write_P(matrix, PSTR("Lower"));
- break;
+ matrix_write_P(matrix, PSTR("Lower"));
+ break;
+ case L_ADJUST:
+ case L_ADJUST_TRI:
+ matrix_write_P(matrix, PSTR("Adjust"));
+ break;
default:
- matrix_write_P(matrix, PSTR("Undef-"));
- snprintf(buf, sizeof(buf), "%ld", layer_state);
- matrix_write(matrix, buf);
+ matrix_write_P(matrix, PSTR("Undef-"));
+ snprintf(buf,sizeof(buf), "%ld", layer_state);
+ matrix_write(matrix, buf);
}
}
void render_status(struct CharacterMatrix *matrix) {
- // 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 (keymap_config.swap_lalt_lgui == false) {
- matrix_write_P(matrix, os_logo[0][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write_P(matrix, os_logo[0][1]);
- } else {
- matrix_write_P(matrix, os_logo[1][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write_P(matrix, os_logo[1][1]);
- }
- matrix_write_P(matrix, PSTR(" "));
- render_layer_status(matrix);
+ // 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(keymap_config.swap_lalt_lgui==false){
+ matrix_write_P(matrix, os_logo[0][0]);
matrix_write_P(matrix, PSTR("\n"));
+ matrix_write_P(matrix, os_logo[0][1]);
+ }else{
+ matrix_write_P(matrix, os_logo[1][0]);
+ matrix_write_P(matrix, PSTR("\n"));
+ matrix_write_P(matrix, os_logo[1][1]);
+ }
- // Host Keyboard LED Status
- matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) ? PSTR("NUMLOCK") : PSTR(" "));
- matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) ? PSTR("CAPS") : PSTR(" "));
- matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) ? PSTR("SCLK") : PSTR(" "));
- matrix_write_P(matrix, PSTR("\n"));
- render_rgbled_status(true, matrix);
+ matrix_write_P(matrix, PSTR(" "));
+ render_layer_status(matrix);
+ matrix_write_P(matrix, PSTR("\n"));
+
+ // Host Keyboard LED Status
+ matrix_write_P(matrix, (host_keyboard_leds() & (1<
-#include "oled.h"
-
-static void render_logo(struct CharacterMatrix *matrix) {
-
- static char 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,
- 0};
- matrix_write(matrix, logo);
-}
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-void render_status(struct CharacterMatrix *matrix) {
-
- // Render to mode icon
- static char logo[][2][3] = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- int mode_number = get_enable_kc_lang() ? 0 : 1;
- matrix_write(matrix, logo[mode_number][0]);
- matrix_write(matrix, "\n");
- matrix_write(matrix, logo[mode_number][1]);
-
- // 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[40];
- snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
- matrix_write_P(matrix, PSTR("\nLayer: "));
- switch (biton32(layer_state)) {
- case L_BASE:
- matrix_write_P(matrix, PSTR("Default"));
- break;
- case _RAISE:
- matrix_write_P(matrix, PSTR("Raise"));
- break;
- case _LOWER:
- matrix_write_P(matrix, PSTR("Lower"));
- break;
- default:
- matrix_write(matrix, buf);
- }
-
- // Host Keyboard LED Status
- char led[40];
- snprintf(led, sizeof(led), "\n%s %s %s",
- (host_keyboard_leds() & (1<.
diff --git a/keyboards/helix/rev2_latam/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2_latam/keymaps/edvorakjp/rules.mk
deleted file mode 100644
index 18bef6bf71e..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/edvorakjp/rules.mk
+++ /dev/null
@@ -1,38 +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
-TAP_DANCE_ENABLE = yes
-
-# Helix Spacific Build Options
-# you can uncomment and edit follows 7 Variables
-# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-# HELIX_ROWS = 5 # Helix Rows is 4 or 5
-# OLED_ENABLE = no # OLED_ENABLE
-# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead 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)
-
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
-
-ifeq ($(strip $(HELIX_ROWS)), 4)
- SRC += keymap_4rows.c
-else ifeq ($(strip $(HELIX_ROWS)), 5)
- SRC += keymap_5rows.c
-endif
-
-ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- OPT_DEFS += -DRGBLED_BACK
-endif
-
-ifeq ($(strip $(OLED_ENABLE)), yes)
- SRC += oled.c
-endif
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows/README.md b/keyboards/helix/rev2_latam/keymaps/five_rows/README.md
deleted file mode 100644
index 10a4fa942cb..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows/README.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# Keymap for 5 rows Helix keyboard
-
-This keymap is only for 5 rows Helix keyboard.
-
-## Layout
-
-
-
-## Layer
-
-|Priority|Number|Name|Discription|
-| ---- | ---- | --- | --- |
-|high|9|Adjust| keyboard local functions (violet)|
-||8|KFunction| TenkeyPad function keys (bule)|
-||7|Extra char| some charactors (red)|
-||6|Function| function keys (blue)|
-||2|Keypad|TenkeyPad|
-||2|Dvorak|Dvorak|
-||1|Colemak|Colemak|
-|low|0|Qwerty|QWERTY (base)|
-
-### Adjust Layer
-
-Adjust Layer has keyboard local function keys.
-
-* LED control.
-* Mac/Win mode change.
-* Qwerty/Colemak/Dvorak/TenkeyPad change.
-
-
-
-### Mac mode and Win mode
-
-Mac mode swap Alt/Win(GUI) key.
-
-|mode|key|code|
-| ---- | ---- | --- |
-|Mac mode|Adjust + g(Qwerty)|AG_NORM|
-| |Adjust + h(Qwerty)| |
-|Win mode|Adjust + t(Qwerty)|AG_SWAP|
-| |Adjust + y(Qwerty)| |
-
-### LED control
-
-|command|key|code|
-| ---- | ---- | --- |
-|on/off|Adjust + e(Qwerty)|RGB_TOG|
-| |Adjust + i(Qwerty)| |
-|change mode|Adjust + d(Qwerty) |RGB_MOD|
-| |Adjust + k(Qwerty)| |
-|HUE +|Adjust + Left Control|RGB_HUI|
-| |Adjust + Right Control| |
-|HUE -|Adjust + Left Shift |RGB_HUD|
-| |Adjust + Right Shift | |
-|SAT +|Adjust + ;(Qwerty) |RGB_SAI|
-| |Adjust + a(Qwerty) | |
-|SAT -|Adjust + z(Qwerty) |RGB_SAD|
-| |Adjust + /(Qwerty) | |
-|Bright +|Adjust + s(Qwerty) |RGB_VAI|
-| |Adjust + l(Qwerty) | |
-|Bright -|Adjust + x(Qwerty) |RGB_VAD|
-| |Adjust + >(Qwerty) | |
-|reset|Adjust + w|RGBRST|
-
-### Qwerty, Colemak, Dvorak, TenkeyPad selection
-
-|char layout|key|
-| ---- | ---- |
-|Qwerty | Adjust + 5 |
-| | Adjust + 6 |
-|Calemak| Adjust + 4 |
-| | Adjust + 7 |
-|Dvorak | Adjust + 3 |
-| | Adjust + 8 |
-|Keypad | Adjust + 2 |
-| | Adjust + 9 |
-
-## TenkeyPad layout
-
-
-
-## Note
-
-
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows/README_jp.md b/keyboards/helix/rev2_latam/keymaps/five_rows/README_jp.md
deleted file mode 100644
index 317ffdd71dd..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows/README_jp.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# Keymap for 5 rows Helix keyboard
-
-本キーマップは、Helix キーボードの5行版専用のキーマップです。
-
-普通のキーボード使用者が、Helix キーボードを使うときになるべく違いが少なく戸惑いが少なくなるように意図したキーマップです。(意図通り成功しているかどうかは使用する人の判断で、、、)
-
-## キー配置
-以下に、Qwerty配列時の、文字配列の図を示します。
-
-
-
-## レイヤー
-
-|優先順位|番号|名称|内容|
-| ---- | ---- | --- | --- |
-|高い|9|Adjust|機能キー(紫)|
-||8|KFunction|テンキーパッド用ファンクションキー類(青)|
-||7|Extra char|記号類(赤)|
-||6|Function|ファンクションキー類(青)|
-||3|Keypad|テンキーパッド配列|
-||2|Dvorak|Dvorak配列|
-||1|Colemak|Colemak配列|
-|低い|0|Qwerty|QWERTY配列(ベース)|
-
-Qwerty/Colemak/Dvorak/Keypad の各レイヤーは、後述する、Ajuestレイヤーの キーによる選択で、いずれか一つだけが有効になり、標準のキーマップとなります。
-
-Function レイヤーは、下段両端の4つのFnキーのどれかひとつを押している間だけ有効になり、矢印キー等のナビゲーションキーや F1, F2, ...F12キーなどが配置されています。
-上の図の青色の刻印のキーのあるレイヤーです。
-
-Extra レイヤーは、下段中央部の Enter キーか BS キーを一定時間(0.2秒)以上押していると押している間だけ有効になり、'+=-_[]{}' の 8つの記号と「英数」キー、「かな」キーが配置されています。
-このため、Enter/BS キーで Enter/BS を入力するには、Enter/BSキーを押して短時間ですぐ離してください。
-上の図の赤色の刻印のキーのあるレイヤーです。
-
-Adjust レイヤーは、Adjust キーを押している間有効になります。
-Adjust キーは Function レイヤーに有り、下段両端の4つのFnキーのどれか一つを押しながら、下段中央部の Enter キーか BS キーを押すことで Adjust レイヤーが有効になります。
-Adjust キー (Enter/BS)を押した後は、Fnキーは離して構いません。
-
-### Adjust レイヤー
-Ajust レイヤーは、LEDのコントロール、Mac/Win モードの切り替え、Qwerty配列, Colemak配列, Dvorak配列, TenkeyPad配列の切り替えが行えます。
-
-
-
-### MacモードとWinモード
-キーボードには、Mac モードと、Win モードの二つのモードがあります。
-
-現在のモードはOLEDにアイコンとして表示されます。
-(以下の指定キーは、Qwerty配列時の文字を使ってキーを表示しています)
-
-|コマンド|指定キー|コード|
-| ---- | ---- | --- |
-|Macモード|Adjust + g(Qwerty)|AG_NORM|
-| |Adjust + h(Qwerty)| |
-|Winモード|Adjust + t(Qwerty)|AG_SWAP|
-| |Adjust + y(Qwerty)| |
-
-Mac モードと Win モードでは、AltキーとWin(GUI)キーが入れ替わります。
-
-Mac モードでは、Extra レイヤー の「英数」キーと「かな」キーで英語モードと日本語モードの切り替えができます。
-
-Winモードでは、該当のキーはどちらも共に Alt + `(日本語IMEの切り替え)として入力されます。
-
-### LEDコントロール
-
-バックライトやUnderglowをコントロールするにはAdjustレイヤーにある機能キーを使います。
-(以下の指定キーは、Qwerty配列時の文字を使ってキーを表示しています)
-
-|コマンド|指定キー|コード|
-| ---- | ---- | --- |
-|オン/オフ|Adjust + e(Qwerty)|RGB_TOG|
-| |Adjust + i(Qwerty)| |
-|モード切り替え|Adjust + d(Qwerty) |RGB_MOD|
-| |Adjust + k(Qwerty)| |
-|色相 +|Adjust + Left Control|RGB_HUI|
-| |Adjust + Right Control| |
-|色相 -|Adjust + Left Shift |RGB_HUD|
-| |Adjust + Right Shift | |
-|彩度 +|Adjust + ;(Qwerty) |RGB_SAI|
-| |Adjust + a(Qwerty) | |
-|彩度 -|Adjust + z(Qwerty) |RGB_SAD|
-| |Adjust + /(Qwerty) | |
-|明度 +|Adjust + s(Qwerty) |RGB_VAI|
-| |Adjust + l(Qwerty) | |
-|明度 -|Adjust + x(Qwerty) |RGB_VAD|
-| |Adjust + >(Qwerty) | |
-|リセット|Adjust + w|RGBRST|
-
-### 文字配列選択
-Qwerty, Colemak, Dvorak, Keypad それぞれの文字配列の選択は以下のキーを使います。
-
-|選択配列|指定キー|
-| ---- | ---- |
-|Qwerty | Adjust + 5 |
-| | Adjust + 6 |
-|Calemak| Adjust + 4 |
-| | Adjust + 7 |
-|Dvorak | Adjust + 3 |
-| | Adjust + 8 |
-|Keypad | Adjust + 2 |
-| | Adjust + 9 |
-
-## テンキーパッドのキー配置
-以下に、テンキーパッド配列時の、文字配列の図を示します。
-
-
-
-図でわかるように、テンキーと F1,F2..F12 のキー入力ができる配列です。
-F12キーは一定時間(0.2秒)以上押していると KFunc キーとして働き、押している間は、青色の刻印のキー入力を行えます。
-F12 そのものを入力するときは押して短時間ですぐ離してください。
-F12キーを押しているときは、F11キー は Adjust キーとなり、Adjust レイヤーが有効になります。
-これによって、Qwerty 配列などに戻すことが可能になります。
-
-## 備考
-本キーマップは、通常のキーボードの主要部分のホームポジション周辺をなるべくそのまま踏襲する方針で作成しました。
-変更点は以下の通りです。
-
- * 右手小指により多く割り当たっていた5つの記号と左上の1つの記号を中央に集め人差し指の担当とする。
- * Enter キーを親指担当として中央手前に移動。
- * Control キーを左右共にホームポジションの行に移動。
- * 左手親指に BackSpace キーを割り当てる。
-
-
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows/config.h b/keyboards/helix/rev2_latam/keymaps/five_rows/config.h
deleted file mode 100644
index 538859bc3c5..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 300
-#define PERMISSIVE_HOLD
-/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
- see tmk_core/common/action_tapping.c */
-
-// 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
-
-#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows/keymap.c b/keyboards/helix/rev2_latam/keymaps/five_rows/keymap.c
deleted file mode 100644
index fcc5c4bbefa..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows/keymap.c
+++ /dev/null
@@ -1,597 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-#ifdef CONSOLE_ENABLE
- #include
-#endif
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// 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,
- _EUCALYN,
- _KEYPAD,
- _AUX,
- _KAUX,
- _LOWER,
- _RAISE,
- _PADFUNC,
- _ADJUST,
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- EUCALYN,
- KEYPAD,
- KC_xEISU,
- KC_xKANA,
- KC_ZERO2,
- RGBRST
-};
-
-//Macros
-#define KC_LOWER MO(_LOWER)
-#define KC_RABS LT(_RAISE,KC_BSPC)
-#define KC_RAEN LT(_RAISE,KC_ENT)
-#define KC_FF12 LT(_PADFUNC,KC_F12)
-#define KC_____ _______
-#define KC_XXXX XXXXXXX
-#define KC_ADJ MO(_ADJUST)
-#define KC_LSMI LSFT(KC_MINS)
-#define KC_LSEQ LSFT(KC_EQL)
-#define KC_LSRB LSFT(KC_RBRC)
-#define KC_LSLB LSFT(KC_LBRC)
-#define ___ _______
-
-#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | Ctrl |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | ` | ' | N | M | , | . | / | Shift|
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT_kc( \
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
- TAB, Q, W, E, R, T, Y, U, I, O, P, BSLS, \
- LCTL, A, S, D, F, G, H, J, K, L, SCLN, RCTL, \
- LSFT, Z, X, C, V, B, GRV, QUOT, N, M, COMM, DOT, SLSH, RSFT, \
- LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
- ),
-
- /* Colemak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | | H | N | E | I | O | Ctrl |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | ` | ' | K | M | , | . | / | Shift|
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_COLEMAK] = LAYOUT_kc( \
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
- TAB, Q, W, F, P, G, J, L, U, Y, SCLN, BSLS, \
- LCTL, A, R, S, T, D, H, N, E, I, O, RCTL, \
- LSFT, Z, X, C, V, B, GRV, QUOT, K, M, COMM, DOT, SLSH, RSFT, \
- LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
- ),
-
- /* Dvorak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | O | E | U | I | | D | H | T | N | S | Ctrl |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | ` | / | B | M | W | V | Z | Shift|
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_DVORAK] = LAYOUT_kc( \
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
- TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, BSLS, \
- LCTL, A, O, E, U, I, D, H, T, N, S, RCTL, \
- LSFT, SCLN, Q, J, K, X, GRV, SLSH, B, M, W, V, Z, RSFT, \
- LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
- ),
-
- /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | O | E | I | U | | G | T | K | S | N | Ctrl |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | F | ` | ' | B | H | J | L | / | Shift|
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_EUCALYN] = LAYOUT_kc( \
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
- TAB, Q, W, COMM, DOT, SCLN, M, R, D, Y, P, BSLS, \
- LCTL, A, O, E, I, U, G, T, K, S, N, RCTL, \
- LSFT, Z, X, C, V, F, GRV, QUOT, B, H, J, L, SLSH, RSFT, \
- LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
- ),
-
- /* Keypad
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | 4 | 5 | 6 | - | F3 | F8 | | F3 | F8 | - | 4 | 5 | 6 |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | 1 | 2 | 3 | + | F4 | F9 | F11 | F11 | F4 | F9 | + | 1 | 2 | 3 |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | 0 | , | . | Enter| F5 | F10 | F12 | F12 | F5 | F10 | Enter| 0 | , | . |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_KEYPAD] = LAYOUT_kc( \
- TAB, PSLS, PAST, DEL, F1, F6, F1, F6, DEL, TAB, PSLS, PAST, \
- KP_7, KP_8, KP_9, BSPC, F2, F7, F2, F7, BSPC, KP_7, KP_8, KP_9, \
- KP_4, KP_5, KP_6, PMNS, F3, F8, F3, F8, PMNS, KP_4, KP_5, KP_6, \
- KP_1, KP_2, KP_3, PPLS, F4, F9, F11, F11, F4, F9, PPLS, KP_1, KP_2, KP_3, \
- KP_0, COMM, PDOT, PENT, F5, F10, FF12, FF12, F5, F10, PENT, KP_0, COMM, PDOT \
- ),
-
- /* AUX modifier key layer
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | 00 | | | | | | | | | | | 00 | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_KAUX] = LAYOUT_kc( \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ZERO2,____ \
- ),
-
- /* Keypad function layer
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |Delete|Insert| Left | Down | Right| | Left | Down | Right|Insert|Delete| |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | End | | PgDn |Adjust|Adjust| PgDn | | End | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_PADFUNC] = LAYOUT_kc( \
- XXXX, XXXX, XXXX, PAUS, SLCK, PSCR, PSCR, SLCK, PAUS, XXXX, XXXX, XXXX, \
- XXXX, XXXX, XXXX, HOME, UP, PGUP, PGUP, UP, HOME, XXXX, XXXX, XXXX, \
- XXXX, DEL, INS, LEFT, DOWN, RGHT, LEFT, DOWN, RGHT, INS, DEL, XXXX, \
- XXXX, XXXX, XXXX, END, XXXX, PGDN, ADJ, ADJ, PGDN, XXXX, END, XXXX, XXXX, XXXX, \
- XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \
- ),
-
- /* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | PrtSc| | | | | | | | | PrtSc| | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT_kc( \
- XXXX, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, \
- XXXX, XXXX, PAUS, SLCK, INS, XXXX, XXXX, INS, SLCK, PAUS, XXXX, F12, \
- ____, HOME, XXXX, UP, DEL, PGUP, PGUP, DEL, UP, XXXX, HOME, ____, \
- ____, END, LEFT, DOWN, RGHT, PGDN, XXXX, XXXX, PGDN, LEFT, DOWN, RGHT, END, ____, \
- ____, ____, PSCR, ____, ____, ____, ADJ, ADJ, ____, ____, ____, PSCR, ____, ____ \
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | _ | - | | = | + | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | { | [ | | ] | } | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | EISU | EISU | KANA | KANA | Next | Vol- | Vol+ | Play | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT_kc( \
- XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \
- XXXX, XXXX, XXXX, XXXX, LSMI, MINS, EQL, LSEQ, XXXX, XXXX, XXXX, XXXX, \
- ____, XXXX, XXXX, XXXX, LSLB, LBRC, RBRC, LSRB, XXXX, XXXX, XXXX, ____, \
- ____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA,MNXT, VOLD, VOLU, MPLY, ____, \
- ADJ, ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ, ADJ \
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | |Keypad|Dvorak|Colemk|Euclyn|Qwerty| |Qwerty|Euclyn|Colemk|Dvorak|Keypad| |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win |Aud on|RGB ON|RGBRST| | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | HUE+ | SAT+ | VAL+ |RGB md|Audoff| Mac | | Mac |Audoff|RGB md| VAL+ | SAT+ | HUE+ |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | HUE- | SAT- | VAL- | | | | | | | | | VAL- | SAT- | HUE- |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT( \
- XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \
- XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \
- RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \
- RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \
- _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \
- ),
-
- /* AUX modifier key layer
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | BS | Enter| | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_AUX] = LAYOUT_kc( \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, BSPC, RAEN, ____, ____, ____, ____, ____, ____, ____ \
- )
-};
-
-#else
-#error "undefined keymaps"
-#endif
-
-
-#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);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-#endif
-
-static int current_default_layer;
-
-uint32_t default_layer_state_set_kb(uint32_t state) {
- // 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0)
- // 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1)
- current_default_layer = state - 1;
- // 1<<_DVORAK - 2 == 4 - 2 == _DVORAK (=2)
- if ( current_default_layer == 3 ) current_default_layer -= 1;
- // 1<<_EUCALYN - 5 == 8 - 5 == _EUCALYN (=3)
- if ( current_default_layer == 7 ) current_default_layer -= 4;
- // 1<<_KEYPAD - 12 == 16 - 12 == _KEYPAD (=4)
- if ( current_default_layer == 15 ) current_default_layer -= 11;
- return state;
-}
-
-void update_base_layer(int base)
-{
- if( current_default_layer != base ) {
- eeconfig_update_default_layer(1UL<event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- update_base_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- update_base_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- update_base_layer(_DVORAK);
- }
- return false;
- break;
- case EUCALYN:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- update_base_layer(_EUCALYN);
- }
- return false;
- break;
- case KEYPAD:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- update_base_layer(_KEYPAD);
- }
- return false;
- break;
- case KC_ZERO2:
- if (record->event.pressed) {
- SEND_STRING("00");
- }
- return false;
- break;
- case KC_xEISU:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG2);
- }
- return false;
- break;
- case KC_xKANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG1);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- }
- #endif
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
-}
-
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
-}
-
-void shutdown_user()
-{
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-static void render_logo(struct CharacterMatrix *matrix) {
-
- static char 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,
- 0};
- matrix_write(matrix, logo);
-#ifdef RGBLIGHT_ENABLE
- char buf[30];
- if (RGBLIGHT_MODES > 1 && rgblight_config.enable) {
- snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ",
- rgblight_config.mode,
- rgblight_config.hue/RGBLIGHT_HUE_STEP,
- rgblight_config.sat/RGBLIGHT_SAT_STEP,
- rgblight_config.val/RGBLIGHT_VAL_STEP);
- matrix_write(matrix, buf);
- }
-#endif
- //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
-}
-
-static const char Qwerty_name[] PROGMEM = " Qwerty";
-static const char Colemak_name[] PROGMEM = " Colemak";
-static const char Dvorak_name[] PROGMEM = " Dvorak";
-static const char Eucalyn_name[] PROGMEM = " Eucalyn";
-static const char Keypad_name[] PROGMEM = " Keypad";
-
-static const char AUX_name[] PROGMEM = ":AUX";
-static const char KAUX_name[] PROGMEM = ":00";
-static const char Padfunc_name[] PROGMEM = ":PadFunc";
-static const char Lower_name[] PROGMEM = ":Func";
-static const char Raise_name[] PROGMEM = ":Extra";
-static const char Adjust_name[] PROGMEM = ":Adjust";
-
-static const char *layer_names[] = {
- [_QWERTY] = Qwerty_name,
- [_COLEMAK] = Colemak_name,
- [_DVORAK] = Dvorak_name,
- [_EUCALYN]= Eucalyn_name,
- [_KEYPAD] = Keypad_name,
- [_AUX] = AUX_name,
- [_KAUX] = KAUX_name,
- [_LOWER] = Lower_name,
- [_RAISE] = Raise_name,
- [_PADFUNC]= Padfunc_name,
- [_ADJUST] = Adjust_name
-};
-
-void render_status(struct CharacterMatrix *matrix) {
-
- // Render to mode icon
- static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if(keymap_config.swap_lalt_lgui==false){
- matrix_write(matrix, logo[0][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, logo[0][1]);
- }else{
- matrix_write(matrix, logo[1][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, logo[1][1]);
- }
-
- // 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
- int name_num;
- uint32_t lstate;
- matrix_write_P(matrix, layer_names[current_default_layer]);
- matrix_write_P(matrix, PSTR("\n"));
- for( lstate = layer_state, name_num = 0;
- lstate && name_num < sizeof(layer_names)/sizeof(char *);
- lstate >>=1, name_num++ ) {
- if( (lstate & 1) != 0 ) {
- if( layer_names[name_num] ) {
- matrix_write_P(matrix, layer_names[name_num]);
- }
- }
- }
-
- // Host Keyboard LED Status
- char led[40];
- snprintf(led, sizeof(led), "\n%s %s %s",
- (host_keyboard_leds() & (1<
-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 .
-*/
-
-#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_latam/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2_latam/keymaps/five_rows_jis/keymap.c
deleted file mode 100644
index 0dae2524d84..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/keymap.c
+++ /dev/null
@@ -1,443 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_jp.h"
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-// * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. *
-// #define ADJUST_MACRO_ENABLE
-
-// * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. *
-// #define KANA_ENABLE
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// 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 {
- _BASE = 0,
- _BAS_E,
- _LOWER,
- _LOW_E,
- _RAISE,
- _RAI_E,
- _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)
-#define ML_LOW MO(_LOWER)
-#define ML_LOWE MO(_LOW_E)
-#define ML_RAI MO(_RAISE)
-#define ML_RAIE MO(_RAI_E)
-#define ML_ADJ MO(_ADJUST)
-
-#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty JIS Normal
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT( \
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, \
- JP_ZHTG, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, \
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, \
- KC_LCTL, KC_LALT, KC_LGUI, ML_ADJ, ML_LOW, KC_SPC, KC_BSPC, KC_SPC, KC_SPC, ML_RAI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT \
- ),
-
- /* Qwerty JIS Exchange L and R
- * ,-----------------------------------------. ,-----------------------------------------.
- * | 6& | 7' | 8( | 9) | 0 | -= | | Esc | 1! | 2" | 3# | 4$ | 5% |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Y | U | I | O | P | @` | | Tab | Q | W | E | R | T |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | H | J | K | L | ;+ | :* | | | A | S | D | F | G |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | N | M | ,< | .> | /? | Up |Enter |KANJI | Shift| Z | X | C | V | B |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Space |Raise | }] | APP | Left | Down |Right |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_BAS_E] = LAYOUT( \
- KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, \
- KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, \
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZHTG, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \
- KC_SPC, ML_RAIE, JP_RBRC, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, ML_ADJ, KC_LCTL, KC_LALT, KC_LGUI, JP_LBRC, ML_LOWE, KC_BSPC \
- ),
-
- /* Lower JIS Normal
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | -= | ^~ | \| |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | @` | [{ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | ;+ | :* | ]} |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | ,< | .> | /? | \_ |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | Del | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT( \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, \
- _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_DEL, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
- ),
-
- /* Lower JIS Exchange L and R
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | -= | ^~ | \| | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | @` | [{ | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | ;+ | :* | ]} | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | ,< | .> | /? | \_ |PageUp| | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | Home |PageDn| End | | | | | | | Del |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOW_E] = LAYOUT( \
- _______, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_PGUP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, XXXXXXX, _______, KC_DEL \
- ),
-
- /* Raise JIS Normal
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | |MsWhL |MsWhU | Home |PageUp| F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | |MsWhR |MsWhD | End |PageDn| |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | |MsBtn1|MsBtn2| MsUp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |MsLeft|MsDown|MsRght|
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT( \
- _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, KC_F12, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, \
- _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R \
- ),
-
- /* Raise JIS Exchange L and R
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F6 | F7 | F8 | F9 | F10 | F11 | | | F1 | F2 | F3 | F4 | F5 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |MsWhL |MsWhU | F12 | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |MsWhR |MsWhD | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | |MsBtn1|MsBtn2| MsUp | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |MsLeft|MsDown|MsRght| | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAI_E] = LAYOUT( \
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, \
- XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_F12, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, _______, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX \
- ),
-
- /* Adjust (Lower + Raise) Common map for Normal and Exchange
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | Reset|RGBRST| | | | | | Reset|RGBRST| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | |
- * |------+------+------+------+------+------| |------+------+------+------+------|------+
- * | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|------+
- * | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT( \
- XXXXXXX, RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, \
- XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, \
- XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-};
-
-#else
-#error "undefined keymaps"
-#endif
-
-#ifdef SSD1306OLED
-char keylog[24] = {};
-const char code_to_name[60] = {
- ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
- 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ',
- ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '};
-
-static inline void set_keylog(uint16_t keycode, keyrecord_t *record)
-{
- char name = ' ';
- uint8_t leds = host_keyboard_leds();
-
- if (keycode < 60)
- {
- name = code_to_name[keycode];
- }
-
- // update keylog
- snprintf(keylog, sizeof(keylog), "\n%dx%d %2x %c %c %c %c",
- record->event.key.row,
- record->event.key.col,
- keycode,
- name,
- (leds & (1<event.pressed) {
- set_keylog(keycode, record);
- }
- #endif
-
- switch (keycode) {
- #ifdef RGBLIGHT_ENABLE
- //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 RGB_MOD:
- if (record->event.pressed) {
- rgblight_mode(RGB_current_mode);
- rgblight_step();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- #ifdef KANA_ENABLE
- case EISU:
- if (record->event.pressed) {
- if (keymap_config.swap_lalt_lgui==false) {
- register_code(KC_LANG2);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG2);
- }
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG1);
- }
- break;
- #endif
- #ifdef RGBLIGHT_ENABLE
- case RGBRST:
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- }
- break;
- #endif
- default:
- return true;
- }
-
- return false;
-}
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
-}
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-
-static inline void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-//assign the right code to your layers for OLED display
-#define L_BASE _BASE
-#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)
-#define L_LOW_E (1<<_LOW_E)
-#define L_RAI_E (1<<_RAI_E)
-#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E)
-
-const char 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,
- 0};
-
-static inline void render_logo(struct CharacterMatrix *matrix) {
-
- matrix_write(matrix, helix_logo);
-}
-
-const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
-
-static inline void render_status(struct CharacterMatrix *matrix) {
-
- char buf[20];
- // Render to mode icon
- if(keymap_config.swap_lalt_lgui==false){
- matrix_write(matrix, mac_win_logo[0][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, mac_win_logo[0][1]);
- } else {
- matrix_write(matrix, mac_win_logo[1][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, mac_win_logo[1][1]);
- }
-
- #ifdef RGBLIGHT_ENABLE
- snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode);
- matrix_write(matrix, buf);
- #endif
-
- // 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
- matrix_write_P(matrix, PSTR("\nLayer: "));
- switch (layer_state) {
- case L_BASE:
- matrix_write_P(matrix, default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base"));
- break;
- case L_RAISE:
- matrix_write_P(matrix, PSTR("Raise"));
- break;
- case L_RAI_E:
- matrix_write_P(matrix, PSTR("RaiseEx"));
- break;
- case L_LOWER:
- matrix_write_P(matrix, PSTR("Lower"));
- break;
- case L_LOW_E:
- matrix_write_P(matrix, PSTR("LowerEx"));
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- case L_ADJUST_TRIE:
- matrix_write_P(matrix, PSTR("Adjust"));
- break;
- default:
- snprintf(buf, sizeof(buf), "%d", (short)layer_state);
- matrix_write(matrix, buf);
- }
-
- matrix_write(matrix, keylog);
-}
-
-void iota_gfx_task_user(void) {
- struct CharacterMatrix matrix;
-
- #if DEBUG_TO_SCREEN
- if (debug_enable) {
- return;
- }
- #endif
-
- matrix_clear(&matrix);
- if (is_master) {
- render_status(&matrix);
- } else {
- render_logo(&matrix);
- }
-
- matrix_update(&display, &matrix);
-}
-
-#endif
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme.md b/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme.md
deleted file mode 100644
index ca408e39135..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Helix 5 rows JIS layout
-
-This keymap was created with the concept that users using Japanese JIS keyboard layout can operate without difficulty. It has the following features.
-
-* We are considering to be able to input long Japanese notes without moving the layer
-* We are arranging the relation of symbols that can not fit in the Lower layer keeping the positional relationship
-* The four-way key is in a convex arrangement
-* Ctrl, Shift, Tab, Kanji, Esc, GUI (Win), App keys are arranged keeping positional relationship
-* Lower / Raise keymap is considering easy placement so that it can be used without memorizing
-
-This keymap also includes a "NORMAL" keymap that uses Helix's split keyboard as usual, and an "EXCHANGE" key that exchanges left and right sides of Helix's split keyboard for key position optimization I am trying to switch maps. These have the following additional features.
-
-## NORMAL Keymap
-
-* It is possible to press the N key with the left index finger and the B key with the right index finger
-
-## EXCHANGE Keymap
-
-* By using the 2 key under Pro micro effectively add `` `[{` `` `` `]]` ``, `` `/?` `` Keys to NORMAL's base keymap And make inputs other than the `` `\ _` `` key possible with the base map
-* To avoid mistakes in pressing the Kanji key and the Enter key, we are moving to the 2 key.
-
-## 配列
-
-### NORMAL Keymap
-
- Adjust + ModExc key switches to the NORMAL keymap.
-
-Base Layer
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right |
- `-------------------------------------------------------------------------------------------------'
-```
-
-Lower Layer
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | | | | | | | | | | -= | ^~ | \| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | | @` | [{ |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | ;+ | :* | ]} |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | ,< | .> | /? | \_ |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | Del | | | | | | | |
- `-------------------------------------------------------------------------------------------------'
-```
-
-Raise Layer
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | F12 | | | | Home |PageUp|
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | | End |PageDn|
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | |MsLeft|MsDown|MsRght|
- `-------------------------------------------------------------------------------------------------'
-```
-
-### EXCHANGE Keymap
-
-Adjust + ModExc key switches to the EXCHANGE keymap.
-
-Base Layer
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | Tab | Q | W | E | R | T || Y | U | I | O | P | @` |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | A | S | D | F | G || H | J | K | L | ;+ | :* |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right |
- `------------------------------------------------'`------------------------------------------------'
-```
-
-Lower Layer
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | | | | | | || | | | -= | ^~ | \| |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | | @` | [{ |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | ;+ | :* | ]} |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- | | | | | | | || | ,< | .> | /? | \_ |PageUp| |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- | | | | | | | Del || | | | | Home |PageDn| End |
- `------------------------------------------------'`------------------------------------------------'
-```
-
-Raise Layer
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || F12 | | | | | |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | | | |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- | | | | | | | || | | | |MsLeft|MsDown|MsRght|
- `------------------------------------------------'`------------------------------------------------'
-```
-
-### NORMAL/EXCHANGE common Layer
-
-Adjust Layer
-
- NORMAL / EXCHANGE This layer is used in common. The same items are arranged in the same row on both sides so that they can be used in common.
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | |
- |------+------+------+------+------+------| |------+------+------+------+------|------+
- | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------|------+
- | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | | | | |
- `-------------------------------------------------------------------------------------------------'
-```
-
-## How to compile these program
-
- See the readme of the Default keymap.
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme_jp.md b/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme_jp.md
deleted file mode 100644
index 442984f6ff5..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/readme_jp.md
+++ /dev/null
@@ -1,173 +0,0 @@
-# Helix 5 rows JIS layout
-
-## コンセプト
-
-このキーマップは日本語JISキーボード配列を利用しているユーザーが無理なく操作出来るというコンセプトで作成しました。以下の特徴があります。
-
-* 日本語の長音記号をレイヤーを移動せずに入力可能なように考慮しています
-* 入りきらない記号関連をLowerレイヤーに位置関係を維持して配置しています
-* 十字キーを凸配置にしています
-* Ctrl,Shift,Tab,漢字,Esc,GUI(Win),Appの各キーは位置関係を維持して配置しています
-* Lower/Raiseキーマップは暗記しないでも使えるようにわかりやすい配置を考慮しています
-
- またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップをバイナリの書き換えなしに切り替えられるようにしています。これらにはさらに以下の特徴があります。
-
-### NORMALキーマップ
-
-* Nキーを左人差し指で、Bキーを右人差し指で押下することが可能
-
-### EXCHANGEキーマップ
-
-* Pro micro下の2キーを有効に使うことにより、NORMALのベースキーマップに```[{```,```}]```,```/?```の各キーを追加し、```\_```キー以外の入力をベースマップで可能にしています
-* 漢字キー,Enterキーの押し間違いを避けるためPro micro下の2キーに移動しています
-
-## カスタマイズ
-
-Normal/Exchangeにそれぞれ、Base,Lower,Raiseの各レイヤーを備え、2マップ3レイヤー、共通1レイヤー(Adjust)の全7種のレイヤーを備えています。
-ファームの書き換えなしにキーマップを別のものに切り替えられるので、片方は通常のキーマップ、もう片方は画像や動画編集用のキーマップや別の変態配置のキーマップにすれば、状況に応じて簡単に切り替えられます。
-
-## 配列
-
-### NORMAL
-
- Adjust + ModNrmキーでNORMALキーマップに切り替わります。
-
-#### Baseレイヤー
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right |
- `-------------------------------------------------------------------------------------------------'
-```
-
-#### Lowerレイヤー
-
- 記号キーと、BackSpace位置にDeleteキーを配置しています。
- 例えば```|```キーを入力する場合、Lower + Shift + \キーで入力することが出来ます。
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | | | | | | | | | | -= | ^~ | \| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | | @` | [{ |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | ;+ | :* | ]} |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | ,< | .> | /? | \_ |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | Del | | | | | | | |
- `-------------------------------------------------------------------------------------------------'
-```
-
-#### Raiseレイヤー
-
- rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。
- また、F1-F12キーをHHKBライクに使えるように横並びにしました。
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | F12 | | | | Home |PageUp|
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | | End |PageDn|
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | |MsLeft|MsDown|MsRght|
- `-------------------------------------------------------------------------------------------------'
-```
-
-### EXCHANGEキーマップ
-
- Adjust + ModExcキーでEXCHANGEキーマップに切り替わります。
- HelixのUSBやフォンケーブルの接続は変更せず、分割された左右のキーボードを入れ替えて使います。
-
-#### Baseレイヤー
-
- ちょっと無理やりですが```[{```,```}]```キーを突っ込んでいます。
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | Tab | Q | W | E | R | T || Y | U | I | O | P | @` |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | A | S | D | F | G || H | J | K | L | ;+ | :* |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right |
- `------------------------------------------------'`------------------------------------------------'
-```
-
-#### Lowerレイヤー
-
- 記号キーと、BackSpace位置にDeleteキーを配置しています。
- PageDown/Up, Home/EndをCtrl+十字キーの延長線上で使用できるように配置しています。
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | | | | | | || | | | -= | ^~ | \| |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | | @` | [{ |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | ;+ | :* | ]} |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- | | | | | | | || | ,< | .> | /? | \_ |PageUp| |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- | | | | | | | Del || | | | | Home |PageDn| End |
- `------------------------------------------------'`------------------------------------------------'
-```
-
-#### Raiseレイヤー
-
- rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。
- また、F1-F12キーをHHKBライクに使えるように横並びにしました。
- マウスキーは十字キーの延長線上で使用できるように配置しています。
-
-```
- ,-----------------------------------------.,-----------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || F12 | | | | | |
- |------+------+------+------+------+------||------+------+------+------+------+------|
- | | | | | | || | | | | | |
- ,------+------+------+------+------+------+------||------+------+------+------+------+------+------.
- | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | |
- |------+------+------+------+------+------+------||------+------+------+------+------+------+------|
- | | | | | | | || | | | |MsLeft|MsDown|MsRght|
- `------------------------------------------------'`------------------------------------------------'
-```
-
-### NORMAL/EXCHANGE共通レイヤー
-
-Adjustレイヤー
-
- NORMAL/EXCHANGE共通で利用するレイヤーです。共通で使えるように両側同じ並びで同じものを配置しています。
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | |
- |------+------+------+------+------+------| |------+------+------+------+------|------+
- | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------|------+
- | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | |
- |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- | | | | | | | | | | | | | | |
- `-------------------------------------------------------------------------------------------------'
-```
-
-## コンパイルの仕方
-
- Defaultキーマップのreadmeを参照してください。
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy/config.h b/keyboards/helix/rev2_latam/keymaps/froggy/config.h
deleted file mode 100644
index 517368ae941..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy/config.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
-#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
-
-// 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_latam/keymaps/froggy/helixfont.h b/keyboards/helix/rev2_latam/keymaps/froggy/helixfont.h
deleted file mode 100644
index 5360eace95b..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#pragma once
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-static const unsigned char font[] PROGMEM = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
-0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
-0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
-0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
-0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
-0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
-0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
-0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
-0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
-0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
-0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
-0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
-0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
-0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
-0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
-0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
-0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
-0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
-0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
-0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
-0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
-0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
-0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
-0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
-0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
-0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
-0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
-0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
-0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
-0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
-0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
-0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
-0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
-0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
-0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
-0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
-0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
-0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
-0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
-0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
-0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
-0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
-0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
-0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
-0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
-0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
-0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
-0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
-0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
-0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
-0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
-0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
-0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
-0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
-0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
-0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
-0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
-0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
-0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
-0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
-0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
-0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
-0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
-0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
-0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
-0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
-0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
-0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
-0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
-0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
-0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
-0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
-0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
-0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
-0xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
-0x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
-0x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x00, 0x00, 0x24, 0xA4,
-0xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
-0x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
-0x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
-0xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
-0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
-0x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
-0x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
-0xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
-0x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
-0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
-0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
-0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
-0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
-0x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
-0x41, 0x41, 0x41, 0x41, 0x41, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x41,
-0x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
-0x00, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
-0x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
-0x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
-0xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x02, 0x0D, 0x02,
-0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x57, 0x50,
-0x57, 0x54, 0x57, 0x10, 0x50, 0x00,
-0x00, 0x00, 0x97, 0x94, 0x97, 0x94,
-0xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
-0x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
-0x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
-0xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
-0x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
-0x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
-0x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x20, 0x20, 0x50,
-0x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
-0x40, 0x30, 0x40, 0x80, 0x89, 0x09,
-0x06, 0x09, 0x09, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
-0x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
-0x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
-0x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
-0x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
-0x47, 0x46, 0x46, 0x46, 0x43, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
-0x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x06, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
-0x36, 0x08, 0x08, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
-0x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
-0x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy/keymap.c b/keyboards/helix/rev2_latam/keymaps/froggy/keymap.c
deleted file mode 100644
index 15fe1afb0cb..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy/keymap.c
+++ /dev/null
@@ -1,742 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-extern keymap_config_t keymap_config;
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-#define DELAY_TIME 75
-static uint16_t key_timer;
-static uint16_t tap_timer;
-static uint16_t delay_registered_code;
-static uint8_t delay_mat_row;
-static uint8_t delay_mat_col;
-static bool delay_key_stat;
-static bool delay_key_pressed;
-static bool tapping_key;
-
-// 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.
-#define _BASE 0
-#define _OPT 1
-#define _FUNC 2
-#define _SYM 3
-#define _NUM 4
-
-bool RGBAnimation = false; //Flag for LED Layer color Refresh.
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- EISU,
- KANA,
- RGBRST,
- RGBOFF,
- RGB1,
- RGB2,
- RGB3,
- OPT_TAP_SP,
- DESKTOP,
- MAC,
- WIN,
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
-#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base
- * ,-----------------------------------------. ,-----------------------------------------.
- * | C+z | ; | [ | ( | < | { | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | KANA | P | K | R | A | F | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | BS | D | T | H | E | O | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Y | S | N | I | U |Space | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT( \
- LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, _______, _______, _______, _______, _______, _______, \
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MO(_SYM), MO(_NUM), OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Opt
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | : | ] | ) | > | } | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | EISU| J | M | B | ' | Tab | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | V | C | L | Z | Q | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | X | G | W | - | Del | Esc | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | , | DTOP | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_OPT] = LAYOUT( \
- KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, _______, _______, _______, _______, _______, _______, \
- EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \
- _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Func
- * ,-----------------------------------------. ,-----------------------------------------.
- * |RGBRST| Hue | | RST | Mac | Win | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB1 | VAL+ | F7 | F8 | F9 | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB2 | VAL- | F4 | F5 | F6 | F12 | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB3 | F10 | F1 | F2 | F3 | F11 | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |RGBOFF| | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_FUNC] = LAYOUT( \
- RGBRST,RGB_HUI, _______, RESET, MAC, WIN, _______, _______, _______, _______, _______, _______, \
- RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______, _______, _______, _______, _______, _______, _______, \
- RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, _______, _______, _______, _______, _______, _______, \
- RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______, \
- RGBOFF,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Sym
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Ins | GRV | | PU | PD | ^ | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | \ | # | = | ? | % | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | $ | upA | @ | ! | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | CL | <- | dwA | -> | _ | & | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | PS | | ~ | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_SYM] = LAYOUT( \
- KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, _______, _______, _______, _______, _______, _______, \
- _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, _______, _______, _______, _______, _______, _______, \
- _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, _______, _______, _______, _______, _______, _______, \
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PSCR, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | Func | home | End | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | * | 7 | 8 | 9 | - | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | / | 4 | 5 | 6 | + | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | LN | 0 | 1 | 2 | 3 |C+S+F1| | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | , | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_NUM] = LAYOUT( \
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \
- _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, _______, _______, _______, _______, \
- KC_PDOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, _______, _______, _______, _______, _______, \
- KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PDOT, KC_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- )
-};
-#else
-#error "undefined keymaps"
-#endif
-
-
-#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);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-#endif
-
-// define variables for reactive RGB
-//bool TOG_STATUS = false;
-int RGB_current_mode;
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
- for(uint8_t i=0; ievent.key.col;
- row = record->event.key.row;
- if (record->event.pressed && ((row < 5 && is_master) || (row >= 5 && !is_master))) {
- int end = keybuf_end;
- keybufs[end].col = col;
- keybufs[end].row = row % 5;
- keybufs[end].frame = 0;
- keybuf_end ++;
- }
- #endif
-
- if(tap_timer&&keycode!=OPT_TAP_SP){
- tapping_key = true;
- }
-
- if(keycode==delay_registered_code){
- if (!record->event.pressed){
- unregister_delay_code();
- }
- }
-
- switch (keycode) {
- case KC_SCLN:
- case KC_LBRC:
- case KC_LPRN:
- case KC_LT:
- case KC_LCBR:
- case KC_P:
- case KC_K:
- case KC_R:
- case KC_A:
- case KC_F:
- case KC_BSPC:
- case KC_D:
- case KC_T:
- case KC_H:
- case KC_E:
- case KC_O:
- case KC_Y:
- case KC_S:
- case KC_N:
- case KC_I:
- case KC_U:
- case LCTL(KC_Z):
- case KC_SPC:
- if (record->event.pressed) {
- register_delay_code(_BASE);
- if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
- key_timer = timer_read();
- delay_key_stat = true;
- delay_key_pressed = true;
- }
- }else{
- delay_key_pressed = false;
- }
- return false;
- break;
- case OPT_TAP_SP:
- if (record->event.pressed) {
- tapping_key = false;
- register_delay_code(_OPT);
- layer_on(_OPT);
- tap_timer = timer_read();
- }else{
- layer_off(_OPT);
- if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
- SEND_STRING(" ");
- }
- tap_timer = 0;
- }
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG1);
- }
- return false;
- break;
- case DESKTOP:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_F11);
- }else{
- SEND_STRING(SS_LGUI("d"));
- }
- } else {
- unregister_code(KC_F11);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGB_current_mode = rgblight_config.mode;
- RGBAnimation = false;
- }
- #endif
- break;
- case RGBOFF:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_disable();
- }
- #endif
- break;
- case RGB1:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- case RGB2:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- case RGB3:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- RGB_current_mode = rgblight_config.mode;
- }
- #endif
- break;
- case MAC:
- if (record->event.pressed) {
- keymap_config.swap_lalt_lgui = false;
- keymap_config.swap_ralt_rgui = false;
- #ifdef AUDIO_ENABLE
- PLAY_SONG(ag_norm_song);
- #endif
- }
- break;
- case WIN:
- if (record->event.pressed) {
- keymap_config.swap_lalt_lgui = true;
- keymap_config.swap_ralt_rgui = true;
- #ifdef AUDIO_ENABLE
- PLAY_SONG(ag_swap_song);
- #endif
- }
- break;
- }
- return true;
-}
-
-
-//keyboard start-up code. Runs once when the firmware starts up.
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
-}
-
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
-}
-
-void shutdown_user()
-{
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-
-//assign the right code to your layers for OLED display
-#define L_BASE 0
-#define L_OPT 2
-#define L_FUNC 4
-#define L_SYM 8
-#define L_NUM 16
-#define L_FNLAYER 64
-#define L_NUMLAY 128
-#define L_NLOWER 136
-#define L_NFNLAYER 192
-#define L_MOUSECURSOR 256
-
-// LED Effect
-#ifdef RGBLIGHT_ENABLE
-unsigned char rgb[7][5][3];
-void led_ripple_effect(char r, char g, char b) {
- static int scan_count = -10;
- static int keys[] = { 6, 6, 6, 7, 7 };
- static int keys_sum[] = { 0, 6, 12, 18, 25 };
-
- if (scan_count == -1) {
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- } else if (scan_count >= 0 && scan_count < 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- // FIXME:
-
- int y = scan_count;
- int dist_y = abs(y - keybufs[i].row);
- for (int x=0; x= 6 && scan_count <= 10) {
- int y = scan_count - 6;
- for (int x=0; x= 12) { scan_count = 0; }
-}
-#endif
-
-uint8_t layer_state_old;
-
-//runs every scan cycle (a lot)
-void matrix_scan_user(void) {
- #ifdef SSD1306OLED
- iota_gfx_task(); // this is what updates the display continuously
- #endif
-
- if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
- register_delay_code(_BASE);
- if(!delay_key_pressed){
- unregister_delay_code();
- }
- }
-
- if(layer_state_old != layer_state){
- switch (layer_state) {
- case L_BASE:
- break;
- case L_OPT:
- register_delay_code(_OPT);
- break;
- case L_NUM:
- register_delay_code(_NUM);
- break;
- case L_SYM:
- register_delay_code(_SYM);
- break;
- case L_FUNC:
- register_delay_code(_FUNC);
- break;
- }
- layer_state_old = layer_state;
- }
-
- #ifdef RGBLIGHT_ENABLE
- if(!RGBAnimation){
- switch (layer_state) {
- case L_BASE:
- #ifdef RGBLED_BACK
- led_ripple_effect(0,112,127);
- #else
- rgblight_setrgb(0,112,127);
- #endif
- break;
- case L_OPT:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,100);
- #else
- rgblight_setrgb(127,0,100);
- #endif
- break;
- case L_NUM:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,23,0);
- #else
- rgblight_setrgb(127,23,0);
- #endif
- break;
- case L_SYM:
- #ifdef RGBLED_BACK
- led_ripple_effect(0,127,0);
- #else
- rgblight_setrgb(0,127,0);
- #endif
- break;
- case L_FUNC:
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,61);
- #else
- rgblight_setrgb(127,0,61);
- #endif
- break;
- }
- }
- #endif
-}
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-// Render to OLED
-void render_status(struct CharacterMatrix *matrix) {
-
- // froggy logo
- static char logo[4][1][17]=
- {
- {
- {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}
- },
- {
- {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}
- },
- {
- {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}
- },
- {
- {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}
- }
- };
-
- static char indctr[8][2][4]=
- {
- // white icon
- {
- {0x60,0x61,0x62,0},
- {0x63,0x64,0}
- },
- {
- {0x80,0x81,0x82,0},
- {0x83,0x84,0}
- },
- {
- {0xa0,0xa1,0xa2,0},
- {0xa3,0xa4,0}
- },
- {
- {0xc0,0xc1,0xc2,0},
- {0xc3,0xc4,0}
- },
- // Black icon
- {
- {0x75,0x76,0x77,0},
- {0x78,0x79,0}
- },
- {
- {0x95,0x96,0x97,0},
- {0x98,0x99,0}
- },
- {
- {0xb5,0xb6,0xb7,0},
- {0xb8,0xb9,0}
- },
- {
- {0xd5,0xd6,0xd7,0},
- {0xd8,0xd9,0}
- },
- };
-
- int rown = 0;
- int rowf = 0;
- int rowa = 0;
- int rows = 0;
-
- //Set Indicator icon
- if (host_keyboard_leds() & (1< | } |
-|------+------+------+------+------+------|
-| EISU | J | M | B | ' | Tab |
-|------+------+------+------+------+------|
-| . | V | C | L | Z | Q |
-|------+------+------+------+------+------+------.
-| | X | G | W | - | Del | Esc |
-|------+------+------+------+------+------+------|
-| | | | , | DTOP | | |
-`------------------------------------------------'
-```
-
-### Num
-```
-,-----------------------------------------.
-| | | Func | home | End | |
-|------+------+------+------+------+------|
-| | * | 7 | 8 | 9 | - |
-|------+------+------+------+------+------|
-| . | / | 4 | 5 | 6 | + |
-|------+------+------+------+------+------+------.
-| LN | 0 | 1 | 2 | 3 |C+S+F1| |
-|------+------+------+------+------+------+------|
-| | | | , | | | |
-`------------------------------------------------'
-```
-
-### Sym
-```
-,-----------------------------------------.
-| Ins | GRV | | PU | PD | ^ |
-|------+------+------+------+------+------|
-| | \ | # | = | ? | % |
-|------+------+------+------+------+------|
-| | $ | upA | @ | ! | | |
-|------+------+------+------+------+------+------.
-| CL | <- | dwA | -> | _ | & | |
-|------+------+------+------+------+------+------|
-| | | PS | | ~ | | |
- `-----------------------------------------------'
-```
-
-### Func
-```
-,-----------------------------------------.
-|RGBRST| Hue | | RST | Mac | Win |
-|------+------+------+------+------+------|
-| RGB1 | VAL+ | F7 | F8 | F9 | |
-|------+------+------+------+------+------|
-| RGB2 | VAL- | F4 | F5 | F6 | F12 |
-|------+------+------+------+------+------+------.
-| RGB3 | F10 | F1 | F2 | F3 | F11 | |
-|------+------+------+------+------+------+------|
-|RGBOFF| | | | | | |
-`------------------------------------------------'
-```
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy/rules.mk b/keyboards/helix/rev2_latam/keymaps/froggy/rules.mk
deleted file mode 100644
index 5a0fd9a2b18..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy/rules.mk
+++ /dev/null
@@ -1,23 +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つの変数を必要に応じて編集し、コメントアウトをはずします。
-HELIX_ROWS = 5 # Helix Rows is 4 or 5
-OLED_ENABLE = yes # OLED_ENABLE
-LOCAL_GLCDFONT = yes # 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)
-
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy_106/config.h b/keyboards/helix/rev2_latam/keymaps/froggy_106/config.h
deleted file mode 100644
index 36c3f2a7999..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy_106/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#pragma once
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
-#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
-#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
-
-// 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_latam/keymaps/froggy_106/helixfont.h b/keyboards/helix/rev2_latam/keymaps/froggy_106/helixfont.h
deleted file mode 100644
index 3a79a1937ba..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy_106/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
-// See gfxfont.h for newer custom bitmap font info.
-
-#pragma once
-
-#include "progmem.h"
-
-// Standard ASCII 5x7 font
-
-static const unsigned char font[] PROGMEM = {
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
-0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
-0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
-0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
-0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
-0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
-0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
-0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
-0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
-0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
-0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
-0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
-0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
-0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
-0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
-0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
-0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
-0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
-0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
-0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
-0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
-0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
-0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
-0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
-0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
-0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
-0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
-0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
-0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
-0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
-0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
-0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
-0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
-0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
-0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
-0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
-0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
-0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
-0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
-0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
-0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
-0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
-0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
-0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
-0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
-0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
-0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
-0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
-0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
-0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
-0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
-0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
-0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
-0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
-0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
-0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
-0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
-0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
-0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
-0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
-0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
-0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
-0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
-0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
-0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
-0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
-0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
-0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
-0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
-0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
-0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
-0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
-0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
-0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
-0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
-0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
-0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
-0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
-0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
-0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
-0xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
-0x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
-0x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
-0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFC,
-0xFC, 0x00, 0xFC, 0xFC, 0xF0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x20, 0x00, 0x00, 0x24, 0xA4,
-0xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
-0x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
-0x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
-0xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
-0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
-0x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
-0x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
-0xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
-0x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
-0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
-0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
-0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
-0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
-0x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
-0x41, 0x41, 0x41, 0x41, 0x41, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x40, 0x40, 0x40, 0x40, 0x41,
-0x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
-0x00, 0x20, 0x3C, 0x3E, 0x3E, 0x3E,
-0x3E, 0x00, 0x3E, 0x3E, 0x3E, 0x3E,
-0x38, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
-0x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
-0x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
-0xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-0x00, 0x04, 0x04, 0x1B, 0x04, 0x04,
-0x00, 0x00, 0x00, 0x00, 0x57, 0x50,
-0x57, 0x54, 0x57, 0x10, 0x50, 0x00,
-0x00, 0x00, 0x97, 0x94, 0x97, 0x94,
-0xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
-0x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
-0x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
-0xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
-0x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
-0x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
-0x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
-0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
-0x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
-0x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x20, 0x20, 0x50,
-0x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x09, 0x09,
-0x06, 0x09, 0x09, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
-0x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
-0x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
-0x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
-0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
-0xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
-0x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
-0x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
-0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
-0x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
-0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFC,
-0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
-0x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
-0x47, 0x46, 0x46, 0x46, 0x43, 0x40,
-0x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
-0x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
-0x00, 0x00, 0x00, 0x3E, 0x73, 0x60,
-0x70, 0x3E, 0x07, 0x03, 0x67, 0x3E,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x06, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x08, 0x08,
-0x36, 0x08, 0x08, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
-0x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
-0x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
-0x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
-0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
-0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
-0x00, 0x00, 0x00, 0x03, 0x03, 0x03,
-0x03, 0x3F, 0x63, 0x63, 0x63, 0x3F,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
-0x00, 0x00, 0x07, 0x1F, 0x3F, 0x0F,
-0x07, 0x0F, 0x3F, 0x3F, 0x0F, 0x00,
-0x03, 0x06, 0x00, 0xF0, 0xFB, 0xFB,
-};
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2_latam/keymaps/froggy_106/keymap.c
deleted file mode 100644
index d32c4fa0ca5..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy_106/keymap.c
+++ /dev/null
@@ -1,822 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_jp.h"
-#include
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-extern uint8_t is_master;
-
-#define DELAY_TIME 75
-static uint16_t key_timer;
-static uint16_t tap_timer;
-static uint16_t delay_registered_code;
-static uint8_t delay_registered_layer;
-static uint8_t delay_mat_row;
-static uint8_t delay_mat_col;
-static bool delay_key_stat;
-static bool delay_key_pressed;
-static bool tapping_key;
-
-// 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 {
- _BASE = 0,
- _BASE_106,
- _OPT,
- _OPT_106,
- _SYM,
- _SYM_106,
- _NUM,
- _NUM_106,
- _FUNC,
- _LAYER_NUM,
-};
-bool RGBAnimation = false; //Flag for LED Layer color Refresh.
-
-typedef union {
- uint32_t raw;
- struct {
- bool mac_mode:1;
- };
-} user_config_t;
-user_config_t user_config;
-
-#define IS_MODE_106() ((default_layer_state & (1UL << _BASE_106)) != 0)
-#define IS_MODE_MAC() (user_config.mac_mode)
-#ifndef MAX
-#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
-#endif
-#ifndef MIN
-#define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
-#endif
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- EISU,
- KANA,
- RGBRST,
- RGBOFF,
- RGB1,
- RGB2,
- RGB3,
- OPT_TAP_SP,
- DESKTOP,
- MAC,
- WIN,
- L_SYM,
- L_NUM,
- TO_106,
- TO_101,
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
-#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base
- * ,-----------------------------------------. ,-----------------------------------------.
- * | C+z | ; | [ | ( | < | { | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | KANA | P | K | R | A | F | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | BS | D | T | H | E | O | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Y | S | N | I | U |Space | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT( \
- LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR, _______, _______, _______, _______, _______, _______, \
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [_BASE_106] = LAYOUT( \
- LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LT, JP_LCBR, _______, _______, _______, _______, _______, _______, \
- KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \
- KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \
- OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Opt
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | : | ] | ) | > | } | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | EISU| J | M | B | ' | Tab | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | V | C | L | Z | Q | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | X | G | W | - | Del | Esc | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | , | DTOP | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_OPT] = LAYOUT( \
- KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR, _______, _______, _______, _______, _______, _______, \
- EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \
- _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [_OPT_106] = LAYOUT( \
- KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_GT, JP_RCBR, _______, _______, _______, _______, _______, _______, \
- EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \
- KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \
- _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Sym
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Ins | GRV | | PU | PD | ^ | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | \ | # | = | ? | % | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | $ | upA | @ | ! | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | CL | <- | dwA | -> | _ | & | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | PS | | ~ | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_SYM] = LAYOUT( \
- KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC, _______, _______, _______, _______, _______, _______, \
- _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC, _______, _______, _______, _______, _______, _______, \
- _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE, _______, _______, _______, _______, _______, _______, \
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PSCR, _______, KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [_SYM_106] = LAYOUT( \
- KC_INS, JP_GRV, _______, KC_PGUP, KC_PGDN, JP_CIRC, _______, _______, _______, _______, _______, _______, \
- _______, JP_BSLS, JP_HASH, JP_EQL, JP_QUES, JP_PERC, _______, _______, _______, _______, _______, _______, \
- _______, JP_DLR, KC_UP, JP_AT, JP_EXLM, JP_PIPE, _______, _______, _______, _______, _______, _______, \
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,JP_UNDS, JP_AMPR, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PSCR, _______, JP_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | Func | home | End | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | * | 7 | 8 | 9 | - | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | / | 4 | 5 | 6 | + | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | LN | 0 | 1 | 2 | 3 |C+S+F1| | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | . | , | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_NUM] = LAYOUT( \
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \
- _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, _______, _______, _______, _______, \
- KC_DOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, _______, _______, _______, _______, _______, \
- KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PDOT, KC_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [_NUM_106] = LAYOUT( \
- _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, \
- _______, JP_ASTR, KC_P7, KC_P8, KC_P9, JP_MINS, _______, _______, _______, _______, _______, _______, \
- KC_DOT, JP_SLSH, KC_P4, KC_P5, KC_P6, JP_PLUS, _______, _______, _______, _______, _______, _______, \
- KC_NLCK, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PDOT, JP_COMM, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
-
- /* Func
- * ,-----------------------------------------. ,-----------------------------------------.
- * |RGBRST| Hue |To101 | RST | Mac | Win | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB1 | VAL+ | F7 | F8 | F9 |To106 | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | RGB2 | VAL- | F4 | F5 | F6 | F12 | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | RGB3 | F10 | F1 | F2 | F3 | F11 | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |RGBOFF| | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_FUNC] = LAYOUT( \
- RGBRST,RGB_HUI, TO_101, RESET, MAC, WIN, _______, _______, _______, _______, _______, _______, \
- RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106, _______, _______, _______, _______, _______, _______, \
- RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12, _______, _______, _______, _______, _______, _______, \
- RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______, _______, _______, _______, _______, _______, _______, _______, \
- RGBOFF,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- )
-};
-#else
-#error "undefined keymaps"
-#endif
-
-void set_mac_mode(bool enable) {
- if(enable){
- user_config.mac_mode = true;
- keymap_config.swap_lalt_lgui = false;
- keymap_config.swap_ralt_rgui = false;
- }else{
- user_config.mac_mode = false;
- keymap_config.swap_lalt_lgui = true;
- keymap_config.swap_ralt_rgui = true;
- }
- eeconfig_update_user(user_config.raw);
-}
-
-void eeconfig_init_user(void) {
- user_config.raw = 0;
- eeconfig_update_user(user_config.raw);
-}
-
-void keyboard_post_init_user(void) {
- user_config.raw = eeconfig_read_user();
- set_mac_mode(user_config.mac_mode);
-}
-
-bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
- int base_keymap = IS_MODE_106() ? _BASE_106 : _BASE;
- for(uint8_t i=0; ievent.key.col;
- row = record->event.key.row;
- if (record->event.pressed && ((row < 5 && is_master) || (row >= 5 && !is_master))) {
- int end = keybuf_end;
- keybufs[end].col = col;
- keybufs[end].row = row % 5;
- keybufs[end].frame = 0;
- keybuf_end ++;
- }
- #endif
-
- if(tap_timer&&keycode!=OPT_TAP_SP){
- tapping_key = true;
- }
-
- if(keycode==delay_registered_code){
- if (!record->event.pressed){
- unregister_delay_code();
- }
- }
-
- switch (keycode) {
- case KC_SCLN:
- case KC_LBRC:
- case KC_LPRN:
- case KC_LT:
- case KC_LCBR:
- case KC_P:
- case KC_K:
- case KC_R:
- case KC_A:
- case KC_F:
- case KC_BSPC:
- case KC_D:
- case KC_T:
- case KC_H:
- case KC_E:
- case KC_O:
- case KC_Y:
- case KC_S:
- case KC_N:
- case KC_I:
- case KC_U:
- case LCTL(KC_Z):
- case KC_SPC:
- //case JP_SCLN: // == KC_SCLN
- case JP_LBRC:
- case JP_LPRN:
- //case JP_LT: // == KC_LT
- case JP_LCBR:
- if (IS_MODE_106()) {
- if (keycode == KC_LBRC || keycode == KC_LPRN || keycode == KC_LCBR)
- break;
- }else{
- if (keycode == JP_LBRC || keycode == JP_LPRN || keycode == JP_LCBR)
- break;
- }
- if (record->event.pressed) {
- if (IS_MODE_106())
- register_delay_code(_BASE_106);
- else
- register_delay_code(_BASE);
- if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
- key_timer = timer_read();
- delay_key_stat = true;
- delay_key_pressed = true;
- }
- }else{
- delay_key_pressed = false;
- }
- return false;
- break;
- case L_SYM:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- register_delay_code(_SYM_106);
- layer_on(_SYM_106);
- }else{
- register_delay_code(_SYM);
- layer_on(_SYM);
- }
- }else{
- layer_off(_SYM);
- layer_off(_SYM_106);
- if(delay_registered_layer == _SYM || delay_registered_layer == _SYM_106) {
- unregister_delay_code();
- }
- }
- return false;
- break;
- case L_NUM:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- register_delay_code(_NUM_106);
- layer_on(_NUM_106);
- }else{
- register_delay_code(_NUM);
- layer_on(_NUM);
- }
- }else{
- layer_off(_NUM);
- layer_off(_NUM_106);
- if(delay_registered_layer == _NUM || delay_registered_layer == _NUM_106) {
- unregister_delay_code();
- }
- }
- return false;
- break;
- case OPT_TAP_SP:
- if (record->event.pressed) {
- tapping_key = false;
- if (IS_MODE_106()) {
- register_delay_code(_OPT_106);
- layer_on(_OPT_106);
- }else{
- register_delay_code(_OPT);
- layer_on(_OPT);
- }
- tap_timer = timer_read();
- }else{
- layer_off(_OPT);
- layer_off(_OPT_106);
- if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
- SEND_STRING(" ");
- }else if(delay_registered_layer == _OPT || delay_registered_layer == _OPT_106) {
- unregister_delay_code();
- }
- tap_timer = 0;
- }
- return false;
- break;
- case EISU:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_LANG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_LANG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG1);
- }
- return false;
- break;
- case DESKTOP:
- if (record->event.pressed) {
- if(IS_MODE_MAC()){
- register_code(KC_F11);
- }else{
- SEND_STRING(SS_LGUI("d"));
- }
- } else {
- unregister_code(KC_F11);
- }
- return false;
- break;
- case RGBRST:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- RGBAnimation = false;
- }
- #endif
- break;
- case RGBOFF:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- rgblight_disable();
- }
- #endif
- break;
- case RGB1:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
- }
- #endif
- break;
- case RGB2:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
- }
- #endif
- break;
- case RGB3:
- #ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- RGBAnimation = true;
- rgblight_mode(RGBLIGHT_MODE_KNIGHT);
- }
- #endif
- break;
- case MAC:
- if (record->event.pressed) {
- set_mac_mode(true);
- }
- break;
- case WIN:
- if (record->event.pressed) {
- set_mac_mode(false);
- }
- break;
- case TO_101:
- if (record->event.pressed) {
- if (IS_MODE_106()) {
- set_single_persistent_default_layer(_BASE);
- }
- }
- break;
- case TO_106:
- if (record->event.pressed) {
- if (!IS_MODE_106()) {
- set_single_persistent_default_layer(_BASE_106);
- }
- }
- break;
- }
- return true;
-}
-
-
-//keyboard start-up code. Runs once when the firmware starts up.
-void matrix_init_user(void) {
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
-}
-
-// LED Effect
-#ifdef RGBLIGHT_ENABLE
-unsigned char rgb[7][5][3];
-void led_ripple_effect(char r, char g, char b) {
- static int scan_count = -10;
- static int keys[] = { 6, 6, 6, 7, 7 };
- static int keys_sum[] = { 0, 6, 12, 18, 25 };
-
- if (scan_count == -1) {
- rgblight_enable_noeeprom();
- rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
- } else if (scan_count >= 0 && scan_count < 5) {
- for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
- int i = c;
- // FIXME:
-
- int y = scan_count;
- int dist_y = abs(y - keybufs[i].row);
- for (int x=0; x= 6 && scan_count <= 10) {
- int y = scan_count - 6;
- for (int x=0; x= 12) { scan_count = 0; }
-}
-#endif
-
-layer_state_t layer_state_old;
-
-//runs every scan cycle (a lot)
-void matrix_scan_user(void) {
- #ifdef SSD1306OLED
- iota_gfx_task(); // this is what updates the display continuously
- #endif
-
- if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
- if (IS_MODE_106())
- register_delay_code(_BASE_106);
- else
- register_delay_code(_BASE);
- if(!delay_key_pressed){
- unregister_delay_code();
- }
- }
-
- if(layer_state_old != layer_state){
- for (int8_t i = _LAYER_NUM-1; i > _BASE_106; i--) {
- if(IS_LAYER_ON(i)){
- register_delay_code(i);
- break;
- }
- }
- layer_state_old = layer_state;
- }
-
- #ifdef RGBLIGHT_ENABLE
- if(!RGBAnimation){
- if(IS_LAYER_ON(_FUNC)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,23,0);
- #else
- rgblight_setrgb(127,23,0);
- #endif
- }else if(IS_LAYER_ON(_NUM)||IS_LAYER_ON(_NUM_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,61);
- #else
- rgblight_setrgb(127,0,61);
- #endif
- }else if(IS_LAYER_ON(_SYM)||IS_LAYER_ON(_SYM_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(0,127,0);
- #else
- rgblight_setrgb(0,127,0);
- #endif
- }else if(IS_LAYER_ON(_OPT)||IS_LAYER_ON(_OPT_106)){
- #ifdef RGBLED_BACK
- led_ripple_effect(127,0,100);
- #else
- rgblight_setrgb(127,0,100);
- #endif
- } else {
- #ifdef RGBLED_BACK
- led_ripple_effect(0,112,127);
- #else
- rgblight_setrgb(0,112,127);
- #endif
- }
- }
- #endif
-}
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-// Render to OLED
-void render_status(struct CharacterMatrix *matrix) {
-
- // froggy logo
- static char logo[4][17]=
- {
- {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0},
- {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0},
- {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0},
- {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0},
- };
-
- static char modectl[4][2][4]=
- {
- {
- {0x65,0x66,0x67,0}, //WIN
- {0x85,0x86,0x87,0}, //WIN
- },
- {
- {0xa5,0xa6,0xa7,0}, //US(101)
- {0xc5,0xc6,0xc7,0}, //US(101)
- },
- {
- {0xbd,0xbe,0xbf,0}, //MAC
- {0xdd,0xde,0xdf,0}, //MAC
- },
- {
- {0xba,0xbb,0xbc,0}, //JP(106)
- {0xda,0xdb,0xdc,0}, //JP(106)
- },
- };
-
- static char indctr[8][2][4]=
- {
- // white icon
- {
- {0x60,0x61,0x62,0}, //NUM
- {0x63,0x64,0} //FUNC
- },
- {
- {0x80,0x81,0x82,0}, //NUM
- {0x83,0x84,0} //FUNC
- },
- {
- {0xa0,0xa1,0xa2,0}, //CAPS
- {0xa3,0xa4,0} //SCLK
- },
- {
- {0xc0,0xc1,0xc2,0}, //CAPS
- {0xc3,0xc4,0} //SCLK
- },
- // Black icon
- {
- {0x75,0x76,0x77,0}, //NUM
- {0x78,0x79,0} //FUNC
- },
- {
- {0x95,0x96,0x97,0}, //NUM
- {0x98,0x99,0} //FUNC
- },
- {
- {0xb5,0xb6,0xb7,0}, //CAPS
- {0xb8,0xb9,0} //SCLK
- },
- {
- {0xd5,0xd6,0xd7,0}, //CAPS
- {0xd8,0xd9,0} //SCLK
- },
- };
-
- int rown = 0;
- int rowf = 0;
- int rowa = 0;
- int rows = 0;
- int rowm = 0;
- int rowj = 1;
-
- //Set Indicator icon
- if (host_keyboard_leds() & (1< | } |
-|------+------+------+------+------+------|
-| EISU | J | M | B | ' | Tab |
-|------+------+------+------+------+------|
-| . | V | C | L | Z | Q |
-|------+------+------+------+------+------+------.
-| | X | G | W | - | Del | Esc |
-|------+------+------+------+------+------+------|
-| | | | , | DTOP | | |
-`------------------------------------------------'
-```
-
-### Num
-```
-,-----------------------------------------.
-| | | Func | home | End | |
-|------+------+------+------+------+------|
-| | * | 7 | 8 | 9 | - |
-|------+------+------+------+------+------|
-| . | / | 4 | 5 | 6 | + |
-|------+------+------+------+------+------+------.
-| LN | 0 | 1 | 2 | 3 |C+S+F1| |
-|------+------+------+------+------+------+------|
-| | | | , | | | |
-`------------------------------------------------'
-```
-
-### Sym
-```
-,-----------------------------------------.
-| Ins | GRV | | PU | PD | ^ |
-|------+------+------+------+------+------|
-| | \ | # | = | ? | % |
-|------+------+------+------+------+------|
-| | $ | upA | @ | ! | | |
-|------+------+------+------+------+------+------.
-| CL | <- | dwA | -> | _ | & | |
-|------+------+------+------+------+------+------|
-| | | PS | | ~ | | |
- `-----------------------------------------------'
-```
-
-### Func
-```
-,-----------------------------------------.
-|RGBRST| Hue | to101| RST | Mac | Win |
-|------+------+------+------+------+------|
-| RGB1 | VAL+ | F7 | F8 | F9 | to106|
-|------+------+------+------+------+------|
-| RGB2 | VAL- | F4 | F5 | F6 | F12 |
-|------+------+------+------+------+------+------.
-| RGB3 | F10 | F1 | F2 | F3 | F11 | |
-|------+------+------+------+------+------+------|
-|RGBOFF| | | | | | |
-`------------------------------------------------'
-```
diff --git a/keyboards/helix/rev2_latam/keymaps/froggy_106/rules.mk b/keyboards/helix/rev2_latam/keymaps/froggy_106/rules.mk
deleted file mode 100644
index 5a0fd9a2b18..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/froggy_106/rules.mk
+++ /dev/null
@@ -1,23 +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つの変数を必要に応じて編集し、コメントアウトをはずします。
-HELIX_ROWS = 5 # Helix Rows is 4 or 5
-OLED_ENABLE = yes # OLED_ENABLE
-LOCAL_GLCDFONT = yes # 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)
-
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
diff --git a/keyboards/helix/rev2_latam/keymaps/yshrsmz/config.h b/keyboards/helix/rev2_latam/keymaps/latam/config.h
similarity index 93%
rename from keyboards/helix/rev2_latam/keymaps/yshrsmz/config.h
rename to keyboards/helix/rev2_latam/keymaps/latam/config.h
index b8c1041cdc7..3610c6ef13f 100644
--- a/keyboards/helix/rev2_latam/keymaps/yshrsmz/config.h
+++ b/keyboards/helix/rev2_latam/keymaps/latam/config.h
@@ -33,6 +33,6 @@ along with this program. If not, see .
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
- //#define RGBLIGHT_EFFECT_RGB_TEST
- //#define RGBLIGHT_EFFECT_ALTERNATING
+ #define RGBLIGHT_EFFECT_RGB_TEST
+ #define RGBLIGHT_EFFECT_ALTERNATING
#endif
diff --git a/keyboards/helix/rev2_latam/layers mapping/franco_rosi_latinoamerica.json b/keyboards/helix/rev2_latam/keymaps/latam/franco_rosi_latinoamerica.json
similarity index 100%
rename from keyboards/helix/rev2_latam/layers mapping/franco_rosi_latinoamerica.json
rename to keyboards/helix/rev2_latam/keymaps/latam/franco_rosi_latinoamerica.json
diff --git a/keyboards/helix/rev2_latam/keymaps/latam/keymap.c b/keyboards/helix/rev2_latam/keymaps/latam/keymap.c
new file mode 100644
index 00000000000..7c551cba060
--- /dev/null
+++ b/keyboards/helix/rev2_latam/keymaps/latam/keymap.c
@@ -0,0 +1,605 @@
+#include QMK_KEYBOARD_H
+#include "bootloader.h"
+#ifdef PROTOCOL_LUFA
+# include "lufa.h"
+# include "split_util.h"
+#endif
+#ifdef AUDIO_ENABLE
+# include "audio.h"
+#endif
+#ifdef SSD1306OLED
+# include "ssd1306.h"
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+// Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+uint8_t RGB_current_mode;
+HSV CURRENT_COLOR;
+void keyboard_post_init_user(void) {
+ rgblight_enable(); // Enables RGB, without saving settings
+ rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
+ RGB_current_mode = rgblight_config.mode;
+}
+#endif
+
+extern uint8_t is_master;
+
+// 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 };
+
+enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, RGBRST };
+
+#define LOWER MO(1)
+#define RAISE MO(2)
+
+// HELIX_ROWS == 5
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT(
+KC_GRV,
+ KC_1,
+ KC_2,
+ KC_3,
+ KC_4,
+ KC_5,
+ KC_6,
+ KC_7,
+ KC_8,
+ KC_9,
+ KC_0,
+ KC_DEL,
+ 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_CAPS,
+ KC_A,
+ KC_S,
+ KC_D,
+ KC_F,
+ KC_G,
+ KC_H,
+ KC_J,
+ KC_K,
+ KC_L,
+ KC_SCLN,
+ KC_ENT,
+ KC_LSFT,
+ KC_Z,
+ KC_X,
+ KC_C,
+ KC_V,
+ KC_B,
+ KC_QUOT,
+ KC_NUHS,
+ KC_N,
+ KC_M,
+ KC_COMM,
+ KC_DOT,
+ KC_SLSH,
+ KC_RSFT,
+ KC_LCTL,
+ KC_ESC,
+ KC_LGUI,
+ KC_LALT,
+ MO(2),
+ MO(1),
+ KC_SPC,
+ KC_SPC,
+ KC_RALT,
+ KC_LEFT,
+ KC_UP,
+ KC_DOWN,
+ KC_RGHT,
+ KC_RCTL
+),
+
+ [_LOWER] = 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,
+ KC_TRNS,
+ KC_TRNS,
+ KC_BRID,
+ KC_BRIU,
+ KC_TRNS,
+ KC_TRNS,
+ KC_PSCR,
+ KC_INS,
+ KC_TRNS,
+ KC_MINS,
+ KC_EQL,
+ KC_TRNS,
+ KC_TRNS,
+ KC_MUTE,
+ KC_VOLD,
+ KC_VOLU,
+ KC_MPLY,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_LBRC,
+ KC_RBRC,
+ KC_TRNS,
+ KC_TRNS,
+ KC_NUBS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,
+ KC_HOME,
+ KC_PGUP,
+ KC_PGDN,
+ KC_END,
+ KC_TRNS
+),
+
+ [_RAISE] = LAYOUT(
+KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ RGB_M_R,
+ RGB_M_K,
+ RGB_M_SN,
+ RGB_M_SW,
+ RGB_TOG,
+ KC_NO,
+ KC_NO,
+ RGB_MOD,
+ RGB_RMOD,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ RGB_M_G,
+ RGB_M_B,
+ RGB_M_P,
+ RGB_M_T,
+ RGB_M_X,
+ KC_NO,
+ KC_NO,
+ RGB_HUI,
+ RGB_HUD,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_TRNS,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO,
+ KC_NO
+ )};
+
+// define variables for reactive RGB
+bool TOG_STATUS = false;
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+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
+ persistent_default_layer_set(1UL << _QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_colemak);
+#endif
+ persistent_default_layer_set(1UL << _COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(tone_dvorak);
+#endif
+ persistent_default_layer_set(1UL << _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
+ RGB_current_mode = rgblight_config.mode;
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+ rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
+ rgblight_sethsv(HSV_BLUE);
+#endif
+ }
+ layer_on(_LOWER);
+ } else {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_mode(RGB_current_mode);
+ rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+#endif
+ TOG_STATUS = false;
+ layer_off(_LOWER);
+ }
+ 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
+ RGB_current_mode = rgblight_config.mode;
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+ rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
+ rgblight_sethsv(HSV_RED);
+#endif
+ }
+ layer_on(_RAISE);
+ } else {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_mode(RGB_current_mode);
+ rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+#endif
+ layer_off(_RAISE);
+ TOG_STATUS = false;
+ }
+ 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 RGB_MOD:
+#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 RGB_RMOD:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGB_current_mode);
+ rgblight_step_reverse();
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ // Estos faltan agregar...
+ // RGB_SPI,RGB_VAI,RGB_SAI,
+ // RGB_SPD,RGB_VAD,RGB_SAD,
+ case RGB_M_R:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD + 1);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_K:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_KNIGHT + 1);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_SN:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_SNAKE + 3);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_SW:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_G:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_B:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_BREATHING + 2);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_P:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_T:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_M_X:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
+ RGB_current_mode = rgblight_config.mode;
+ }
+#endif
+ return false;
+ break;
+ case RGB_HUI:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGB_current_mode);
+ RGB_current_mode = rgblight_config.mode;
+ rgblight_increase_hue();
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+ }
+#endif
+ return false;
+ break;
+ case RGB_HUD:
+#ifdef RGBLIGHT_ENABLE
+ if (record->event.pressed) {
+ rgblight_mode(RGB_current_mode);
+ RGB_current_mode = rgblight_config.mode;
+ rgblight_decrease_hue();
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+ }
+#endif
+ 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 AUDIO_ENABLE
+ startup_user();
+#endif
+#ifdef RGBLIGHT_ENABLE
+ RGB_current_mode = rgblight_config.mode;
+ CURRENT_COLOR = (HSV){rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
+#endif
+// SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
+#ifdef SSD1306OLED
+ iota_gfx_init(!has_usb()); // turns on the display
+#endif
+}
+
+#ifdef AUDIO_ENABLE
+
+void startup_user() {
+ _delay_ms(20); // gets rid of tick
+}
+
+void shutdown_user() {
+ _delay_ms(150);
+ stop_all_notes();
+}
+
+void music_on_user(void) { music_scale_user(); }
+
+void music_scale_user(void) { PLAY_SONG(music_scale); }
+
+#endif
+
+// SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
+#ifdef SSD1306OLED
+
+void matrix_scan_user(void) {
+ iota_gfx_task(); // this is what updates the display continuously
+}
+
+void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
+ if (memcmp(dest->display, source->display, sizeof(dest->display))) {
+ memcpy(dest->display, source->display, sizeof(dest->display));
+ dest->dirty = true;
+ }
+}
+
+// assign the right code to your layers for OLED display
+# define L_BASE 0
+# define L_LOWER (1 << _LOWER)
+# define L_RAISE (1 << _RAISE)
+static void render_logo(struct CharacterMatrix *matrix) {
+ 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};
+ matrix_write_P(matrix, helix_logo);
+ // matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
+}
+
+static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) {
+# ifdef RGBLIGHT_ENABLE
+ char buf[30];
+ if (RGBLIGHT_MODES > 1 && rgblight_config.enable) {
+ if (full) {
+ snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", rgblight_config.mode, rgblight_config.hue / RGBLIGHT_HUE_STEP, rgblight_config.sat / RGBLIGHT_SAT_STEP, rgblight_config.val / RGBLIGHT_VAL_STEP);
+ } else {
+ snprintf(buf, sizeof(buf), "[%2d] ", rgblight_config.mode);
+ }
+ matrix_write(matrix, buf);
+ }
+# endif
+}
+
+static void render_layer_status(struct CharacterMatrix *matrix) {
+ // 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];
+ matrix_write_P(matrix, PSTR("Layer: "));
+ switch (layer_state) {
+ case L_BASE:
+ matrix_write_P(matrix, PSTR("Default"));
+ break;
+ case L_RAISE:
+ matrix_write_P(matrix, PSTR("Raise"));
+ break;
+ case L_LOWER:
+ matrix_write_P(matrix, PSTR("Lower"));
+ break;
+ default:
+ matrix_write_P(matrix, PSTR("Undef-"));
+ snprintf(buf, sizeof(buf), "%ld", layer_state);
+ matrix_write(matrix, buf);
+ }
+}
+
+void render_status(struct CharacterMatrix *matrix) {
+ // 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 (keymap_config.swap_lalt_lgui == false) {
+ matrix_write_P(matrix, os_logo[0][0]);
+ matrix_write_P(matrix, PSTR("\n"));
+ matrix_write_P(matrix, os_logo[0][1]);
+ } else {
+ matrix_write_P(matrix, os_logo[1][0]);
+ matrix_write_P(matrix, PSTR("\n"));
+ matrix_write_P(matrix, os_logo[1][1]);
+ }
+
+ matrix_write_P(matrix, PSTR(" "));
+ render_layer_status(matrix);
+ matrix_write_P(matrix, PSTR("\n"));
+
+ // Host Keyboard LED Status
+ matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) ? PSTR("NUMLOCK") : PSTR(" "));
+ matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) ? PSTR("CAPS") : PSTR(" "));
+ matrix_write_P(matrix, (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) ? PSTR("SCLK") : PSTR(" "));
+ matrix_write_P(matrix, PSTR("\n"));
+ render_rgbled_status(true, matrix);
+}
+
+void iota_gfx_task_user(void) {
+ struct CharacterMatrix matrix;
+
+# if DEBUG_TO_SCREEN
+ if (debug_enable) {
+ return;
+ }
+# endif
+
+ matrix_clear(&matrix);
+ if (is_master) {
+ render_status(&matrix);
+ } else {
+ render_logo(&matrix);
+ render_rgbled_status(false, &matrix);
+ render_layer_status(&matrix);
+ }
+ matrix_update(&display, &matrix);
+}
+
+#endif
diff --git a/keyboards/helix/rev2_latam/layers mapping/readme.md b/keyboards/helix/rev2_latam/keymaps/latam/readme.md
similarity index 100%
rename from keyboards/helix/rev2_latam/layers mapping/readme.md
rename to keyboards/helix/rev2_latam/keymaps/latam/readme.md
diff --git a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2_latam/keymaps/latam/rules.mk
similarity index 87%
rename from keyboards/helix/rev2_latam/keymaps/five_rows_jis/rules.mk
rename to keyboards/helix/rev2_latam/keymaps/latam/rules.mk
index d44382f86ad..f67f40093a4 100644
--- a/keyboards/helix/rev2_latam/keymaps/five_rows_jis/rules.mk
+++ b/keyboards/helix/rev2_latam/keymaps/latam/rules.mk
@@ -6,11 +6,12 @@
# See TOP/docs/config_options.md for more information.
#
LTO_ENABLE = no # if firmware size over limit, try this option
-
+EXTRAKEY_ENABLE = yes # Audio control and System control
+# AUDIO_ENABLE = yes # Audio output on port C6
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
-HELIX_ROWS = 5 # Helix Rows is 4 or 5
+# HELIX_ROWS = 5 # Helix Rows is 4 or 5
# 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.)
diff --git a/keyboards/helix/rev2_latam/keymaps/led_test/README.md b/keyboards/helix/rev2_latam/keymaps/led_test/README.md
deleted file mode 100644
index 2fe67064527..00000000000
--- a/keyboards/helix/rev2_latam/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_latam/keymaps/led_test/config.h b/keyboards/helix/rev2_latam/keymaps/led_test/config.h
deleted file mode 100644
index e2bdf2f329f..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/led_test/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#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_latam/keymaps/led_test/keymap.c b/keyboards/helix/rev2_latam/keymaps/led_test/keymap.c
deleted file mode 100644
index 2811c7707a4..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/led_test/keymap.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../default/keymap.c"
diff --git a/keyboards/helix/rev2_latam/keymaps/led_test/led_test_init.c b/keyboards/helix/rev2_latam/keymaps/led_test/led_test_init.c
deleted file mode 100644
index 7f8813acdd8..00000000000
--- a/keyboards/helix/rev2_latam/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_latam/keymaps/led_test/rules.mk b/keyboards/helix/rev2_latam/keymaps/led_test/rules.mk
deleted file mode 100644
index 013ef1482d3..00000000000
--- a/keyboards/helix/rev2_latam/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つの変数を必要に応じて編集し、コメントアウトをはずします。
-# HELIX_ROWS = 5 # Helix Rows is 4 or 5
-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)
-
-SRC += led_test_init.c
-
-# convert Helix-specific options (that represent combinations of standard options)
-# into QMK standard options.
-include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
diff --git a/keyboards/helix/rev2_latam/keymaps/xulkal/config.h b/keyboards/helix/rev2_latam/keymaps/xulkal/config.h
deleted file mode 100644
index e2b325450a6..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/xulkal/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#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_latam/keymaps/xulkal/keymap.c b/keyboards/helix/rev2_latam/keymaps/xulkal/keymap.c
deleted file mode 100644
index fecdf4cbd24..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/xulkal/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "xulkal.h"
-
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-
-#define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BkSp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |FN(CAPS)| A | S | D | F | G | | H | J | K | L | ; | Enter|
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Sft[ | Z | X | C | V | B |RGBTOG|RGBRST| N | M | , | . | / | Sft] |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctl- | Win | LOWER| RAISE| Alt | Space|RGBRMOD|RGBMOD|Space| Left | Up | Down | Right| Ctl= |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = EXPAND_LAYOUT( \
- _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, \
- _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, \
- _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, \
- _________________QWERTY_L4_________________, KC_MINS, KC_EQL, _________________QWERTY_R4_________________, \
- _________________QWERTY_L5_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R5_________________ \
- ),
-
-#ifndef GAMELAYER_DISABLE
- [_GAME] = EXPAND_LAYOUT( \
- ___________________GAME_L1_________________, ___________________GAME_R1_________________, \
- ___________________GAME_L2_________________, ___________________GAME_R2_________________, \
- ___________________GAME_L3_________________, ___________________GAME_R3_________________, \
- ___________________GAME_L4_________________, KC_MINS, KC_EQL, ___________________GAME_R4_________________, \
- ___________________GAME_L5_________________, KC_LBRC, KC_RBRC, ___________________GAME_R5_________________ \
- ),
-#endif
-
- [_LOWER] = EXPAND_LAYOUT( \
- __________________LOWER_L1_________________, __________________LOWER_R1_________________, \
- __________________LOWER_L2_________________, __________________LOWER_R2_________________, \
- __________________LOWER_L3_________________, __________________LOWER_R3_________________, \
- __________________LOWER_L4_________________, _______, _______, __________________LOWER_R4_________________, \
- __________________LOWER_L5_________________, _______, _______, __________________LOWER_R5_________________ \
- ),
-
- [_RAISE] = EXPAND_LAYOUT( \
- __________________RAISE_L1_________________, __________________RAISE_R1_________________, \
- __________________RAISE_L2_________________, __________________RAISE_R2_________________, \
- __________________RAISE_L3_________________, __________________RAISE_R3_________________, \
- __________________RAISE_L4_________________, _______, _______, __________________RAISE_R4_________________, \
- __________________RAISE_L5_________________, _______, _______, __________________RAISE_R5_________________ \
- ),
-
-#ifdef TRILAYER_ENABLED
- [_ADJUST] = EXPAND_LAYOUT( \
- _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, \
- _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, \
- _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, \
- _________________ADJUST_L4_________________, _______, _______, _________________ADJUST_R4_________________, \
- _________________ADJUST_L5_________________, _______, _______, _________________ADJUST_R5_________________ \
- ),
-#endif
-};
diff --git a/keyboards/helix/rev2_latam/keymaps/xulkal/rules.mk b/keyboards/helix/rev2_latam/keymaps/xulkal/rules.mk
deleted file mode 100644
index 03800f9bb95..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/xulkal/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-RGBLIGHT_ENABLE = yes
-# Enable RGBLIGHT Animations
-OPT_DEFS += -DRGBLIGHT_ANIMATIONS
-# Helix specific define for correct RGBLED_NUM
-OPT_DEFS += -DRGBLED_BACK
-
-OLED_DRIVER_ENABLE = yes
-# Helix specific font file
-OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\"
-# Xulkal specific oled define
-OPT_DEFS += -DOLED_90ROTATION
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/helix/rev2_latam/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2_latam/keymaps/yshrsmz/keymap.c
deleted file mode 100644
index bd8796d0648..00000000000
--- a/keyboards/helix/rev2_latam/keymaps/yshrsmz/keymap.c
+++ /dev/null
@@ -1,626 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "bootloader.h"
-#ifdef PROTOCOL_LUFA
-#include "lufa.h"
-#include "split_util.h"
-#endif
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-#ifdef SSD1306OLED
- #include "ssd1306.h"
-#endif
-
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-extern rgblight_config_t rgblight_config;
-#endif
-
-extern uint8_t is_master;
-
-// 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
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- ADJUST,
- BACKLIT,
- EISU,
- KANA,
- RGBRST
-};
-
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
-#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- 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 \
- ),
-
- /* Colemak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_COLEMAK] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- 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 \
- ),
-
- /* Dvorak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_DVORAK] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
- 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 \
- ),
-
- /* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset|RGBRST| | | | | | | | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_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, \
- _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
- )
-};
-
-#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT( \
- 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 \
- ),
-
- /* Colemak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_COLEMAK] = LAYOUT( \
- 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 \
- ),
-
- /* Dvorak
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_DVORAK] = LAYOUT( \
- 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_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 \
- ),
-
- /* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | F12 | | | Home | End | |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | F12 | | |PageDn|PageUp| |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | Reset|RGBRST| | | | | | | | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT( \
- _______, RESET, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD \
- )
-};
-
-#else
-#error "undefined keymaps"
-#endif
-
-
-#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);
-float music_scale[][2] = SONG(MUSIC_SCALE_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 RGB_MOD:
- #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_LANG2);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG2);
- }
- return false;
- break;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LANG1);
- }else{
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LANG1);
- }
- 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 AUDIO_ENABLE
- startup_user();
- #endif
- #ifdef RGBLIGHT_ENABLE
- RGB_current_mode = rgblight_config.mode;
- #endif
- //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
- #ifdef SSD1306OLED
- iota_gfx_init(!has_usb()); // turns on the display
- #endif
-}
-
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
-}
-
-void shutdown_user()
-{
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
-
-void matrix_scan_user(void) {
- iota_gfx_task(); // this is what updates the display continuously
-}
-
-void matrix_update(struct CharacterMatrix *dest,
- const struct CharacterMatrix *source) {
- if (memcmp(dest->display, source->display, sizeof(dest->display))) {
- memcpy(dest->display, source->display, sizeof(dest->display));
- dest->dirty = true;
- }
-}
-
-//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)
-
-static void render_logo(struct CharacterMatrix *matrix) {
-
- 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};
- matrix_write_P(matrix, helix_logo);
- //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
-}
-
-static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) {
-#ifdef RGBLIGHT_ENABLE
- char buf[30];
- if (RGBLIGHT_MODES > 1 && rgblight_config.enable) {
- if (full) {
- snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ",
- rgblight_config.mode,
- rgblight_config.hue/RGBLIGHT_HUE_STEP,
- rgblight_config.sat/RGBLIGHT_SAT_STEP,
- rgblight_config.val/RGBLIGHT_VAL_STEP);
- } else {
- snprintf(buf, sizeof(buf), "[%2d] ",rgblight_config.mode);
- }
- matrix_write(matrix, buf);
- }
-#endif
-}
-
-static void render_layer_status(struct CharacterMatrix *matrix) {
- // 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];
- matrix_write_P(matrix, PSTR("Layer: "));
- switch (layer_state) {
- case L_BASE:
- matrix_write_P(matrix, PSTR("Default"));
- break;
- case L_RAISE:
- matrix_write_P(matrix, PSTR("Raise"));
- break;
- case L_LOWER:
- matrix_write_P(matrix, PSTR("Lower"));
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- matrix_write_P(matrix, PSTR("Adjust"));
- break;
- default:
- matrix_write_P(matrix, PSTR("Undef-"));
- snprintf(buf,sizeof(buf), "%ld", layer_state);
- matrix_write(matrix, buf);
- }
-}
-
-void render_status(struct CharacterMatrix *matrix) {
-
- // 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(keymap_config.swap_lalt_lgui==false){
- matrix_write_P(matrix, os_logo[0][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write_P(matrix, os_logo[0][1]);
- }else{
- matrix_write_P(matrix, os_logo[1][0]);
- matrix_write_P(matrix, PSTR("\n"));
- matrix_write_P(matrix, os_logo[1][1]);
- }
-
- matrix_write_P(matrix, PSTR(" "));
- render_layer_status(matrix);
- matrix_write_P(matrix, PSTR("\n"));
-
- // Host Keyboard LED Status
- matrix_write_P(matrix, (host_keyboard_leds() & (1<