Eric Gebhart user space and keymaps (#17487)

Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
Eric Gebhart
2022-11-12 00:09:41 +01:00
committed by GitHub
parent 49a78b8114
commit 050472a4d0
147 changed files with 13177 additions and 4102 deletions

46
keyboards/crkbd/keymaps/ericgebhart/keymap.c Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -14,47 +14,5 @@
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 "ericgebhart.h"
#define Crkbd_base(...) Base_3x6_3(__VA_ARGS__)
#define Crkbd_bepo(...) Base_bepo_3x6_3(__VA_ARGS__)
#define Crkbd_bepo6(...) Base_bepo6_3x6_3(__VA_ARGS__)
#define Crkbd_transient(...) Transient6_3x6_3(__VA_ARGS__)
/*
* The `Crkbd_base` macro is a template to allow the use of identical
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
* that there is no need to set them up for each layout, and modify all of
* them if I want to change them. This helps to keep consistency and ease
* of use. K## is a placeholder to pass through the individual keycodes
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Qwerty based Base layers
[_DVORAK] = Crkbd_base(___DVORAK___),
[_BEAKL] = Crkbd_base(___BEAKL15___),
[_COLEMAK] = Crkbd_base(___COLEMAK_DH___),
[_QWERTY] = Crkbd_base(___QWERTY___),
// Bepo base layers
[_BEAKL_BP] = Crkbd_bepo(___BEAKL15_FR___),
[_DVORAK_BP] = Crkbd_bepo(___DVORAK_FR___),
[_BEPO] = Crkbd_bepo6(___BEPO6___),
// Transient layers.
[_SYMB] = Crkbd_transient(___SYMB_BEAKLB_3x12___),
[_SYMB_BP] = Crkbd_transient(___SYMB_BEAKLB_BP_3x12___),
[_KEYPAD] = Crkbd_transient(___KP_C_3x12___),
[_KEYPAD_BP] = Crkbd_transient(___KP_C_BP_3x12___),
[_TOPROWS] = Crkbd_transient(___TOPROWS_3x12___),
[_TOPROWS_BP] = Crkbd_transient(___TOPROWS_BP_3x12___),
[_NAV] = Crkbd_transient(___NAV_3x12___),
[_LAYERS] = Crkbd_transient(___LAYERS_3x12___),
//[_RGB] = Crkbd_transient(___RGB_3x12___),
[_ADJUST] = Crkbd_transient(___ADJUST_3x12___),
///HPT_TOG, KC_NUKE, ___, ___, TG_MODS, HPT_FBK
};
// See: users/ericgebhart.

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -14,35 +14,5 @@
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 "keymap_bepo.h"
#include "ericgebhart.h"
#include "layouts.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Qwerty Base layers
[_DVORAK] = Dox_base(___NUMS___, ___DVORAK___),
[_QWERTY] = Dox_base(___NUMS___, ___QWERTY___),
[_COLEMAK] = Dox_base(___NUMS___, ___COLEMAK_DH___),
[_BEAKL] = Dox_base(___NUMS___, ___BEAKL15___),
// Bepo Base layers
[_DVORAK_BP] = Dox_bepo_base(___NUMS_BP___, ___DVORAK_FR___),
[_BEAKL_BP] = Dox_bepo_base(___BKLNUMS_BP___, ___BEAKL15_FR___),
[_BEPO] = Dox_bepo_base6(___BEPO6___),
// transient layers.
// Switch to using a transient layer macro
[_SYMB] = Dox_transient(___12_FUNC___, ___SYMB_BEAKLA_3x12___),
[_SYMB_BP] = Dox_transient(___12_FUNC___, ___SYMB_BEAKLA_BP_3x12___),
[_TOPROWS] = Dox_transient(___12___, ___TOPROWS_3x12___),
[_TOPROWS_BP] = Dox_transient(___12___, ___TOPROWS_BP_3x12___),
[_KEYPAD] = Dox_transient(___KEYPAD_BKL_FUNC_4x12___),
[_KEYPAD_BP] = Dox_transient(___KEYPAD_BKL_FUNC_BP_4x12___),
[_NAV] = Dox_transient(___12___, ___NAV_3x12___),
[_LAYERS] = Dox_transient(___12___, ___LAYERS_3x12___),
[_RGB] = Dox_transient(___12___, ___RGB_3x12___),
};
// See: users/ericgebhart.

View File

@@ -1,139 +0,0 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
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/>.
*/
/********************************************************************/
/* Ergodox EZ */
/********************************************************************/
// This one is is set up to pass in the number row.
// Beakl and bepo both change the number row.
// Left, middle, right, bottom, and thumbs all stay the same.
#define Base_dox( \
K01, K02, K03, K04, K05, \
K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, \
K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, \
K26, K27, K28, K29, K2A, \
K31, K32, K33, K34, K35, \
K36, K37, K38, K39, K3A \
) \
LVARG_edox( \
ROW0_LEFT(K01, K02, K03, K04, K05), \
___2_MIDDLE_1___, \
ROW0_RIGHT(K06, K07, K08, K09, K0A), \
\
ROW1_LEFT(K11, K12, K13, K14, K15), \
___2_MIDDLE_2___, \
ROW1_RIGHT(K16, K17, K18, K19, K1A), \
\
ROW2_LEFT(K21, K22, K23, K24, K25), \
ROW2_RIGHT(K26, K27, K28, K29, K2A), \
\
ROW3_LEFT(K31, K32, K33, K34, K35), \
___2_MIDDLE_3___, \
ROW3_RIGHT(K36, K37, K38, K39, K3A), \
___5_BOTTOM_LEFT___, ___5_BOTTOM_RIGHT___, \
___12_DOX_ALL_THUMBS___ \
)
#define Base_dox_bepo( \
K01, K02, K03, K04, K05, \
K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, \
K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, \
K26, K27, K28, K29, K2A, \
K31, K32, K33, K34, K35, \
K36, K37, K38, K39, K3A \
) \
LVARG_edox( \
ROW0_LEFT(K01, K02, K03, K04, K05), \
___2_MIDDLE_1___, \
ROW0_RIGHT(K06, K07, K08, K09, K0A), \
\
ROW1_LEFT(K11, K12, K13, K14, K15), \
___2_MIDDLE_2___, \
ROW1_RIGHT(K16, K17, K18, K19, K1A), \
\
ROW2_LEFT(K21, K22, K23, K24, K25), \
ROW2_RIGHT(K26, K27, K28, K29, K2A), \
\
ROW3_LEFT(K31, K32, K33, K34, K35), \
___2_MIDDLE_3___, \
ROW3_RIGHT(K36, K37, K38, K39, K3A), \
___5_BOTTOM_LEFT___, ___5_BOTTOM_RIGHT___, \
___12_DOX_ALL_THUMBS_BP___ \
)
#define Base_dox_bepo6( \
K01, K02, K03, K04, K05, K06, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
K27, K28, K29, K2A, K2B, K2C \
) \
LVARG_edox( \
___6SYMBOL_BEPO_L___, \
___2_MIDDLE_T_BP___, \
___6SYMBOL_BEPO_R___, \
ROW1_LEFT_BP6(K01, K02, K03, K04, K05, K06), \
___2_MIDDLE_2_BP___, \
ROW1_RIGHT_BP6(K07, K08, K09, K0A, K0B, K0C), \
\
ROW2_LEFT_BP6(K11, K12, K13, K14, K15, K16), \
ROW2_RIGHT_BP6(K17, K18, K19, K1A, K1B, K1C), \
\
ROW3_LEFT_BP6(K21, K22, K23, K24, K25, K26), \
___2_MIDDLE_3_BP___, \
ROW3_RIGHT_BP6(K27, K28, K29, K2A, K2B, K2C), \
\
___5_BOTTOM_LEFT_BP___, ___5_BOTTOM_RIGHT_BP___, \
___12_DOX_ALL_THUMBS_BP___ \
)
#define Transient_dox6( \
K01, K02, K03, K04, K05, K06, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
K27, K28, K29, K2A, K2B, K2C, \
K31, K32, K33, K34, K35, K36, \
K37, K38, K39, K3A, K3B, K3C \
) \
LVARG_edox( \
K01, K02, K03, K04, K05, K06, \
___2___, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
___2___, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
K27, K28, K29, K2A, K2B, K2C, \
K31, K32, K33, K34, K35, K36, \
___2___, \
K37, K38, K39, K3A, K3B, K3C, \
___5___, ___5___, \
___12___ \
)
#define Dox_base(...) Base_dox(__VA_ARGS__)
#define Dox_bepo_base(...) Base_dox_bepo(__VA_ARGS__)
#define Dox_bepo_base6(...) Base_dox_bepo6(__VA_ARGS__)
#define Dox_transient(...) Transient_dox6(__VA_ARGS__)

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -15,34 +15,4 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "keymap_bepo.h"
#include "ericgebhart.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 4x10
[_DVORAK] = BASE_5x14(___NUMS___, ___DVORAK___),
[_QWERTY] = BASE_5x14(___NUMS___, ___QWERTY___),
[_COLEMAK] = BASE_5x14(___NUMS___, ___COLEMAK_DH___),
[_BEAKL] = BASE_5x14(___BKLNUMS___, ___BEAKL15___),
//[_DVORAK_BP] = BASE_5x14_bepo(___DVORAK_FR___),
//[_BEAKL_BP] = BASE_5x14_bepo(___BEAKL15_FR___),
// 4x12
//[_BEPO] = BASE_5x14_bepo6(___BEPO6_FR___),
// transient macro takes a 3x12 for args
[_SYMB] = TRANSIENT_5x14(___12___, ___SYMB_BEAKLA_3x12___),
//[_SYMB_BP] = TRANSIENT_5x14(___SYMB_BEAKLA_BP_3x12___),
[_TOPROWS] = TRANSIENT_5x14(___12___, ___TOPROWS_3x12___),
//[_TOPROWS_BP] = TRANSIENT_5x14(___TOPROWS_BP_3x12___),
[_KEYPAD] = TRANSIENT_5x14(___12___, ___KP_C_3x12___),
//[_KEYPAD_BP] = TRANSIENT_5x14(___KP_C_BP_3x12___),
// Navigation and control
[_NAV] = TRANSIENT_5x14(___12___, ___NAV_3x12___),
[_LAYERS] = TRANSIENT_5x14(___12___, ___LAYERS_3x12___),
//[_RGB] = TRANSIENT_5x14(___12___, ___RGB_3x12___),
};
// See: users/ericgebhart.

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -14,40 +14,5 @@
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 "keymap_bepo.h"
#include "ericgebhart.h"
#define LAYOUT_PVARG(...) LAYOUT_pretty(__VA_ARGS__)
#define Kinesis_base(...) Base_4x6_4_6(__VA_ARGS__)
#define Kinesis_bepo_base(...) Base_bepo_4x6_4_6(__VA_ARGS__)
#define Kinesis_bepo_base6(...) Base_bepo6_4x6_4_6(__VA_ARGS__)
#define Kinesis_transient(...) Transient6_4x6_4_6(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Qwerty Base layers
[_DVORAK] = Kinesis_base(___NUMS___, ___DVORAK___),
[_QWERTY] = Kinesis_base(___NUMS___, ___QWERTY___),
[_COLEMAK] = Kinesis_base(___NUMS___, ___COLEMAK_DH___),
[_BEAKL] = Kinesis_base(___BKLNUMS___, ___BEAKL15___),
// Bepo Base layers
[_DVORAK_BP] = Kinesis_bepo_base(___NUMS_BP___, ___DVORAK_FR___),
[_BEAKL_BP] = Kinesis_bepo_base(___BKLNUMS_BP___, ___BEAKL15_FR___),
[_BEPO] = Kinesis_bepo_base6(___BEPO6___),
// transient layers.
// Switch to using a transient layer macro
[_SYMB] = Kinesis_transient(___12_FUNC___, ___SYMB_BEAKLA_3x12___),
[_SYMB_BP] = Kinesis_transient(___12_FUNC___, ___SYMB_BEAKLA_BP_3x12___),
[_TOPROWS] = Kinesis_transient(___12___, ___TOPROWS_3x12___),
[_TOPROWS_BP] = Kinesis_transient(___12___, ___TOPROWS_BP_3x12___),
[_NAV] = Kinesis_transient(___12___, ___NAV_3x12___),
[_LAYERS] = Kinesis_transient(___12___, ___LAYERS_3x12___),
[_ADJUST] = Kinesis_transient(___12___, ___ADJUST_3x12___),
//[_RGB] = Kinesis_transient(___12___, ___RGB_3x12___),
};
// See: users/ericgebhart.

View File

@@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -14,88 +14,5 @@
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 "ericgebhart.h"
#include "layouts.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Qwerty based Base layers
[_DVORAK] = Rebound_base(___DVORAK___),
[_BEAKL] = Rebound_base(___BEAKL15___),
[_COLEMAK] = Rebound_base(___COLEMAK_DH___),
[_QWERTY] = Rebound_base(___QWERTY___),
// Bepo base layers
[_BEAKL_BP] = Rebound_base_bepo(___BEAKL15_FR___),
[_DVORAK_BP] = Rebound_base_bepo(___DVORAK_FR___),
[_BEPO] = Rebound_base_bepo6(___BEPO6___),
// Transient layers.
[_SYMB] = Rebound_transient(___SYMB_BEAKLA_3x12___),
[_SYMB_BP] = Rebound_transient(___SYMB_BEAKLA_BP_3x12___),
[_KEYPAD] = Rebound_transient(___KP_C_3x12___),
[_KEYPAD_BP] = Rebound_transient(___KP_C_BP_3x12___),
[_TOPROWS] = Rebound_transient(___TOPROWS_3x12___),
[_TOPROWS_BP] = Rebound_transient(___TOPROWS_BP_3x12___),
[_NAV] = Rebound_transient(___NAV_3x12___),
[_LAYERS] = Rebound_transient(___LAYERS_3x12___),
};
bool encoder_update_user(uint8_t index, bool clockwise) {
switch(get_highest_layer(layer_state)){
case _DVORAK:
if (clockwise) {
tap_code16(KC_VOLD);
} else {
tap_code16(KC_VOLU);
}
break;
case _NAV:
if (clockwise) {
tap_code16(S(KC_TAB));
} else {
tap_code16(KC_TAB);
}
break;
}
return true;
}
#ifdef OLED_ENABLE
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR(""), false);
switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("Rebound\n"), false);
oled_write_P(PSTR("Rev4\n"), false);
break;
case _NAV:
oled_write_P(PSTR("Nav\n"), false);
break;
case _SYMB_BEAKL:
case _SYMB:
oled_write_P(PSTR("Symbols\n"), false);
break;
case _KEYPAD:
oled_write_P(PSTR("Top Rows\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
}
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
#endif
// See: users/ericgebhart.

View File

@@ -1,113 +0,0 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
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/>.
*/
/********************************************************************/
/* Rebound 4 rows, 1x12, 3x13 */
/********************************************************************/
#define LVARG_rebound(...) LAYOUT_all(__VA_ARGS__)
#define LAYOUT_rebound_base( \
K01, K02, K03, K04, K05, \
K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, \
K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, \
K26, K27, K28, K29, K2A \
) \
LVARG_rebound( \
ROW1_LEFT(K01, K02, K03, K04, K05), \
ROW1_RIGHT(K06, K07, K08, K09, K0A), \
\
ROW2_LEFT(K11, K12, K13, K14, K15), \
KC_CCCV, \
ROW2_RIGHT(K16, K17, K18, K19, K1A), \
\
ROW3_LEFT(K21, K22, K23, K24, K25), \
MO(_ADJUST), \
ROW3_RIGHT(K26, K27, K28, K29, K2A), \
___13_BOTTOM___ \
)
#define LAYOUT_rebound_base_bepo( \
K01, K02, K03, K04, K05, \
K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, \
K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, \
K26, K27, K28, K29, K2A \
) \
LVARG_rebound( \
ROW1_LEFT_BP(K01, K02, K03, K04, K05), \
ROW1_RIGHT_BP(K06, K07, K08, K09, K0A), \
\
ROW2_LEFT_BP(K11, K12, K13, K14, K15), \
KC_CCCV, \
ROW2_RIGHT_BP(K16, K17, K18, K19, K1A), \
\
ROW3_LEFT_BP(K21, K22, K23, K24, K25), \
MO(_ADJUST), \
ROW3_RIGHT_BP(K26, K27, K28, K29, K2A), \
___13_BOTTOM_BP___ \
)
// Just for bepo because it's a 3x6 matrix on each side.
// So 3 pairs of 6 keys, left and right.
#define LAYOUT_rebound_base_bepo6( \
K01, K02, K03, K04, K05, K06, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
K27, K28, K29, K2A, K2B, K2C \
) \
LVARG_rebound( \
ROW1_LEFT_BP6(K01, K02, K03, K04, K05, K06), \
ROW1_RIGHT_BP6(K07, K08, K09, K0A, K0B, K0C), \
\
ROW2_LEFT_BP6(K11, K12, K13, K14, K15, K16), \
KC_CCCV, \
ROW2_RIGHT_BP6(K17, K18, K19, K1A, K1B, K1C), \
\
ROW3_LEFT_BP6(K21, K22, K23, K24, K25, K26), \
MO(_ADJUST), \
ROW3_RIGHT_BP6(K27, K28, K29, K2A, K2B, K2C), \
___13_BOTTOM_BP___ \
)
#define LAYOUT_rebound_transient( \
K01, K02, K03, K04, K05, K06, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
K27, K28, K29, K2A, K2B, K2C \
) \
LVARG_rebound( \
K01, K02, K03, K04, K05, K06, \
K07, K08, K09, K0A, K0B, K0C, \
K11, K12, K13, K14, K15, K16, \
___, \
K17, K18, K19, K1A, K1B, K1C, \
K21, K22, K23, K24, K25, K26, \
___, \
K27, K28, K29, K2A, K2B, K2C, \
___, ___12___)
#define Rebound_base(...) LAYOUT_rebound_base(__VA_ARGS__)
#define Rebound_base_bepo(...) LAYOUT_rebound_base_bepo(__VA_ARGS__)
#define Rebound_base_bepo6(...) LAYOUT_rebound_base_bepo6(__VA_ARGS__)
#define Rebound_transient(...) LAYOUT_rebound_transient(__VA_ARGS__)

View File

@@ -1,6 +1,7 @@
# Build Options
# change yes to no to disable
#
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
@@ -11,6 +12,7 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = yes # Enable the tap dance feature.

View File

@@ -0,0 +1,25 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// otherwise the other promicro v3 isn't found
#define SPLIT_USB_DETECT
#define OLED_DISPLAY_128X64

View File

@@ -0,0 +1,18 @@
/*
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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/>.
*/
// See: users/ericgebhart.

View File

@@ -0,0 +1,3 @@
EXTRAKEY_ENABLE = no # Audio control and System control
ENCODER_ENABLE = no # Enables the use of one or more encoders
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
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
@@ -15,125 +15,4 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "keymap_bepo.h"
#include "ericgebhart.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// 4x10
[_DVORAK] = BASE_5x15(___NUMS___, ___DVORAK___),
[_QWERTY] = BASE_5x15(___NUMS___, ___QWERTY___),
[_COLEMAK] = BASE_5x15(___NUMS___, ___COLEMAK_DH___),
[_BEAKL] = BASE_5x15(___BKLNUMS___, ___BEAKL15___),
//[_DVORAK_BP] = BASE_5x15_bepo(___DVORAK_FR___),
//[_BEAKL_BP] = BASE_5x15_bepo(___BEAKL15_FR___),
// 4x12
//[_BEPO] = BASE_5x15_bepo6(___BEPO6_FR___),
// transient macro takes a 4x12 for args
[_SYMB] = TRANSIENT_5x15(___12___, ___SYMB_BEAKLA_3x12___),
//[_SYMB_BP] = TRANSIENT_5x15(___12___, ___SYMB_BEAKLA_BP_3x12___),
[_TOPROWS] = TRANSIENT_5x15(___12___, ___TOPROWS_3x12___),
//[_TOPROWS_BP] = TRANSIENT_5x15(___12___, ___TOPROWS_BP_3x12___),
[_KEYPAD] = TRANSIENT_5x15(___12___, ___KP_C_3x12___),
//[_KEYPAD_BP] = TRANSIENT_5x15(___12___, ___KP_C_BP_3x12___),
// Navigation and control
[_NAV] = TRANSIENT_5x15(___12___, ___NAV_3x12___),
[_LAYERS] = TRANSIENT_5x15(___12___, ___LAYERS_3x12___),
//[_RGB] = TRANSIENT_5x15(___12___, ___RGB_3x12___),
[_ADJUST] = TRANSIENT_5x15(___12___, ___ADJUST_3x12___),
};
/********************************************************************************/
/* Using layers to do RGB underlighting */
/********************************************************************************/
const rgblight_segment_t PROGMEM on_bepo[] = RGBLIGHT_LAYER_SEGMENTS(
{0, 2, HSV_AZURE}
);
const rgblight_segment_t PROGMEM bepo[] = RGBLIGHT_LAYER_SEGMENTS(
{3, 2, HSV_MAGENTA}
);
const rgblight_segment_t PROGMEM dvorak[] = RGBLIGHT_LAYER_SEGMENTS(
{3, 2, HSV_AZURE}
);
const rgblight_segment_t PROGMEM media[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_GREEN}
);
const rgblight_segment_t PROGMEM symbol[] = RGBLIGHT_LAYER_SEGMENTS(
{4, 2, HSV_GOLD}
);
const rgblight_segment_t PROGMEM keypad[] = RGBLIGHT_LAYER_SEGMENTS(
{4, 2, HSV_BLUE}
);
const rgblight_segment_t PROGMEM layers[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_RED}
);
const rgblight_segment_t PROGMEM rgb[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_ORANGE}
);
const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(on_bepo, bepo, dvorak, media, symbol,
keypad, layers, rgb);
void keyboard_post_init_user(void) {
rgblight_sethsv_noeeprom(HSV_PURPLE);
rgblight_layers = rgb_layers;
}
layer_state_t layer_state_set_user(layer_state_t state) {
// rgblight_set_layer_state(0, !on_qwerty());
rgblight_set_layer_state(0, layer_state_cmp(state, _DVORAK));
rgblight_set_layer_state(1, layer_state_cmp(state, _BEPO));
rgblight_set_layer_state(2, layer_state_cmp(state, _DVORAK));
//|| layer_state_cmp(state, DVORAK_ON_BEPO)));
rgblight_set_layer_state(3, layer_state_cmp(state, _NAV));
rgblight_set_layer_state(4, layer_state_cmp(state, _SYMB) );
//(layer_state_cmp(state, SYMB) || (layer_state_cmp(state, SYMB_ON_BEPO))));
rgblight_set_layer_state(5, layer_state_cmp(state, _KEYPAD) );
///(layer_state_cmp(state, KEYPAD) || (layer_state_cmp(state, KEYPAD_ON_BEPO))));
rgblight_set_layer_state(6, layer_state_cmp(state, _LAYERS));
rgblight_set_layer_state(7, layer_state_cmp(state, _RGB));
return state;
}
/* void suspend_power_down_user(void) { */
/* rgblight_disable(); */
/* } */
/* void suspend_wakeup_init_user(void) { */
/* rgblight_enable(); */
/* } */
/* bool is_shift_pressed = false; */
/* bool led_update_user(led_t led_state) { */
/* rgblight_set_layer_state(2, is_shift_pressed != led_state.caps_lock); */
/* return true; */
/* } */
/* bool process_record_user(uint16_t keycode, keyrecord_t* record) { */
/* switch (keycode) { */
/* case KC_LSFT: */
/* case KC_RSFT: */
/* is_shift_pressed = record->event.pressed; */
/* rgblight_set_layer_state(2, is_shift_pressed != host_keyboard_led_state().caps_lock); */
/* default: */
/* return true; */
/* } */
/* } */
// See: users/ericgebhart.

View File

@@ -1 +0,0 @@
# The default keymap for xd75, with led controls

View File

@@ -1,3 +1,3 @@
RGBLIGHT_ENABLE = yes
RGBLIGHT_ANIMATION = yes
RGBLIGHT_ANIMATION = no
# BACKLIGHT_ENABLE = yes