From 7cb29a6bbadca041978ec614536245bd6d9f6d83 Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 19 Dec 2023 09:03:31 -0800 Subject: [PATCH] Cleanup --- keyboards/betalupi_ergodox/betalupi_ergodox.c | 391 ++-------------- keyboards/betalupi_ergodox/betalupi_ergodox.h | 206 +-------- .../betalupi_ergodox/{ => hardware}/led_i2c.c | 0 keyboards/betalupi_ergodox/hardware/macros.h | 34 ++ keyboards/betalupi_ergodox/hardware/maps.c | 133 ++++++ .../betalupi_ergodox/{ => hardware}/matrix.c | 0 keyboards/betalupi_ergodox/info.json | 417 +++++++++++++++--- .../keymaps/default/layers/layers.c | 1 + .../keymaps/default/parts/leader.c | 40 +- .../betalupi_ergodox/keymaps/default/rules.mk | 2 +- keyboards/betalupi_ergodox/post_config.h | 20 - keyboards/betalupi_ergodox/process_record.c | 187 ++++++++ keyboards/betalupi_ergodox/readme.md | 31 -- keyboards/betalupi_ergodox/rules.mk | 10 +- 14 files changed, 761 insertions(+), 711 deletions(-) rename keyboards/betalupi_ergodox/{ => hardware}/led_i2c.c (100%) create mode 100644 keyboards/betalupi_ergodox/hardware/macros.h create mode 100644 keyboards/betalupi_ergodox/hardware/maps.c rename keyboards/betalupi_ergodox/{ => hardware}/matrix.c (100%) create mode 100644 keyboards/betalupi_ergodox/process_record.c delete mode 100644 keyboards/betalupi_ergodox/readme.md diff --git a/keyboards/betalupi_ergodox/betalupi_ergodox.c b/keyboards/betalupi_ergodox/betalupi_ergodox.c index 7195645..e04ef7a 100644 --- a/keyboards/betalupi_ergodox/betalupi_ergodox.c +++ b/keyboards/betalupi_ergodox/betalupi_ergodox.c @@ -1,23 +1,3 @@ -/* -Copyright 2012 Jun Wako -Copyright 2013 Oleg Kostyuk -Copyright 2015 ZSA Technology Labs Inc (@zsa) -Copyright 2020 Christopher Courtney (@drashna) - -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 . -*/ - #include "betalupi_ergodox.h" #include "features/beta_rawhid.h" @@ -66,16 +46,16 @@ void matrix_init_kb(void) { PORTE |= (1<<6); keyboard_config.raw = eeconfig_read_kb(); -#ifdef RGB_MATRIX_ENABLE - if (keyboard_config.rgb_matrix_enable) { - rgb_matrix_set_flags(LED_FLAG_ALL); - } else { - rgb_matrix_set_flags(LED_FLAG_NONE); - } -#endif + + #ifdef RGB_MATRIX_ENABLE + if (keyboard_config.rgb_matrix_enable) { + rgb_matrix_set_flags(LED_FLAG_ALL); + } else { + rgb_matrix_set_flags(LED_FLAG_NONE); + } + #endif ergodox_blink_all_leds(); - matrix_init_user(); } @@ -144,139 +124,6 @@ out: } -#ifdef SWAP_HANDS_ENABLE -__attribute__ ((weak)) -// swap-hands action needs a matrix to define the swap -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - /* Left hand, matrix positions */ - {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, - {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, - {{0,11}, {1,11}, {2,11}, {3,11}, {4,11}, {5,11}}, - {{0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}}, - {{0,9}, {1,9}, {2,9}, {3,9}, {4,9}, {5,9}}, - {{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}}, - {{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}}, - /* Right hand, matrix positions */ - {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, - {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, - {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, - {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}}, - {{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}}, - {{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}}, - {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, -}; -#endif - - - -#ifdef RGB_MATRIX_ENABLE - -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { - //{driver, R location, G location, B location} - - {0, C3_1, C2_1, C4_1}, // LED1 on right - {0, C6_1, C5_1, C7_1}, // LED2 - {0, C4_2, C3_2, C5_2}, // LED3 - {0, C7_2, C6_2, C8_2}, // LED4 - {0, C2_3, C1_3, C3_3}, // LED5 - {0, C5_3, C4_3, C6_3}, // LED6 - {0, C8_3, C7_3, C9_3}, // LED7 - {0, C2_4, C1_4, C3_4}, // LED8 - {0, C6_4, C5_4, C7_4}, // LED9 - {0, C2_5, C1_5, C3_5}, // LED10 - {0, C7_5, C6_5, C8_5}, // LED11 - {0, C2_6, C1_6, C3_6}, // LED12 - {0, C5_6, C4_6, C6_6}, // LED13 - {0, C8_6, C7_6, C9_6}, // LED14 - {0, C2_7, C1_7, C3_7}, // LED15 - {0, C5_7, C4_7, C6_7}, // LED16 - {0, C2_8, C1_8, C3_8}, // LED17 - {0, C5_8, C4_8, C6_8}, // LED18 - - {0, C3_9, C2_9, C4_9}, // LED19 - {0, C6_9, C5_9, C7_9}, // LED20 - {0, C4_10, C3_10, C5_10}, // LED21 - {0, C7_10, C6_10, C8_10}, // LED22 - {0, C2_11, C1_11, C3_11}, // LED23 - {0, C5_11, C4_11, C6_11}, // LED24 - - {1, C3_1, C2_1, C4_1}, // LED1 on left - {1, C6_1, C5_1, C7_1}, // LED2 - {1, C4_2, C3_2, C5_2}, // LED3 - {1, C7_2, C6_2, C8_2}, // LED4 - {1, C2_3, C1_3, C3_3}, // LED5 - {1, C5_3, C4_3, C6_3}, // LED6 - {1, C8_3, C7_3, C9_3}, // LED7 - {1, C2_4, C1_4, C3_4}, // LED8 - {1, C6_4, C5_4, C7_4}, // LED9 - {1, C2_5, C1_5, C3_5}, // LED10 - {1, C7_5, C6_5, C8_5}, // LED11 - {1, C2_6, C1_6, C3_6}, // LED12 - {1, C5_6, C4_6, C6_6}, // LED13 - {1, C8_6, C7_6, C9_6}, // LED14 - {1, C2_7, C1_7, C3_7}, // LED15 - {1, C5_7, C4_7, C6_7}, // LED16 - {1, C2_8, C1_8, C3_8}, // LED17 - {1, C5_8, C4_8, C6_8}, // LED18 - - {1, C3_9, C2_9, C4_9}, // LED19 - {1, C6_9, C5_9, C7_9}, // LED20 - {1, C4_10, C3_10, C5_10}, // LED21 - {1, C7_10, C6_10, C8_10}, // LED22 - {1, C2_11, C1_11, C3_11}, // LED23 - {1, C5_11, C4_11, C6_11} // LED24 -}; - - -led_config_t g_led_config = { { - // Key matrix to LED index - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { 28, 33, 38, 43, 47, NO_LED }, - { 27, 32, 37, 42, 46, NO_LED }, - { 26, 31, 36, 41, 45, NO_LED }, - { 25, 30, 35, 40, 44, NO_LED }, - { 24, 29, 34, 39, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { 0, 5, 10, 15, NO_LED, NO_LED }, - { 1, 6, 11, 16, 20, NO_LED }, - { 2, 7, 12, 17, 21, NO_LED }, - { 3, 8, 13, 18, 22, NO_LED }, - { 4, 9, 14, 19, 23, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } -}, { - // LED index to physical position - { 137, 0 }, { 154, 0 }, { 172, 0 }, { 189, 0 }, { 206, 0 }, { 137, 12 }, - { 154, 12 }, { 172, 12 }, { 189, 12 }, { 206, 12 }, { 137, 25 }, { 154, 25 }, - { 172, 25 }, { 189, 25 }, { 206, 25 }, { 137, 38 }, { 154, 38 }, { 172, 38 }, - { 189, 38 }, { 206, 38 }, { 154, 51 }, { 172, 51 }, { 189, 51 }, { 206, 51 }, - { 86, 0 }, { 68, 0 }, { 51, 0 }, { 34, 0 }, { 17, 0 }, { 86, 12 }, - { 68, 12 }, { 51, 12 }, { 34, 12 }, { 17, 12 }, { 86, 25 }, { 68, 25 }, - { 51, 25 }, { 34, 25 }, { 17, 25 }, { 86, 38 }, { 68, 38 }, { 51, 38 }, - { 34, 38 }, { 17, 38 }, { 68, 51 }, { 51, 51 }, { 34, 51 }, { 17, 51 } -}, { - // LED index to flag - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 1, 1, 1, 1, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, - 4, 4, 1, 1, 1, 1 -} }; -#endif - void keyboard_post_init_kb(void) { // Start with matrix enabled @@ -295,196 +142,6 @@ void keyboard_post_init_kb(void) { keyboard_post_init_user(); } - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LED_LEVEL: - if (record->event.pressed) { - keyboard_config.led_level++; - if (keyboard_config.led_level > 4) { - keyboard_config.led_level = 0; - } - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); - eeconfig_update_kb(keyboard_config.raw); - layer_state_set_kb(layer_state); - } - break; -#ifdef RGB_MATRIX_ENABLE - case TOGGLE_LAYER_COLOR: - if (record->event.pressed) { - keyboard_config.disable_layer_led ^= 1; - if (keyboard_config.disable_layer_led) { - rgb_matrix_set_color_all(0, 0, 0); - } - eeconfig_update_kb(keyboard_config.raw); - } - break; - - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - keyboard_config.rgb_matrix_enable = false; - rgb_matrix_set_color_all(0, 0, 0); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - keyboard_config.rgb_matrix_enable = true; - } - break; - } - eeconfig_update_kb(keyboard_config.raw); - } - - hid_send_state(); - return false; - - case RGB_MOD: - // Tell the host whenever we change animation mode. - hid_send_state(); - return true; -#endif - -// Custom RGBLIGHT macros -#ifdef RGBLIGHT_ENABLE -#ifdef RGBLIGHT_NO_EEPROM - case LIGHT_TOG: - if (record->event.pressed) { - rgblight_toggle_noeeprom(); - } - break; - - case LIGHT_MOD: - if (record->event.pressed) { - rgblight_step_noeeprom(); - } - break; - - case LIGHT_HUI: - if (record->event.pressed) { - rgblight_increase_hue_noeeprom(); - } - break; - - case LIGHT_HUD: - if (record->event.pressed) { - rgblight_decrease_hue_noeeprom(); - } - break; - - case LIGHT_SAI: - if (record->event.pressed) { - rgblight_increase_sat_noeeprom(); - } - break; - - case LIGHT_SAD: - if (record->event.pressed) { - rgblight_decrease_sat_noeeprom(); - } - break; - - case LIGHT_VAI: - if (record->event.pressed) { - rgblight_increase_val_noeeprom(); - } - break; - - case LIGHT_VAD: - if (record->event.pressed) { - rgblight_decrease_val_noeeprom(); - } - break; - - case LIGHT_SPI: - if (record->event.pressed) { - rgblight_increase_speed_noeeprom(); - } - break; - - case LIGHT_SPD: - if (record->event.pressed) { - rgblight_decrease_speed_noeeprom(); - } - break; -#else - case LIGHT_TOG: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - - case LIGHT_MOD: - if (record->event.pressed) { - rgblight_step(); - } - break; - - case LIGHT_HUI: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - - case LIGHT_HUD: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - - case LIGHT_SAI: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - - case LIGHT_SAD: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - - case LIGHT_VAI: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - - case LIGHT_VAD: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - - case LIGHT_SPI: - if (record->event.pressed) { - rgblight_increase_speed(); - } - break; - - case LIGHT_SPD: - if (record->event.pressed) { - rgblight_decrease_speed(); - } - break; -#endif -#endif - } - - return process_record_user(keycode, record); -} - -layer_state_t layer_state_set_kb(layer_state_t state) { - //uint8_t layer = biton32(state); - - hid_send_state( - .state = state - ); - return layer_state_set_user(state); -}; - // EEPROM is getting reset! void eeconfig_init_kb(void) { keyboard_config.raw = 0; @@ -495,22 +152,30 @@ void eeconfig_init_kb(void) { } +layer_state_t layer_state_set_kb(layer_state_t state) { + //uint8_t layer = biton32(state); + + hid_send_state( + .state = state + ); + return layer_state_set_user(state); +}; void matrix_scan_kb(void) { -#ifdef CAPS_LOCK_STATUS - led_t led_state = host_keyboard_led_state(); - if(led_state.caps_lock) { - ergodox_right_led_3_on(); - } - else { - uint8_t layer = get_highest_layer(layer_state); - if(layer != 3) { - ergodox_right_led_3_off(); + #ifdef CAPS_LOCK_STATUS + led_t led_state = host_keyboard_led_state(); + if(led_state.caps_lock) { + ergodox_right_led_3_on(); } - } -#endif + else { + uint8_t layer = get_highest_layer(layer_state); + if(layer != 3) { + ergodox_right_led_3_off(); + } + } + #endif matrix_scan_user(); -} +} \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/betalupi_ergodox.h b/keyboards/betalupi_ergodox/betalupi_ergodox.h index 62e47e6..b5c9ce7 100644 --- a/keyboards/betalupi_ergodox/betalupi_ergodox.h +++ b/keyboards/betalupi_ergodox/betalupi_ergodox.h @@ -1,29 +1,10 @@ -/* -Copyright 2012 Jun Wako -Copyright 2013 Oleg Kostyuk -Copyright 2015 ZSA Technology Labs Inc (@zsa) -Copyright 2020 Christopher Courtney (@drashna) - -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 #include "quantum.h" #include #include #include "i2c_master.h" +#include "hardware/macros.h" // I2C aliases and register addresses (see "mcp23018.md") #define I2C_ADDR 0b0100000 @@ -121,187 +102,4 @@ typedef union { }; } keyboard_config_t; -extern keyboard_config_t keyboard_config; - -// Turns {h, s, v} triples into a macro, so that -// the LEDS_ergodox macro can take them as inputs. -#define LC_HSV(h, s, v) {h, s, v} - -// Rearrange a human-readable LED layout into the correct Ergodox order. -// LEDS_ergodox ONLY WORKS WITH MACROS. -// Don't input a standalone triple {h, s, v}; -// Use LC_HSV if you need a single-instance color. -#define LEDS_ergodox( \ - l01,l02,l03,l04,l05, \ - l06,l07,l08,l09,l10, \ - l11,l12,l13,l14,l15, \ - l16,l17,l18,l19,l20, \ - l21,l22,l23,l24, \ - \ - l25,l26,l27,l28,l29, \ - l30,l31,l32,l33,l34, \ - l35,l36,l37,l38,l39, \ - l40,l41,l42,l43,l44, \ - l45,l46,l47,l48 \ - ) \ - { \ - l25,l26,l27,l28,l29, \ - l30,l31,l32,l33,l34, \ - l35,l36,l37,l38,l39, \ - l40,l41,l42,l43,l44, \ - l45,l46,l47,l48, \ - \ - l05,l04,l03,l02,l01, \ - l10,l09,l08,l07,l06, \ - l15,l14,l13,l12,l11, \ - l20,l19,l18,l17,l16, \ - l24,l23,l22,l21 \ - } - - - -/* - LEFT HAND: LINES 115-122 - RIGHT HAND: LINES 124-131 -*/ -#define LAYOUT_ergodox( \ - \ - k00,k01,k02,k03,k04,k05,k06, \ - k10,k11,k12,k13,k14,k15,k16, \ - k20,k21,k22,k23,k24,k25, \ - k30,k31,k32,k33,k34,k35,k36, \ - k40,k41,k42,k43,k44, \ - k55,k56, \ - k54, \ - k53,k52,k51, \ - \ - k07,k08,k09,k0A,k0B,k0C,k0D, \ - k17,k18,k19,k1A,k1B,k1C,k1D, \ - k28,k29,k2A,k2B,k2C,k2D, \ - k37,k38,k39,k3A,k3B,k3C,k3D, \ - k49,k4A,k4B,k4C,k4D, \ - k57,k58, \ - k59, \ - k5C,k5B,k5A ) \ - \ - /* matrix positions */ \ - { \ - { k00, k10, k20, k30, k40, KC_NO }, \ - { k01, k11, k21, k31, k41, k51 }, \ - { k02, k12, k22, k32, k42, k52 }, \ - { k03, k13, k23, k33, k43, k53 }, \ - { k04, k14, k24, k34, k44, k54 }, \ - { k05, k15, k25, k35, KC_NO, k55 }, \ - { k06, k16, KC_NO, k36, KC_NO, k56 }, \ - \ - { k07, k17, KC_NO, k37,KC_NO, k57 }, \ - { k08, k18, k28, k38,KC_NO, k58 }, \ - { k09, k19, k29, k39, k49, k59 }, \ - { k0A, k1A, k2A, k3A, k4A, k5A }, \ - { k0B, k1B, k2B, k3B, k4B, k5B }, \ - { k0C, k1C, k2C, k3C, k4C, k5C }, \ - { k0D, k1D, k2D, k3D, k4D, KC_NO } \ - } - -/* - LEFT HAND: LINES 158-165 - RIGHT HAND: LINES 167-174 -*/ -#define LAYOUT_ergodox_80( \ - \ - k00,k01,k02,k03,k04,k05,k06, \ - k10,k11,k12,k13,k14,k15,k16, \ - k20,k21,k22,k23,k24,k25, \ - k30,k31,k32,k33,k34,k35,k36, \ - k40,k41,k42,k43,k44, \ - k55,k56, \ - k45,k46,k54, \ - k53,k52,k51, \ - \ - k07,k08,k09,k0A,k0B,k0C,k0D, \ - k17,k18,k19,k1A,k1B,k1C,k1D, \ - k28,k29,k2A,k2B,k2C,k2D, \ - k37,k38,k39,k3A,k3B,k3C,k3D, \ - k49,k4A,k4B,k4C,k4D, \ - k57,k58, \ - k59,k47,k48, \ - k5C,k5B,k5A ) \ - \ - /* matrix positions */ \ - { \ - { k00, k10, k20, k30, k40, KC_NO }, \ - { k01, k11, k21, k31, k41, k51 }, \ - { k02, k12, k22, k32, k42, k52 }, \ - { k03, k13, k23, k33, k43, k53 }, \ - { k04, k14, k24, k34, k44, k54 }, \ - { k05, k15, k25, k35, k45, k55 }, \ - { k06, k16, KC_NO, k36, k46, k56 }, \ - \ - { k07, k17, KC_NO, k37, k47, k57 }, \ - { k08, k18, k28, k38, k48, k58 }, \ - { k09, k19, k29, k39, k49, k59 }, \ - { k0A, k1A, k2A, k3A, k4A, k5A }, \ - { k0B, k1B, k2B, k3B, k4B, k5B }, \ - { k0C, k1C, k2C, k3C, k4C, k5C }, \ - { k0D, k1D, k2D, k3D, k4D, KC_NO } \ - } - -/* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */ -#define LAYOUT_ergodox_pretty( \ - L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ - L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ - L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ - L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ - L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ - L55,L56, R50,R51, \ - L54, R52, \ - L53,L52,L51, R55,R54,R53 ) \ - \ - /* matrix positions */ \ - { \ - { L00, L10, L20, L30, L40, KC_NO }, \ - { L01, L11, L21, L31, L41, L51 }, \ - { L02, L12, L22, L32, L42, L52 }, \ - { L03, L13, L23, L33, L43, L53 }, \ - { L04, L14, L24, L34, L44, L54 }, \ - { L05, L15, L25, L35, KC_NO, L55 }, \ - { L06, L16, KC_NO, L36, KC_NO, L56 }, \ - \ - { R00, R10, KC_NO, R30,KC_NO, R50 }, \ - { R01, R11, R21, R31,KC_NO, R51 }, \ - { R02, R12, R22, R32, R42, R52 }, \ - { R03, R13, R23, R33, R43, R53 }, \ - { R04, R14, R24, R34, R44, R54 }, \ - { R05, R15, R25, R35, R45, R55 }, \ - { R06, R16, R26, R36, R46, KC_NO } \ - } - -/* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */ -#define LAYOUT_ergodox_pretty_80( \ - L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ - L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ - L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ - L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ - L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ - L55,L56, R50,R51, \ - L45,L46,L54, R52,R40,R41, \ - L53,L52,L51, R55,R54,R53 ) \ - \ - /* matrix positions */ \ - { \ - { L00, L10, L20, L30, L40, KC_NO }, \ - { L01, L11, L21, L31, L41, L51 }, \ - { L02, L12, L22, L32, L42, L52 }, \ - { L03, L13, L23, L33, L43, L53 }, \ - { L04, L14, L24, L34, L44, L54 }, \ - { L05, L15, L25, L35, L45, L55 }, \ - { L06, L16, KC_NO, L36, L46, L56 }, \ - \ - { R00, R10, KC_NO, R30, R40, R50 }, \ - { R01, R11, R21, R31, R41, R51 }, \ - { R02, R12, R22, R32, R42, R52 }, \ - { R03, R13, R23, R33, R43, R53 }, \ - { R04, R14, R24, R34, R44, R54 }, \ - { R05, R15, R25, R35, R45, R55 }, \ - { R06, R16, R26, R36, R46, KC_NO } \ - } +extern keyboard_config_t keyboard_config; \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/led_i2c.c b/keyboards/betalupi_ergodox/hardware/led_i2c.c similarity index 100% rename from keyboards/betalupi_ergodox/led_i2c.c rename to keyboards/betalupi_ergodox/hardware/led_i2c.c diff --git a/keyboards/betalupi_ergodox/hardware/macros.h b/keyboards/betalupi_ergodox/hardware/macros.h new file mode 100644 index 0000000..df8ebd0 --- /dev/null +++ b/keyboards/betalupi_ergodox/hardware/macros.h @@ -0,0 +1,34 @@ +// Turns {h, s, v} triples into a macro, so that +// the LEDS_ergodox macro can take them as inputs. +#define LC_HSV(h, s, v) {h, s, v} + +// Rearrange a human-readable LED layout into the correct Ergodox order. +// LEDS_ergodox ONLY WORKS WITH MACROS. +// Don't input a standalone triple {h, s, v}; +// Use LC_HSV if you need a single-instance color. +#define LEDS_ergodox( \ + l01,l02,l03,l04,l05, \ + l06,l07,l08,l09,l10, \ + l11,l12,l13,l14,l15, \ + l16,l17,l18,l19,l20, \ + l21,l22,l23,l24, \ + \ + l25,l26,l27,l28,l29, \ + l30,l31,l32,l33,l34, \ + l35,l36,l37,l38,l39, \ + l40,l41,l42,l43,l44, \ + l45,l46,l47,l48 \ + ) \ + { \ + l25,l26,l27,l28,l29, \ + l30,l31,l32,l33,l34, \ + l35,l36,l37,l38,l39, \ + l40,l41,l42,l43,l44, \ + l45,l46,l47,l48, \ + \ + l05,l04,l03,l02,l01, \ + l10,l09,l08,l07,l06, \ + l15,l14,l13,l12,l11, \ + l20,l19,l18,l17,l16, \ + l24,l23,l22,l21 \ + } diff --git a/keyboards/betalupi_ergodox/hardware/maps.c b/keyboards/betalupi_ergodox/hardware/maps.c new file mode 100644 index 0000000..6c67308 --- /dev/null +++ b/keyboards/betalupi_ergodox/hardware/maps.c @@ -0,0 +1,133 @@ +#include "betalupi_ergodox.h" + + +#ifdef SWAP_HANDS_ENABLE + __attribute__ ((weak)) + // swap-hands action needs a matrix to define the swap + const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, + {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, + {{0,11}, {1,11}, {2,11}, {3,11}, {4,11}, {5,11}}, + {{0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}}, + {{0,9}, {1,9}, {2,9}, {3,9}, {4,9}, {5,9}}, + {{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}}, + {{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}}, + /* Right hand, matrix positions */ + {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, + {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, + {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, + {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}}, + {{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}}, + {{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}}, + {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, + }; +#endif + + +#ifdef RGB_MATRIX_ENABLE + void suspend_power_down_kb(void) { + rgb_matrix_set_suspend_state(true); + suspend_power_down_user(); + } + + void suspend_wakeup_init_kb(void) { + rgb_matrix_set_suspend_state(false); + suspend_wakeup_init_user(); + } + + const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { + //{driver, R location, G location, B location} + + {0, C3_1, C2_1, C4_1}, // LED1 on right + {0, C6_1, C5_1, C7_1}, // LED2 + {0, C4_2, C3_2, C5_2}, // LED3 + {0, C7_2, C6_2, C8_2}, // LED4 + {0, C2_3, C1_3, C3_3}, // LED5 + {0, C5_3, C4_3, C6_3}, // LED6 + {0, C8_3, C7_3, C9_3}, // LED7 + {0, C2_4, C1_4, C3_4}, // LED8 + {0, C6_4, C5_4, C7_4}, // LED9 + {0, C2_5, C1_5, C3_5}, // LED10 + {0, C7_5, C6_5, C8_5}, // LED11 + {0, C2_6, C1_6, C3_6}, // LED12 + {0, C5_6, C4_6, C6_6}, // LED13 + {0, C8_6, C7_6, C9_6}, // LED14 + {0, C2_7, C1_7, C3_7}, // LED15 + {0, C5_7, C4_7, C6_7}, // LED16 + {0, C2_8, C1_8, C3_8}, // LED17 + {0, C5_8, C4_8, C6_8}, // LED18 + + {0, C3_9, C2_9, C4_9}, // LED19 + {0, C6_9, C5_9, C7_9}, // LED20 + {0, C4_10, C3_10, C5_10}, // LED21 + {0, C7_10, C6_10, C8_10}, // LED22 + {0, C2_11, C1_11, C3_11}, // LED23 + {0, C5_11, C4_11, C6_11}, // LED24 + + {1, C3_1, C2_1, C4_1}, // LED1 on left + {1, C6_1, C5_1, C7_1}, // LED2 + {1, C4_2, C3_2, C5_2}, // LED3 + {1, C7_2, C6_2, C8_2}, // LED4 + {1, C2_3, C1_3, C3_3}, // LED5 + {1, C5_3, C4_3, C6_3}, // LED6 + {1, C8_3, C7_3, C9_3}, // LED7 + {1, C2_4, C1_4, C3_4}, // LED8 + {1, C6_4, C5_4, C7_4}, // LED9 + {1, C2_5, C1_5, C3_5}, // LED10 + {1, C7_5, C6_5, C8_5}, // LED11 + {1, C2_6, C1_6, C3_6}, // LED12 + {1, C5_6, C4_6, C6_6}, // LED13 + {1, C8_6, C7_6, C9_6}, // LED14 + {1, C2_7, C1_7, C3_7}, // LED15 + {1, C5_7, C4_7, C6_7}, // LED16 + {1, C2_8, C1_8, C3_8}, // LED17 + {1, C5_8, C4_8, C6_8}, // LED18 + + {1, C3_9, C2_9, C4_9}, // LED19 + {1, C6_9, C5_9, C7_9}, // LED20 + {1, C4_10, C3_10, C5_10}, // LED21 + {1, C7_10, C6_10, C8_10}, // LED22 + {1, C2_11, C1_11, C3_11}, // LED23 + {1, C5_11, C4_11, C6_11} // LED24 + }; + + + led_config_t g_led_config = { { + // Key matrix to LED index + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 28, 33, 38, 43, 47, NO_LED }, + { 27, 32, 37, 42, 46, NO_LED }, + { 26, 31, 36, 41, 45, NO_LED }, + { 25, 30, 35, 40, 44, NO_LED }, + { 24, 29, 34, 39, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 0, 5, 10, 15, NO_LED, NO_LED }, + { 1, 6, 11, 16, 20, NO_LED }, + { 2, 7, 12, 17, 21, NO_LED }, + { 3, 8, 13, 18, 22, NO_LED }, + { 4, 9, 14, 19, 23, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } + }, { + // LED index to physical position + { 137, 0 }, { 154, 0 }, { 172, 0 }, { 189, 0 }, { 206, 0 }, { 137, 12 }, + { 154, 12 }, { 172, 12 }, { 189, 12 }, { 206, 12 }, { 137, 25 }, { 154, 25 }, + { 172, 25 }, { 189, 25 }, { 206, 25 }, { 137, 38 }, { 154, 38 }, { 172, 38 }, + { 189, 38 }, { 206, 38 }, { 154, 51 }, { 172, 51 }, { 189, 51 }, { 206, 51 }, + { 86, 0 }, { 68, 0 }, { 51, 0 }, { 34, 0 }, { 17, 0 }, { 86, 12 }, + { 68, 12 }, { 51, 12 }, { 34, 12 }, { 17, 12 }, { 86, 25 }, { 68, 25 }, + { 51, 25 }, { 34, 25 }, { 17, 25 }, { 86, 38 }, { 68, 38 }, { 51, 38 }, + { 34, 38 }, { 17, 38 }, { 68, 51 }, { 51, 51 }, { 34, 51 }, { 17, 51 } + }, { + // LED index to flag + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1, 1 + } }; +#endif \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/matrix.c b/keyboards/betalupi_ergodox/hardware/matrix.c similarity index 100% rename from keyboards/betalupi_ergodox/matrix.c rename to keyboards/betalupi_ergodox/hardware/matrix.c diff --git a/keyboards/betalupi_ergodox/info.json b/keyboards/betalupi_ergodox/info.json index 4e1db3c..f3d932e 100644 --- a/keyboards/betalupi_ergodox/info.json +++ b/keyboards/betalupi_ergodox/info.json @@ -18,97 +18,386 @@ "layouts": { "LAYOUT_ergodox": { "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.5}, + {"matrix": [1, 0], "x": 1.5, "y": 0.375}, + {"matrix": [2, 0], "x": 2.5, "y": 0.125}, + {"matrix": [3, 0], "x": 3.5, "y": 0}, + {"matrix": [4, 0], "x": 4.5, "y": 0.125}, + {"matrix": [5, 0], "x": 5.5, "y": 0.25}, + {"matrix": [6, 0], "x": 6.5, "y": 0.25}, - {"x":6, "y":5}, {"x":7, "y":5}, - {"x":7, "y":6}, - {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, + {"matrix": [0, 1], "x": 0, "y": 1.375, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1.375}, + {"matrix": [2, 1], "x": 2.5, "y": 1.125}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [4, 1], "x": 4.5, "y": 1.125}, + {"matrix": [5, 1], "x": 5.5, "y": 1.25}, + {"matrix": [6, 1], "x": 6.5, "y": 1.25, "h": 1.5}, + {"matrix": [0, 2], "x": 0, "y": 2.375, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.375}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, - {"x":9.5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.375, "w":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.375, "w":1.5}, - {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.375, "w":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.375, "w":1.5}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"matrix": [0, 3], "x": 0, "y": 3.375, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 3.375}, + {"matrix": [2, 3], "x": 2.5, "y": 3.125}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [4, 3], "x": 4.5, "y": 3.125}, + {"matrix": [5, 3], "x": 5.5, "y": 3.25}, + {"matrix": [6, 3], "x": 6.5, "y": 2.75, "h": 1.5}, + {"matrix": [0, 4], "x": 0.5, "y": 4.375}, + {"matrix": [1, 4], "x": 1.5, "y": 4.375}, + {"matrix": [2, 4], "x": 2.5, "y": 4.125}, + {"matrix": [3, 4], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4.125}, - {"x":9, "y":5}, {"x":10, "y":5}, - {"x":9, "y":6}, - {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} + {"matrix": [5, 5], "x": 6, "y": 5}, + {"matrix": [6, 5], "x": 7, "y": 5}, + {"matrix": [4, 5], "x": 7, "y": 6}, + {"matrix": [3, 5], "x": 5, "y": 6, "h": 2}, + {"matrix": [2, 5], "x": 6, "y": 6, "h": 2}, + {"matrix": [1, 5], "x": 7, "y": 7}, + + {"matrix": [7, 0], "x": 9.5, "y": 0.25}, + {"matrix": [8, 0], "x": 10.5, "y": 0.25}, + {"matrix": [9, 0], "x": 11.5, "y": 0.125}, + {"matrix": [10, 0], "x": 12.5, "y": 0}, + {"matrix": [11, 0], "x": 13.5, "y": 0.125}, + {"matrix": [12, 0], "x": 14.5, "y": 0.375}, + {"matrix": [13, 0], "x": 15.5, "y": 0.375, "w": 1.5}, + + {"matrix": [7, 1], "x": 9.5, "y": 1.25, "h": 1.5}, + {"matrix": [8, 1], "x": 10.5, "y": 1.25}, + {"matrix": [9, 1], "x": 11.5, "y": 1.125}, + {"matrix": [10, 1], "x": 12.5, "y": 1}, + {"matrix": [11, 1], "x": 13.5, "y": 1.125}, + {"matrix": [12, 1], "x": 14.5, "y": 1.375}, + {"matrix": [13, 1], "x": 15.5, "y": 1.375, "w": 1.5}, + + {"matrix": [8, 2], "x": 10.5, "y": 2.25}, + {"matrix": [9, 2], "x": 11.5, "y": 2.125}, + {"matrix": [10, 2], "x": 12.5, "y": 2}, + {"matrix": [11, 2], "x": 13.5, "y": 2.125}, + {"matrix": [12, 2], "x": 14.5, "y": 2.375}, + {"matrix": [13, 2], "x": 15.5, "y": 2.375, "w": 1.5}, + {"matrix": [7, 3], "x": 9.5, "y": 2.75, "h": 1.5}, + + {"matrix": [8, 3], "x": 10.5, "y": 3.25}, + {"matrix": [9, 3], "x": 11.5, "y": 3.125}, + {"matrix": [10, 3], "x": 12.5, "y": 3}, + {"matrix": [11, 3], "x": 13.5, "y": 3.125}, + {"matrix": [12, 3], "x": 14.5, "y": 3.375}, + {"matrix": [13, 3], "x": 15.5, "y": 3.375, "w": 1.5}, + + {"matrix": [9, 4], "x": 11.5, "y": 4.125}, + {"matrix": [10, 4], "x": 12.5, "y": 4}, + {"matrix": [11, 4], "x": 13.5, "y": 4.125}, + {"matrix": [12, 4], "x": 14.5, "y": 4.375}, + {"matrix": [13, 4], "x": 15.5, "y": 4.375}, + + {"matrix": [7, 5], "x": 9, "y": 5}, + {"matrix": [8, 5], "x": 10, "y": 5}, + {"matrix": [9, 5], "x": 9, "y": 6}, + {"matrix": [12, 5], "x": 9, "y": 7}, + {"matrix": [11, 5], "x": 10, "y": 6, "h": 2}, + {"matrix": [10, 5], "x": 11, "y": 6, "h": 2} ] }, "LAYOUT_ergodox_pretty": { "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":9.5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.375, "w":1.5}, + {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.5}, + {"matrix": [1, 0], "x": 1.5, "y": 0.375}, + {"matrix": [2, 0], "x": 2.5, "y": 0.125}, + {"matrix": [3, 0], "x": 3.5, "y": 0}, + {"matrix": [4, 0], "x": 4.5, "y": 0.125}, + {"matrix": [5, 0], "x": 5.5, "y": 0.25}, + {"matrix": [6, 0], "x": 6.5, "y": 0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.375, "w":1.5}, + {"matrix": [7, 0], "x": 9.5, "y": 0.25}, + {"matrix": [8, 0], "x": 10.5, "y": 0.25}, + {"matrix": [9, 0], "x": 11.5, "y": 0.125}, + {"matrix": [10, 0], "x": 12.5, "y": 0}, + {"matrix": [11, 0], "x": 13.5, "y": 0.125}, + {"matrix": [12, 0], "x": 14.5, "y": 0.375}, + {"matrix": [13, 0], "x": 15.5, "y": 0.375, "w": 1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.375, "w":1.5}, + {"matrix": [0, 1], "x": 0, "y": 1.375, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1.375}, + {"matrix": [2, 1], "x": 2.5, "y": 1.125}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [4, 1], "x": 4.5, "y": 1.125}, + {"matrix": [5, 1], "x": 5.5, "y": 1.25}, + {"matrix": [6, 1], "x": 6.5, "y": 1.25, "h": 1.5}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.375, "w":1.5}, + {"matrix": [7, 1], "x": 9.5, "y": 1.25, "h": 1.5}, + {"matrix": [8, 1], "x": 10.5, "y": 1.25}, + {"matrix": [9, 1], "x": 11.5, "y": 1.125}, + {"matrix": [10, 1], "x": 12.5, "y": 1}, + {"matrix": [11, 1], "x": 13.5, "y": 1.125}, + {"matrix": [12, 1], "x": 14.5, "y": 1.375}, + {"matrix": [13, 1], "x": 15.5, "y": 1.375, "w": 1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"matrix": [0, 2], "x": 0, "y": 2.375, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.375}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, - {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, - {"x":7, "y":6}, {"x":9, "y":6}, - {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} + {"matrix": [8, 2], "x": 10.5, "y": 2.25}, + {"matrix": [9, 2], "x": 11.5, "y": 2.125}, + {"matrix": [10, 2], "x": 12.5, "y": 2}, + {"matrix": [11, 2], "x": 13.5, "y": 2.125}, + {"matrix": [12, 2], "x": 14.5, "y": 2.375}, + {"matrix": [13, 2], "x": 15.5, "y": 2.375, "w": 1.5}, + + {"matrix": [0, 3], "x": 0, "y": 3.375, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 3.375}, + {"matrix": [2, 3], "x": 2.5, "y": 3.125}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [4, 3], "x": 4.5, "y": 3.125}, + {"matrix": [5, 3], "x": 5.5, "y": 3.25}, + {"matrix": [6, 3], "x": 6.5, "y": 2.75, "h": 1.5}, + + {"matrix": [7, 3], "x": 9.5, "y": 2.75, "h": 1.5}, + {"matrix": [8, 3], "x": 10.5, "y": 3.25}, + {"matrix": [9, 3], "x": 11.5, "y": 3.125}, + {"matrix": [10, 3], "x": 12.5, "y": 3}, + {"matrix": [11, 3], "x": 13.5, "y": 3.125}, + {"matrix": [12, 3], "x": 14.5, "y": 3.375}, + {"matrix": [13, 3], "x": 15.5, "y": 3.375, "w": 1.5}, + + {"matrix": [0, 4], "x": 0.5, "y": 4.375}, + {"matrix": [1, 4], "x": 1.5, "y": 4.375}, + {"matrix": [2, 4], "x": 2.5, "y": 4.125}, + {"matrix": [3, 4], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4.125}, + + {"matrix": [9, 4], "x": 11.5, "y": 4.125}, + {"matrix": [10, 4], "x": 12.5, "y": 4}, + {"matrix": [11, 4], "x": 13.5, "y": 4.125}, + {"matrix": [12, 4], "x": 14.5, "y": 4.375}, + {"matrix": [13, 4], "x": 15.5, "y": 4.375}, + + {"matrix": [5, 5], "x": 6, "y": 5}, + {"matrix": [6, 5], "x": 7, "y": 5}, + + {"matrix": [7, 5], "x": 9, "y": 5}, + {"matrix": [8, 5], "x": 10, "y": 5}, + + {"matrix": [4, 5], "x": 7, "y": 6}, + {"matrix": [9, 5], "x": 9, "y": 6}, + + {"matrix": [3, 5], "x": 5, "y": 6, "h": 2}, + {"matrix": [2, 5], "x": 6, "y": 6, "h": 2}, + {"matrix": [1, 5], "x": 7, "y": 7}, + + {"matrix": [12, 5], "x": 9, "y": 7}, + {"matrix": [11, 5], "x": 10, "y": 6, "h": 2}, + {"matrix": [10, 5], "x": 11, "y": 6, "h": 2} ] }, "LAYOUT_ergodox_80": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.5}, + {"matrix": [1, 0], "x": 1.5, "y": 0.375}, + {"matrix": [2, 0], "x": 2.5, "y": 0.125}, + {"matrix": [3, 0], "x": 3.5, "y": 0}, + {"matrix": [4, 0], "x": 4.5, "y": 0.125}, + {"matrix": [5, 0], "x": 5.5, "y": 0.25}, + {"matrix": [6, 0], "x": 6.5, "y": 0.25}, - {"x":6, "y":5}, {"x":7, "y":5}, - {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, - {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, + {"matrix": [0, 1], "x": 0, "y": 1.375, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1.375}, + {"matrix": [2, 1], "x": 2.5, "y": 1.125}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [4, 1], "x": 4.5, "y": 1.125}, + {"matrix": [5, 1], "x": 5.5, "y": 1.25}, + {"matrix": [6, 1], "x": 6.5, "y": 1.25, "h": 1.5}, + {"matrix": [0, 2], "x": 0, "y": 2.375, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.375}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, - {"x":9.5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.375, "w":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.375, "w":1.5}, - {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.375, "w":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.375, "w":1.5}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"matrix": [0, 3], "x": 0, "y": 3.375, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 3.375}, + {"matrix": [2, 3], "x": 2.5, "y": 3.125}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [4, 3], "x": 4.5, "y": 3.125}, + {"matrix": [5, 3], "x": 5.5, "y": 3.25}, + {"matrix": [6, 3], "x": 6.5, "y": 2.75, "h": 1.5}, + {"matrix": [0, 4], "x": 0.5, "y": 4.375}, + {"matrix": [1, 4], "x": 1.5, "y": 4.375}, + {"matrix": [2, 4], "x": 2.5, "y": 4.125}, + {"matrix": [3, 4], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4.125}, - {"x":9, "y":5}, {"x":10, "y":5}, - {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, - {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} - ] - }, + {"matrix": [5, 5], "x": 6, "y": 5}, + {"matrix": [6, 5], "x": 7, "y": 5}, + + {"matrix": [5, 4], "x": 5, "y": 6}, + {"matrix": [6, 4], "x": 6, "y": 6}, + {"matrix": [4, 5], "x": 7, "y": 6}, + + {"matrix": [3, 5], "x": 5, "y": 7}, + {"matrix": [2, 5], "x": 6, "y": 7}, + {"matrix": [1, 5], "x": 7, "y": 7}, + + {"matrix": [7, 0], "x": 9.5, "y": 0.25}, + {"matrix": [8, 0], "x": 10.5, "y": 0.25}, + {"matrix": [9, 0], "x": 11.5, "y": 0.125}, + {"matrix": [10, 0], "x": 12.5, "y": 0}, + {"matrix": [11, 0], "x": 13.5, "y": 0.125}, + {"matrix": [12, 0], "x": 14.5, "y": 0.375}, + {"matrix": [13, 0], "x": 15.5, "y": 0.375, "w": 1.5}, + + {"matrix": [7, 1], "x": 9.5, "y": 1.25, "h": 1.5}, + {"matrix": [8, 1], "x": 10.5, "y": 1.25}, + {"matrix": [9, 1], "x": 11.5, "y": 1.125}, + {"matrix": [10, 1], "x": 12.5, "y": 1}, + {"matrix": [11, 1], "x": 13.5, "y": 1.125}, + {"matrix": [12, 1], "x": 14.5, "y": 1.375}, + {"matrix": [13, 1], "x": 15.5, "y": 1.375, "w": 1.5}, + + {"matrix": [8, 2], "x": 10.5, "y": 2.25}, + {"matrix": [9, 2], "x": 11.5, "y": 2.125}, + {"matrix": [10, 2], "x": 12.5, "y": 2}, + {"matrix": [11, 2], "x": 13.5, "y": 2.125}, + {"matrix": [12, 2], "x": 14.5, "y": 2.375}, + {"matrix": [13, 2], "x": 15.5, "y": 2.375, "w": 1.5}, + {"matrix": [7, 3], "x": 9.5, "y": 2.75, "h": 1.5}, + + {"matrix": [8, 3], "x": 10.5, "y": 3.25}, + {"matrix": [9, 3], "x": 11.5, "y": 3.125}, + {"matrix": [10, 3], "x": 12.5, "y": 3}, + {"matrix": [11, 3], "x": 13.5, "y": 3.125}, + {"matrix": [12, 3], "x": 14.5, "y": 3.375}, + {"matrix": [13, 3], "x": 15.5, "y": 3.375, "w": 1.5}, + + {"matrix": [9, 4], "x": 11.5, "y": 4.125}, + {"matrix": [10, 4], "x": 12.5, "y": 4}, + {"matrix": [11, 4], "x": 13.5, "y": 4.125}, + {"matrix": [12, 4], "x": 14.5, "y": 4.375}, + {"matrix": [13, 4], "x": 15.5, "y": 4.375}, + + {"matrix": [7, 5], "x": 9, "y": 5}, + {"matrix": [8, 5], "x": 10, "y": 5}, + + {"matrix": [9, 5], "x": 9, "y": 6}, + {"matrix": [7, 4], "x": 10, "y": 6}, + {"matrix": [8, 4], "x": 11, "y": 6}, + + {"matrix": [12, 5], "x": 9, "y": 7}, + {"matrix": [11, 5], "x": 10, "y": 7}, + {"matrix": [10, 5], "x": 11, "y": 7} + ] + }, "LAYOUT_ergodox_pretty_80": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":9.5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.375, "w":1.5}, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375, "w": 1.5}, + {"matrix": [1, 0], "x": 1.5, "y": 0.375}, + {"matrix": [2, 0], "x": 2.5, "y": 0.125}, + {"matrix": [3, 0], "x": 3.5, "y": 0}, + {"matrix": [4, 0], "x": 4.5, "y": 0.125}, + {"matrix": [5, 0], "x": 5.5, "y": 0.25}, + {"matrix": [6, 0], "x": 6.5, "y": 0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.375, "w":1.5}, + {"matrix": [7, 0], "x": 9.5, "y": 0.25}, + {"matrix": [8, 0], "x": 10.5, "y": 0.25}, + {"matrix": [9, 0], "x": 11.5, "y": 0.125}, + {"matrix": [10, 0], "x": 12.5, "y": 0}, + {"matrix": [11, 0], "x": 13.5, "y": 0.125}, + {"matrix": [12, 0], "x": 14.5, "y": 0.375}, + {"matrix": [13, 0], "x": 15.5, "y": 0.375, "w": 1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.375, "w":1.5}, + {"matrix": [0, 1], "x": 0, "y": 1.375, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1.375}, + {"matrix": [2, 1], "x": 2.5, "y": 1.125}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [4, 1], "x": 4.5, "y": 1.125}, + {"matrix": [5, 1], "x": 5.5, "y": 1.25}, + {"matrix": [6, 1], "x": 6.5, "y": 1.25, "h": 1.5}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.375, "w":1.5}, + {"matrix": [7, 1], "x": 9.5, "y": 1.25, "h": 1.5}, + {"matrix": [8, 1], "x": 10.5, "y": 1.25}, + {"matrix": [9, 1], "x": 11.5, "y": 1.125}, + {"matrix": [10, 1], "x": 12.5, "y": 1}, + {"matrix": [11, 1], "x": 13.5, "y": 1.125}, + {"matrix": [12, 1], "x": 14.5, "y": 1.375}, + {"matrix": [13, 1], "x": 15.5, "y": 1.375, "w": 1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"matrix": [0, 2], "x": 0, "y": 2.375, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.375}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, - {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, - {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, - {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} - ] - } + {"matrix": [8, 2], "x": 10.5, "y": 2.25}, + {"matrix": [9, 2], "x": 11.5, "y": 2.125}, + {"matrix": [10, 2], "x": 12.5, "y": 2}, + {"matrix": [11, 2], "x": 13.5, "y": 2.125}, + {"matrix": [12, 2], "x": 14.5, "y": 2.375}, + {"matrix": [13, 2], "x": 15.5, "y": 2.375, "w": 1.5}, + + {"matrix": [0, 3], "x": 0, "y": 3.375, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 3.375}, + {"matrix": [2, 3], "x": 2.5, "y": 3.125}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [4, 3], "x": 4.5, "y": 3.125}, + {"matrix": [5, 3], "x": 5.5, "y": 3.25}, + {"matrix": [6, 3], "x": 6.5, "y": 2.75, "h": 1.5}, + + {"matrix": [7, 3], "x": 9.5, "y": 2.75, "h": 1.5}, + {"matrix": [8, 3], "x": 10.5, "y": 3.25}, + {"matrix": [9, 3], "x": 11.5, "y": 3.125}, + {"matrix": [10, 3], "x": 12.5, "y": 3}, + {"matrix": [11, 3], "x": 13.5, "y": 3.125}, + {"matrix": [12, 3], "x": 14.5, "y": 3.375}, + {"matrix": [13, 3], "x": 15.5, "y": 3.375, "w": 1.5}, + + {"matrix": [0, 4], "x": 0.5, "y": 4.375}, + {"matrix": [1, 4], "x": 1.5, "y": 4.375}, + {"matrix": [2, 4], "x": 2.5, "y": 4.125}, + {"matrix": [3, 4], "x": 3.5, "y": 4}, + {"matrix": [4, 4], "x": 4.5, "y": 4.125}, + + {"matrix": [9, 4], "x": 11.5, "y": 4.125}, + {"matrix": [10, 4], "x": 12.5, "y": 4}, + {"matrix": [11, 4], "x": 13.5, "y": 4.125}, + {"matrix": [12, 4], "x": 14.5, "y": 4.375}, + {"matrix": [13, 4], "x": 15.5, "y": 4.375}, + + {"matrix": [5, 5], "x": 6, "y": 5}, + {"matrix": [6, 5], "x": 7, "y": 5}, + + {"matrix": [7, 5], "x": 9, "y": 5}, + {"matrix": [8, 5], "x": 10, "y": 5}, + + {"matrix": [5, 4], "x": 5, "y": 6}, + {"matrix": [6, 4], "x": 6, "y": 6}, + {"matrix": [4, 5], "x": 7, "y": 6}, + + {"matrix": [9, 5], "x": 9, "y": 6}, + {"matrix": [7, 4], "x": 10, "y": 6}, + {"matrix": [8, 4], "x": 11, "y": 6}, + + {"matrix": [3, 5], "x": 5, "y": 7}, + {"matrix": [2, 5], "x": 6, "y": 7}, + {"matrix": [1, 5], "x": 7, "y": 7}, + + {"matrix": [12, 5], "x": 9, "y": 7}, + {"matrix": [11, 5], "x": 10, "y": 7}, + {"matrix": [10, 5], "x": 11, "y": 7} + ] + } } } diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c b/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c index 657583d..942f87d 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c @@ -1,3 +1,4 @@ +#include "keymap.h" #include "extra_mappings.h" #define LAYER_INCLUDE_FILE "definitions/layers.inc" diff --git a/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c b/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c index cb5dd10..e65ed13 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c +++ b/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c @@ -11,22 +11,18 @@ void beta_leader_end(void) { } bool beta_leader_check(void) { - BETA_SEQ_1_SHORT(KC_E) { - SEND_STRING(SECRET_GMAIL); - return false; - } - BETA_SEQ_2_LONG(KC_E, KC_M) { + BETA_SEQ_2_SHORT(KC_E, KC_M) { SEND_STRING(SECRET_EMAIL); return false; } - BETA_SEQ_2_LONG(KC_G, KC_M) { + BETA_SEQ_2_SHORT(KC_G, KC_M) { SEND_STRING(SECRET_GMAIL); return false; } - BETA_SEQ_2_LONG(KC_L, KC_I) { + BETA_SEQ_2_SHORT(KC_L, KC_I) { SEND_STRING(SECRET_SCHOOL_EMAIL); return false; } @@ -36,29 +32,25 @@ bool beta_leader_check(void) { return false; } - BETA_SEQ_2_LONG(KC_K, KC_B) { - layer_move(LAYER_KEYBOARD); - return false; - } - - + /* BETA_SEQ_1_SHORT(KC_F) { // doesn't work, no deactivate // also, this is slow since laeder key uses dumb logic - set_oneshot_layer(LAYER_NUMBERS, ONESHOT_START); + set_oneshot_layer(LAYER_FKEYS, ONESHOT_START); return false; } + */ - BETA_SEQ_2_LONG(KC_F, KC_1) { tap_code(KC_F1); return false; } - BETA_SEQ_2_LONG(KC_F, KC_2) { tap_code(KC_F2); return false; } - BETA_SEQ_2_LONG(KC_F, KC_3) { tap_code(KC_F3); return false; } - BETA_SEQ_2_LONG(KC_F, KC_4) { tap_code(KC_F4); return false; } - BETA_SEQ_2_LONG(KC_F, KC_5) { tap_code(KC_F5); return false; } - BETA_SEQ_2_LONG(KC_F, KC_Q) { tap_code(KC_F6); return false; } - BETA_SEQ_2_LONG(KC_F, KC_W) { tap_code(KC_F7); return false; } - BETA_SEQ_2_LONG(KC_F, KC_E) { tap_code(KC_F8); return false; } - BETA_SEQ_2_LONG(KC_F, KC_R) { tap_code(KC_F9); return false; } - BETA_SEQ_2_LONG(KC_F, KC_T) { tap_code(KC_F10); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_1) { tap_code(KC_F1); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_2) { tap_code(KC_F2); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_3) { tap_code(KC_F3); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_4) { tap_code(KC_F4); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_5) { tap_code(KC_F5); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_Q) { tap_code(KC_F6); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_W) { tap_code(KC_F7); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_E) { tap_code(KC_F8); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_R) { tap_code(KC_F9); return false; } + BETA_SEQ_2_SHORT(KC_F, KC_T) { tap_code(KC_F10); return false; } return true; } \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/keymaps/default/rules.mk b/keyboards/betalupi_ergodox/keymaps/default/rules.mk index 3e2f02c..f1301d3 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/rules.mk +++ b/keyboards/betalupi_ergodox/keymaps/default/rules.mk @@ -1,3 +1,3 @@ # rules.mk overrides -TAP_DANCE_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/post_config.h b/keyboards/betalupi_ergodox/post_config.h index b32669a..176dee9 100644 --- a/keyboards/betalupi_ergodox/post_config.h +++ b/keyboards/betalupi_ergodox/post_config.h @@ -1,23 +1,3 @@ -/* -Copyright 2012 Jun Wako -Copyright 2013 Oleg Kostyuk -Copyright 2015 ZSA Technology Labs Inc (@zsa) -Copyright 2020 Christopher Courtney (@drashna) - -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 /* diff --git a/keyboards/betalupi_ergodox/process_record.c b/keyboards/betalupi_ergodox/process_record.c new file mode 100644 index 0000000..772ab6e --- /dev/null +++ b/keyboards/betalupi_ergodox/process_record.c @@ -0,0 +1,187 @@ +#include "betalupi_ergodox.h" +#include "features/beta_rawhid.h" + + +// Handle a keypress. +// Returns true if we should keep looking for keypresses, +// returns false if we should stop. +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_LEVEL: + if (record->event.pressed) { + keyboard_config.led_level++; + if (keyboard_config.led_level > 4) { + keyboard_config.led_level = 0; + } + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + eeconfig_update_kb(keyboard_config.raw); + layer_state_set_kb(layer_state); + } + break; + + #ifdef RGB_MATRIX_ENABLE + case TOGGLE_LAYER_COLOR: + if (record->event.pressed) { + keyboard_config.disable_layer_led ^= 1; + if (keyboard_config.disable_layer_led) { + rgb_matrix_set_color_all(0, 0, 0); + } + eeconfig_update_kb(keyboard_config.raw); + } + break; + + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } + break; + } + eeconfig_update_kb(keyboard_config.raw); + } + + hid_send_state(); + return false; + + case RGB_MOD: + // Tell the host whenever we change animation mode. + hid_send_state(); + return true; + #endif + + // Custom RGBLIGHT macros + #ifdef RGBLIGHT_ENABLE + #ifdef RGBLIGHT_NO_EEPROM + case LIGHT_TOG: + if (record->event.pressed) { + rgblight_toggle_noeeprom(); + } + break; + + case LIGHT_MOD: + if (record->event.pressed) { + rgblight_step_noeeprom(); + } + break; + + case LIGHT_HUI: + if (record->event.pressed) { + rgblight_increase_hue_noeeprom(); + } + break; + + case LIGHT_HUD: + if (record->event.pressed) { + rgblight_decrease_hue_noeeprom(); + } + break; + + case LIGHT_SAI: + if (record->event.pressed) { + rgblight_increase_sat_noeeprom(); + } + break; + + case LIGHT_SAD: + if (record->event.pressed) { + rgblight_decrease_sat_noeeprom(); + } + break; + + case LIGHT_VAI: + if (record->event.pressed) { + rgblight_increase_val_noeeprom(); + } + break; + + case LIGHT_VAD: + if (record->event.pressed) { + rgblight_decrease_val_noeeprom(); + } + break; + + case LIGHT_SPI: + if (record->event.pressed) { + rgblight_increase_speed_noeeprom(); + } + break; + + case LIGHT_SPD: + if (record->event.pressed) { + rgblight_decrease_speed_noeeprom(); + } + break; + #else + case LIGHT_TOG: + if (record->event.pressed) { + rgblight_toggle(); + } + break; + + case LIGHT_MOD: + if (record->event.pressed) { + rgblight_step(); + } + break; + + case LIGHT_HUI: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + + case LIGHT_HUD: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + + case LIGHT_SAI: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + + case LIGHT_SAD: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + + case LIGHT_VAI: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + + case LIGHT_VAD: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + + case LIGHT_SPI: + if (record->event.pressed) { + rgblight_increase_speed(); + } + break; + + case LIGHT_SPD: + if (record->event.pressed) { + rgblight_decrease_speed(); + } + break; + #endif + #endif + } + + return process_record_user(keycode, record); +} diff --git a/keyboards/betalupi_ergodox/readme.md b/keyboards/betalupi_ergodox/readme.md deleted file mode 100644 index 9a4850e..0000000 --- a/keyboards/betalupi_ergodox/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -# Betalupi Ergodox - -This is a modified version of the [ZSA ErgoDox firmware](https://git.betalupi.com/mirrors-QMK/zsa_firmware), based on the `ergodox_ex/glow` keyboard. - - -# Notes - -This keyboard adds a few extra options in `config.h`: - -```cpp -#define RGBLIGHT_OFF_AT_START -#define RGBLIGHT_NO_EEPROM -#ifdef ENABLE_HID_SPELLCHECK -#ifdef ENABLE_AUTOCORRECT -``` - -Also, there are a few custom kecodes defined in `betalupi_keyboard.c`. This allows us to control the rgb matrix and rgb lighting seperately---my keyboard has both. - -``` -// Custom RGBLIGHT macros -LIGHT_TOG, // Toggle backlight -LIGHT_HUI, // Increase backlight hue -LIGHT_HUD, // Decrease backlight hue -LIGHT_SAI, // Increase backlight sat -LIGHT_SAD, // Decrease backlight sat -LIGHT_VAI, // Increase backlight val -LIGHT_VAD, // Decrease backlight val -LIGHT_SPI, // Increase backlight speed -LIGHT_SPD, // Decrease backlight speed -LIGHT_MOD, // Change backlight animation mode -``` diff --git a/keyboards/betalupi_ergodox/rules.mk b/keyboards/betalupi_ergodox/rules.mk index 08c169d..c25153c 100644 --- a/keyboards/betalupi_ergodox/rules.mk +++ b/keyboards/betalupi_ergodox/rules.mk @@ -38,13 +38,15 @@ BACKLIGHT_SUPPORTED = no DEBOUNCE_TYPE = sym_eager_pr SRC += \ - matrix.c \ - led_i2c.c \ + extra_mappings.c \ + process_record.c \ + hardware/matrix.c \ + hardware/led_i2c.c \ + hardware/maps.c \ features/beta_rawhid.c \ features/hid_spellcheck.c \ features/autocorrect/autocorrect.c \ - features/leader/leader.c \ - extra_mappings.c + features/leader/leader.c QUANTUM_LIB_SRC += i2c_master.c