Compare commits
No commits in common. "7cb29a6bbadca041978ec614536245bd6d9f6d83" and "ae7c2b953413da89838ff5f250eadad3378ae0fa" have entirely different histories.
7cb29a6bba
...
ae7c2b9534
|
@ -1,3 +1,23 @@
|
|||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
|
||||
Copyright 2015 ZSA Technology Labs Inc (@zsa)
|
||||
Copyright 2020 Christopher Courtney <drashna@live.com> (@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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "betalupi_ergodox.h"
|
||||
#include "features/beta_rawhid.h"
|
||||
|
||||
|
@ -46,7 +66,6 @@ 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);
|
||||
|
@ -56,6 +75,7 @@ void matrix_init_kb(void) {
|
|||
#endif
|
||||
|
||||
ergodox_blink_all_leds();
|
||||
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
|
@ -124,6 +144,139 @@ 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
|
||||
|
@ -142,6 +295,196 @@ 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;
|
||||
|
@ -152,14 +495,6 @@ 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) {
|
||||
|
|
|
@ -1,10 +1,29 @@
|
|||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
|
||||
Copyright 2015 ZSA Technology Labs Inc (@zsa)
|
||||
Copyright 2020 Christopher Courtney <drashna@live.com> (@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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "i2c_master.h"
|
||||
#include "hardware/macros.h"
|
||||
|
||||
// I2C aliases and register addresses (see "mcp23018.md")
|
||||
#define I2C_ADDR 0b0100000
|
||||
|
@ -103,3 +122,186 @@ 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 } \
|
||||
}
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
#pragma once
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
bool beta_process_leader(uint16_t keycode, keyrecord_t *record);
|
||||
|
||||
void beta_leader_start(void);
|
||||
void beta_leader_end(void);
|
||||
bool beta_leader_check(void);
|
||||
void beta_qk_leader_check(void);
|
||||
void beta_qk_leader_start(void);
|
||||
|
||||
|
||||
#define BETA_LEADER_EXTERNS() \
|
||||
extern bool beta_leading; \
|
||||
extern uint16_t beta_leader_time; \
|
||||
extern uint16_t beta_leader_sequence[5]; \
|
||||
extern uint8_t beta_leader_sequence_size
|
||||
|
||||
// Normal sequence
|
||||
// These do the same thing as SEQ_X_KEYS from qmk.
|
||||
#define BETA_SEQ_1_LONG(key) if (beta_leader_sequence[0] == (key) && beta_leader_sequence[1] == 0 && beta_leader_sequence[2] == 0 && beta_leader_sequence[3] == 0 && beta_leader_sequence[4] == 0 && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT)
|
||||
#define BETA_SEQ_2_LONG(key1, key2) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2) && beta_leader_sequence[2] == 0 && beta_leader_sequence[3] == 0 && beta_leader_sequence[4] == 0 && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT)
|
||||
#define BETA_SEQ_3_LONG(key1, key2, key3) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2) && beta_leader_sequence[2] == (key3) && beta_leader_sequence[3] == 0 && beta_leader_sequence[4] == 0 && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT)
|
||||
#define BETA_SEQ_4_LONG(key1, key2, key3, key4) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2) && beta_leader_sequence[2] == (key3) && beta_leader_sequence[3] == (key4) && beta_leader_sequence[4] == 0 && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT)
|
||||
#define BETA_SEQ_5_LONG(key1, key2, key3, key4, key5) if (leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2) && beta_leader_sequence[2] == (key3) && beta_leader_sequence[3] == (key4) && beta_leader_sequence[4] == (key5) && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT)
|
||||
|
||||
// Short-circuit sequence
|
||||
// These match as soon as a matching sequence is seen,
|
||||
// not waiting for the leader timeout. They thus register
|
||||
// immediately, but cannot be used in longer sequences.
|
||||
#define BETA_SEQ_1_SHORT(key) if (beta_leader_sequence[0] == (key))
|
||||
#define BETA_SEQ_2_SHORT(key1, key2) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2))
|
||||
#define BETA_SEQ_3_SHORT(key1, key2, key3) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2))
|
||||
#define BETA_SEQ_4_SHORT(key1, key2, key3, key4) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2))
|
||||
#define BETA_SEQ_5_SHORT(key1, key2, key3, key4, key5) if (beta_leader_sequence[0] == (key1) && beta_leader_sequence[1] == (key2))
|
||||
|
||||
#endif
|
|
@ -1,103 +0,0 @@
|
|||
#ifdef ENABLE_BETA_LEADER
|
||||
|
||||
#include "beta_leader.h"
|
||||
#include <string.h>
|
||||
|
||||
#ifndef LEADER_TIMEOUT
|
||||
#define LEADER_TIMEOUT 300
|
||||
#endif
|
||||
|
||||
__attribute__((weak)) void beta_leader_start(void) {}
|
||||
__attribute__((weak)) void beta_leader_end(void) {}
|
||||
__attribute__((weak)) bool beta_leader_check(void) { return true; }
|
||||
|
||||
// Leader key stuff
|
||||
bool beta_leading = false;
|
||||
uint16_t beta_leader_time = 0;
|
||||
bool beta_leader_change = false;
|
||||
|
||||
uint16_t beta_leader_sequence[5] = {0, 0, 0, 0, 0};
|
||||
uint8_t beta_leader_sequence_size = 0;
|
||||
|
||||
void beta_qk_leader_start(void) {
|
||||
if (beta_leading) {
|
||||
return;
|
||||
}
|
||||
beta_leader_start();
|
||||
beta_leading = true;
|
||||
beta_leader_time = timer_read();
|
||||
beta_leader_sequence_size = 0;
|
||||
beta_leader_change = false; // If true, run
|
||||
memset(beta_leader_sequence, 0, sizeof(beta_leader_sequence));
|
||||
}
|
||||
|
||||
void beta_qk_leader_check() {
|
||||
|
||||
#ifdef LEADER_NO_TIMEOUT
|
||||
bool timeout = (beta_leading && beta_leader_sequence_size > 0 && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT);
|
||||
#else
|
||||
bool timeout = (beta_leading && timer_elapsed(beta_leader_time) > LEADER_TIMEOUT);
|
||||
#endif
|
||||
|
||||
if (beta_leader_change || timeout) {
|
||||
beta_leader_change = false;
|
||||
|
||||
if (
|
||||
beta_leader_sequence[beta_leader_sequence_size - 1] == (KC_LEAD)
|
||||
) {
|
||||
beta_leading = false;
|
||||
beta_leader_end();
|
||||
return;
|
||||
}
|
||||
|
||||
if (timeout) {
|
||||
beta_leading = false;
|
||||
beta_leader_end();
|
||||
}
|
||||
|
||||
if (!beta_leader_check()) {
|
||||
beta_leading = false;
|
||||
beta_leader_end();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
bool beta_process_leader(uint16_t keycode, keyrecord_t *record) {
|
||||
// Leader key set-up
|
||||
if (record->event.pressed) {
|
||||
if (beta_leading) {
|
||||
# ifndef LEADER_NO_TIMEOUT
|
||||
if (timer_elapsed(beta_leader_time) < LEADER_TIMEOUT)
|
||||
# endif // LEADER_NO_TIMEOUT
|
||||
{
|
||||
# ifndef LEADER_KEY_STRICT_KEY_PROCESSING
|
||||
if (IS_QK_MOD_TAP(keycode)) {
|
||||
keycode = QK_MOD_TAP_GET_TAP_KEYCODE(keycode);
|
||||
} else if (IS_QK_LAYER_TAP(keycode)) {
|
||||
keycode = QK_LAYER_TAP_GET_TAP_KEYCODE(keycode);
|
||||
}
|
||||
# endif // LEADER_KEY_STRICT_KEY_PROCESSING
|
||||
if (beta_leader_sequence_size < ARRAY_SIZE(beta_leader_sequence)) {
|
||||
beta_leader_sequence[beta_leader_sequence_size] = keycode;
|
||||
beta_leader_sequence_size++;
|
||||
beta_leader_change = true;
|
||||
} else {
|
||||
beta_leading = false;
|
||||
beta_leader_end();
|
||||
return true;
|
||||
}
|
||||
# ifdef LEADER_PER_KEY_TIMING
|
||||
beta_leader_time = timer_read();
|
||||
# endif
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (keycode == QK_LEADER) {
|
||||
beta_qk_leader_start();
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,34 +0,0 @@
|
|||
// 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 \
|
||||
}
|
|
@ -1,133 +0,0 @@
|
|||
#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
|
|
@ -18,385 +18,96 @@
|
|||
"layouts": {
|
||||
"LAYOUT_ergodox": {
|
||||
"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":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, 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":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, 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},
|
||||
|
||||
{"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},
|
||||
{"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, 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": [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}
|
||||
{"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}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ergodox_pretty": {
|
||||
"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":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": [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":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": [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":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": [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, "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": [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":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": [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}
|
||||
{"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}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ergodox_80": {
|
||||
"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":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, 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":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, 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},
|
||||
|
||||
{"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},
|
||||
{"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, 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": [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}
|
||||
{"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}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ergodox_pretty_80": {
|
||||
"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":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": [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":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": [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":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": [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, "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": [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":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": [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}
|
||||
{"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}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
#define ENABLE_BETA_LEADER
|
||||
|
||||
// No timeout after initial leader key press
|
||||
#define LEADER_NO_TIMEOUT
|
||||
|
||||
// Timeout resets after each keypress
|
||||
#define LEADER_PER_KEY_TIMING
|
||||
#define LEADER_TIMEOUT 500
|
||||
#define LEADER_TIMEOUT 200
|
||||
|
||||
|
||||
// Enable spellcheck over HID
|
||||
|
|
|
@ -73,10 +73,6 @@ enum tap_dance_codes {
|
|||
#include "features/autocorrect/autocorrect.h"
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
#include "features/leader/beta_leader.h"
|
||||
#endif
|
||||
|
||||
#include "features/beta_rawhid.h"
|
||||
|
||||
// Send a special character.
|
||||
|
@ -90,14 +86,6 @@ bool send_special_character(uint16_t keycode) {
|
|||
}
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
beta_qk_leader_check();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Include all other parts of configuration
|
||||
#include "layers/layers.c"
|
||||
#include "parts/leader.c"
|
||||
|
@ -108,10 +96,6 @@ void matrix_scan_user(void) {
|
|||
// Return TRUE to allow QMK to handle keypress.
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
if (!beta_process_leader(keycode, record)) { return false; }
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_HID_SPELLCHECK
|
||||
if (!process_spellcheck(keycode, record)) { return false; }
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#include "keymap.h"
|
||||
#include "extra_mappings.h"
|
||||
#define LAYER_INCLUDE_FILE "definitions/layers.inc"
|
||||
|
||||
|
|
|
@ -1,56 +1,49 @@
|
|||
#include "features/leader/beta_leader.h"
|
||||
LEADER_EXTERNS();
|
||||
|
||||
BETA_LEADER_EXTERNS();
|
||||
|
||||
void beta_leader_start(void) {
|
||||
void leader_start(void) {
|
||||
ergodox_right_led_3_on();
|
||||
}
|
||||
|
||||
void beta_leader_end(void) {
|
||||
void leader_end(void) {
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
|
||||
bool beta_leader_check(void) {
|
||||
void matrix_scan_user(void) {
|
||||
LEADER_DICTIONARY() {
|
||||
leading = false;
|
||||
leader_end();
|
||||
|
||||
BETA_SEQ_2_SHORT(KC_E, KC_M) {
|
||||
SEQ_TWO_KEYS(KC_E, KC_M) {
|
||||
SEND_STRING(SECRET_EMAIL);
|
||||
return false;
|
||||
}
|
||||
|
||||
BETA_SEQ_2_SHORT(KC_G, KC_M) {
|
||||
SEQ_TWO_KEYS(KC_G, KC_M) {
|
||||
SEND_STRING(SECRET_GMAIL);
|
||||
return false;
|
||||
}
|
||||
|
||||
BETA_SEQ_2_SHORT(KC_L, KC_I) {
|
||||
SEQ_TWO_KEYS(KC_L, KC_I) {
|
||||
SEND_STRING(SECRET_SCHOOL_EMAIL);
|
||||
return false;
|
||||
}
|
||||
|
||||
BETA_SEQ_2_LONG(KC_K, KC_B) {
|
||||
SEQ_TWO_KEYS(KC_K, KC_B) {
|
||||
layer_move(LAYER_KEYBOARD);
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
BETA_SEQ_1_SHORT(KC_F) {
|
||||
//SEQ_ONE_KEY(KC_F) {
|
||||
// doesn't work, no deactivate
|
||||
// also, this is slow since laeder key uses dumb logic
|
||||
set_oneshot_layer(LAYER_FKEYS, ONESHOT_START);
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
// set_oneshot_layer(LAYER_FKEYS, ONESHOT_START);
|
||||
//}
|
||||
|
||||
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;
|
||||
SEQ_TWO_KEYS(KC_F, KC_1) { tap_code(KC_F1); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_2) { tap_code(KC_F2); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_3) { tap_code(KC_F3); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_4) { tap_code(KC_F4); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_5) { tap_code(KC_F5); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_Q) { tap_code(KC_F6); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_W) { tap_code(KC_F7); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_E) { tap_code(KC_F8); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_R) { tap_code(KC_F9); }
|
||||
SEQ_TWO_KEYS(KC_F, KC_T) { tap_code(KC_F10); }
|
||||
}
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
# rules.mk overrides
|
||||
|
||||
LEADER_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
|
@ -1,3 +1,23 @@
|
|||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
|
||||
Copyright 2015 ZSA Technology Labs Inc (@zsa)
|
||||
Copyright 2020 Christopher Courtney <drashna@live.com> (@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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,187 +0,0 @@
|
|||
#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);
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# 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
|
||||
```
|
|
@ -30,7 +30,7 @@ SLEEP_LED_ENABLE = no
|
|||
API_SYSEX_ENABLE = no
|
||||
MOUSE_SHARED_EP = no
|
||||
MAGIC_ENABLE = no
|
||||
LEADER_ENABLE = no
|
||||
LEADER_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -38,15 +38,12 @@ BACKLIGHT_SUPPORTED = no
|
|||
DEBOUNCE_TYPE = sym_eager_pr
|
||||
|
||||
SRC += \
|
||||
extra_mappings.c \
|
||||
process_record.c \
|
||||
hardware/matrix.c \
|
||||
hardware/led_i2c.c \
|
||||
hardware/maps.c \
|
||||
matrix.c \
|
||||
led_i2c.c \
|
||||
features/beta_rawhid.c \
|
||||
features/hid_spellcheck.c \
|
||||
features/autocorrect/autocorrect.c \
|
||||
features/leader/leader.c
|
||||
extra_mappings.c
|
||||
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
|
||||
|
|
Loading…
Reference in New Issue