[Keymap] Drashna's Defaults cleanup (#13722)

This commit is contained in:
Drashna Jaelre 2021-07-26 17:59:49 -07:00 committed by GitHub
parent 368efb5d2b
commit eb46c954dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 986 additions and 1389 deletions

View File

@ -85,15 +85,15 @@ int16_t axisCoordinate(uint8_t pin, uint16_t origin) {
int8_t axisToMouseComponent(uint8_t pin, int16_t origin, uint8_t maxSpeed, int8_t polarity) { int8_t axisToMouseComponent(uint8_t pin, int16_t origin, uint8_t maxSpeed, int8_t polarity) {
int coordinate = axisCoordinate(pin, origin); int coordinate = axisCoordinate(pin, origin);
if (coordinate == 0) { if (coordinate != 0) {
return 0;
} else {
float percent = (float)coordinate / 100; float percent = (float)coordinate / 100;
if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { if (get_mods() & MOD_BIT(KC_LSFT)) {
return percent * precisionSpeed * polarity * (abs(coordinate) / speedRegulator); return percent * precisionSpeed * polarity * (abs(coordinate) / speedRegulator);
} else { } else {
return percent * maxCursorSpeed * polarity * (abs(coordinate) / speedRegulator); return percent * maxCursorSpeed * polarity * (abs(coordinate) / speedRegulator);
} }
} else {
return 0;
} }
} }

View File

@ -39,54 +39,29 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_base_wrapper( [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_LOWER] = LAYOUT_wrapper( [_LOWER] = LAYOUT_wrapper(
KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC, KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC,
KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE, KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE,

View File

@ -37,56 +37,32 @@
KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \
) )
#define LAYOUT_gergo_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_gergo_base_wrapper( [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_gergo_base_wrapper(
[_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_gergo_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_gergo_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_gergo_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_gergo_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_gergo_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_gergo_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_LOWER] = LAYOUT_gergo_wrapper( [_LOWER] = LAYOUT_gergo_wrapper(
KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
_______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_PIPE, _______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_PIPE,

View File

@ -32,58 +32,33 @@
KC_SPC, OS_LGUI, KC_ENT, \ KC_SPC, OS_LGUI, KC_ENT, \
BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \
) )
#define LAYOUT_4x6_right_base_wrapper(...) LAYOUT_4x6_right_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_4x6_right_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_4x6_right_base_wrapper( [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_4x6_right_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_4x6_right_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_4x6_right_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_4x6_right_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_4x6_right_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_4x6_right_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_4x6_right_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_MOUSE] = LAYOUT_4x6_right( [_MOUSE] = LAYOUT_4x6_right(
_______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, DPI_CONFIG, _______,
_______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______,
@ -182,7 +157,8 @@ void matrix_scan_keymap(void) {
bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
switch (keycode) { switch (keycode) {
case TT(_MOUSE): { case TT(_MOUSE):
{
if (record->event.pressed) { if (record->event.pressed) {
mouse_keycode_tracker++; mouse_keycode_tracker++;
} else { } else {
@ -238,6 +214,4 @@ void matrix_init_keymap(void) {
#endif #endif
} }
void keyboard_post_init_keymap(void) { void keyboard_post_init_keymap(void) { matrix_init_keymap(); }
matrix_init_keymap();
}

View File

@ -32,4 +32,8 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
{{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
{{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}}; {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}};
# ifdef ENCODER_MAP_ENABLE
const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
# endif
#endif #endif

View File

@ -30,19 +30,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 6 #define MATRIX_COLS 6
// wiring of each half // wiring of each half
#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 } #define MATRIX_COL_PINS \
#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2 } { C0, C1, C2, C3, C4, C5 }
#define MATRIX_ROW_PINS \
{ F7, F6, F5, F4, F3, F2 }
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
// WS2812 RGB LED strip input and number of LEDs // WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN E7 #define RGB_DI_PIN E7
#define RGBLED_NUM 58 #define RGBLED_NUM 20
#define RGBLIGHT_SPLIT #define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 30, 28 } #define RGBLED_SPLIT \
{ 10, 10 }
#define RGBLIGHT_SLEEP #define RGBLIGHT_SLEEP
// #define RGBW // #define RGBW
#define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_LIMIT_VAL 100
/* define if matrix has ghost */ /* define if matrix has ghost */
//#define MATRIX_HAS_GHOST //#define MATRIX_HAS_GHOST
@ -62,7 +65,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define AUDIO_PIN C6 #define AUDIO_PIN C6
#define AUDIO_PIN_ALT B7 #define AUDIO_PIN_ALT B7
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
#define DYNAMIC_KEYMAP_LAYER_COUNT 16 #define DYNAMIC_KEYMAP_LAYER_COUNT 16
#define LAYER_STATE_16BIT #define LAYER_STATE_16BIT
@ -70,9 +72,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SOFT_SERIAL_PIN D2 #define SOFT_SERIAL_PIN D2
#define EE_HANDS #define EE_HANDS
#define ENCODERS_PAD_A { D5 } #define ENCODERS_PAD_A \
#define ENCODERS_PAD_B { D6 } { D5 }
#define ENCODER_RESOLUTION 1 #define ENCODERS_PAD_B \
{ D6 }
#define ENCODER_RESOLUTION 4
/* Set 0 if debouncing isn't needed */ /* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5 #define DEBOUNCE 5

View File

@ -28,70 +28,44 @@
SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \
LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
OS_LGUI, OS_LALT, OS_RGUI, OS_RALT, \ OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \
KC_PSCR, KC_GRV, MEH_T(KC_BTN3), \ KC_MUTE, KC_GRV, KC_BTN3, \
KC_SPC, OS_LGUI, KC_ENT, \ KC_SPC, OS_LGUI, KC_ENT, \
BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \
) )
#define LAYOUT_5x6_right_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_5x6_right_base_wrapper( [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_5x6_right_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_5x6_right_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_5x6_right_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_5x6_right_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_5x6_right_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_5x6_right_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_5x6_right_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_MOUSE] = LAYOUT_5x6_right( [_MOUSE] = LAYOUT_5x6_right(
_______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______,
_______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_BTN3,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______ _______, _______, _______, _______
), ),
@ -146,6 +120,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_NUKE, _______ _______, _______, KC_NUKE, _______
), ),
}; };
#define BASE_ENCODERS { { KC_VOLD, KC_VOLU }, { KC_WH_D, KC_WH_U } }
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_DEFAULT_LAYER_1] = BASE_ENCODERS,
[_DEFAULT_LAYER_2] = BASE_ENCODERS,
[_DEFAULT_LAYER_3] = BASE_ENCODERS,
[_DEFAULT_LAYER_4] = BASE_ENCODERS,
[_GAMEPAD] = { { _______, _______ }, { _______, _______ } },
[_DIABLO] = { { _______, _______ }, { _______, _______ } },
[_MOUSE] = { { _______, _______ }, { KC_WH_D, KC_WH_U } },
[_MEDIA] = { { _______, _______ }, { _______, _______ } },
[_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } },
[_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
[_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
};
#else
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
tap_code_delay(clockwise ? KC_VOLU : KC_VOLD, 5);
} else if (index == 1) {
tap_code_delay(clockwise ? KC_WH_U : KC_WH_D, 5);
}
return false;
}
#endif
// clang-format on // clang-format on
#ifdef POINTING_DEVICE_ENABLE #ifdef POINTING_DEVICE_ENABLE
@ -189,7 +190,8 @@ void matrix_scan_keymap(void) {
bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
switch (keycode) { switch (keycode) {
case TT(_MOUSE): { case TT(_MOUSE):
{
if (record->event.pressed) { if (record->event.pressed) {
mouse_keycode_tracker++; mouse_keycode_tracker++;
} else { } else {
@ -216,6 +218,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
mouse_timer = timer_read(); mouse_timer = timer_read();
break; break;
default: default:
if (IS_NOEVENT(record->event)) break;
if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) {
layer_off(_MOUSE); layer_off(_MOUSE);
} }
@ -228,7 +231,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
layer_state_t layer_state_set_keymap(layer_state_t state) { layer_state_t layer_state_set_keymap(layer_state_t state) {
if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) { if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) {
state |= (1UL << _MOUSE); state |= ((layer_state_t)1 << _MOUSE);
} }
return state; return state;
} }
@ -245,6 +248,4 @@ void matrix_init_keymap(void) {
#endif #endif
} }
void keyboard_post_init_keymap(void) { void keyboard_post_init_keymap(void) { matrix_init_keymap(); }
matrix_init_keymap();
}

View File

@ -0,0 +1,117 @@
#pragma once
#define RGBLIGHT_EFFECT_BREATHE_TABLE
// clang-format off
// Breathing center: 1.85
// Breathing max: 100
const uint8_t PROGMEM rgblight_effect_breathe_table[] = {
#if RGBLIGHT_BREATHE_TABLE_SIZE == 256
0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11,
0x11, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x16,
0x16, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x1B,
0x1B, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F, 0x20, 0x20,
0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26,
0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 0x2B, 0x2C,
0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31, 0x31, 0x32,
0x33, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x38,
0x39, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3D, 0x3E,
0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44,
0x44, 0x45, 0x46, 0x46, 0x47, 0x48, 0x48, 0x49,
0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D,
0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51,
0x51, 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54,
0x54, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56,
0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
0x56, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x54,
0x54, 0x54, 0x53, 0x53, 0x53, 0x52, 0x52, 0x51,
0x51, 0x51, 0x50, 0x50, 0x4F, 0x4F, 0x4E, 0x4E,
0x4D, 0x4D, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x4A,
0x49, 0x48, 0x48, 0x47, 0x46, 0x46, 0x45, 0x44,
0x44, 0x43, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F,
0x3E, 0x3D, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, 0x39,
0x38, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x33,
0x32, 0x31, 0x31, 0x30, 0x2F, 0x2E, 0x2E, 0x2D,
0x2C, 0x2B, 0x2B, 0x2A, 0x29, 0x28, 0x28, 0x27,
0x26, 0x25, 0x25, 0x24, 0x23, 0x22, 0x22, 0x21,
0x20, 0x20, 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1B,
0x1B, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x16,
0x16, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x11,
0x11, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0E, 0x0D
#endif
#if RGBLIGHT_BREATHE_TABLE_SIZE == 128
0x0D, 0x0E, 0x0F, 0x10,
0x11, 0x13, 0x14, 0x15,
0x16, 0x18, 0x19, 0x1A,
0x1B, 0x1D, 0x1E, 0x20,
0x21, 0x22, 0x24, 0x25,
0x27, 0x28, 0x2A, 0x2B,
0x2D, 0x2E, 0x30, 0x31,
0x33, 0x34, 0x36, 0x38,
0x39, 0x3B, 0x3C, 0x3D,
0x3F, 0x40, 0x42, 0x43,
0x44, 0x46, 0x47, 0x48,
0x4A, 0x4B, 0x4C, 0x4D,
0x4E, 0x4F, 0x50, 0x51,
0x51, 0x52, 0x53, 0x54,
0x54, 0x55, 0x55, 0x55,
0x56, 0x56, 0x56, 0x56,
0x56, 0x56, 0x56, 0x56,
0x56, 0x55, 0x55, 0x54,
0x54, 0x53, 0x53, 0x52,
0x51, 0x50, 0x4F, 0x4E,
0x4D, 0x4C, 0x4B, 0x4A,
0x49, 0x48, 0x46, 0x45,
0x44, 0x42, 0x41, 0x40,
0x3E, 0x3D, 0x3B, 0x3A,
0x38, 0x37, 0x35, 0x34,
0x32, 0x31, 0x2F, 0x2E,
0x2C, 0x2B, 0x29, 0x28,
0x26, 0x25, 0x23, 0x22,
0x20, 0x1F, 0x1E, 0x1C,
0x1B, 0x19, 0x18, 0x17,
0x16, 0x14, 0x13, 0x12,
0x11, 0x10, 0x0F, 0x0E
#endif
#if RGBLIGHT_BREATHE_TABLE_SIZE == 64
0x0D, 0x0F,
0x11, 0x14,
0x16, 0x19,
0x1B, 0x1E,
0x21, 0x24,
0x27, 0x2A,
0x2D, 0x30,
0x33, 0x36,
0x39, 0x3C,
0x3F, 0x42,
0x44, 0x47,
0x4A, 0x4C,
0x4E, 0x50,
0x51, 0x53,
0x54, 0x55,
0x56, 0x56,
0x56, 0x56,
0x56, 0x55,
0x54, 0x53,
0x51, 0x4F,
0x4D, 0x4B,
0x49, 0x46,
0x44, 0x41,
0x3E, 0x3B,
0x38, 0x35,
0x32, 0x2F,
0x2C, 0x29,
0x26, 0x23,
0x20, 0x1E,
0x1B, 0x18,
0x16, 0x13,
0x11, 0x0F
#endif
};
static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table);

View File

@ -8,4 +8,5 @@ UNICODE_ENABLE = yes
OLED_DRIVER_ENABLE = yes OLED_DRIVER_ENABLE = yes
WPM_ENABLE = yes WPM_ENABLE = yes
ENCODER_ENABLE = yes ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
# DEBOUNCE_TYPE = sym_eager_pk # DEBOUNCE_TYPE = sym_eager_pk

View File

@ -38,59 +38,33 @@
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \
) )
#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_iris_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_iris_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_iris_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_iris_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_iris_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_iris_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_iris_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_iris_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_GAMEPAD] = LAYOUT_wrapper( [_GAMEPAD] = LAYOUT_wrapper(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______, KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,

View File

@ -1,50 +0,0 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
*/
#pragma once
/* Use I2C or Serial, not both */
#include "../drashna/config.h"
#ifdef RGBLIGHT_ENABLE
# undef RGBLED_NUM
# define RGBLED_NUM 16 // Number of LEDs
# undef RGBLED_SPLIT
# define RGBLED_SPLIT \
{ 8, 8 }
#endif
#undef PRODUCT
#ifdef KEYBOARD_keebio_iris_rev2
# define PRODUCT Drashna Hacked Iris LP Rev .2(Backlit)
#endif
#undef SHFT_LED1
#define SHFT_LED1 5
#undef SHFT_LED2
#define SHFT_LED2 10
#undef CTRL_LED1
#define CTRL_LED1 6
#undef CTRL_LED2
#define CTRL_LED2 9
#undef ALT_LED1
#define ALT_LED1 7
#undef GUI_LED1
#define GUI_LED1 8
#define DRASHNA_LP

View File

@ -1 +0,0 @@
// placeholder

View File

@ -1,7 +0,0 @@
USER_NAME := drashna
SRC += ../drashna/keymap.c
include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk
AUDIO_ENABLE = no
BACKLIGHT_ENABLE = yes

View File

@ -1,47 +0,0 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
*/
#pragma once
/* Use I2C or Serial, not both */
#include "../drashna/config.h"
#ifdef RGBLIGHT_ENABLE
# undef RGBLED_NUM
# define RGBLED_NUM 16 // Number of LEDs
# undef RGBLED_SPLIT
# define RGBLED_SPLIT { 8, 8 }
#endif
#undef PRODUCT
#ifdef KEYBOARD_keebio_iris_rev2
# define PRODUCT Drashna Hacked Iris Rev.2 (16 LED)
#endif
#undef SHFT_LED1
#define SHFT_LED1 5
#undef SHFT_LED2
#define SHFT_LED2 10
#undef CTRL_LED1
#define CTRL_LED1 6
#undef CTRL_LED2
#define CTRL_LED2 9
#undef ALT_LED1
#define ALT_LED1 7
#undef GUI_LED1
#define GUI_LED1 8

View File

@ -1 +0,0 @@
// placeholder

View File

@ -1,4 +0,0 @@
USER_NAME := drashna
SRC += ../drashna/keymap.c
include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk

View File

@ -1,25 +0,0 @@
/*
Copyright 2017 Danny Nguyen <danny@hexwire.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/>.
*/
#pragma once
#include "../drashna/config.h"
#ifdef RGBLIGHT_ENABLE
# undef RGBLED_NUM
# define RGBLED_NUM 12
#endif

View File

@ -1 +0,0 @@
//placeholder

View File

@ -1,4 +0,0 @@
USER_NAME := drashna
SRC += ../drashna/keymap.c
include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk

View File

@ -39,68 +39,32 @@ enum more_custom_keycodes { KC_SWAP_NUM = NEW_SAFE_RANGE };
KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT \ KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT \
) )
#define LAYOUT_moonlander_base_wrapper(...) LAYOUT_moonlander_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_moonlander_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_moonlander_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_moonlander_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_moonlander_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_moonlander_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_moonlander_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_moonlander_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_moonlander_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_moonlander_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
#ifdef _MODS
[_MODS] = LAYOUT_moonlander_wrapper(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
_______, KC_MEH, KC_HYPR, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_LALT, _______, _______, _______, _______, KC_RGUI
),
#endif
[_GAMEPAD] = LAYOUT_moonlander_wrapper( [_GAMEPAD] = LAYOUT_moonlander_wrapper(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, HYPR(KC_Q), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, HYPR(KC_Q), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
@ -214,29 +178,17 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (userspace_config.rgb_layer_change) { if (userspace_config.rgb_layer_change) {
switch (get_highest_layer(layer_state|default_layer_state)) { switch (get_highest_layer(layer_state|default_layer_state)) {
case _QWERTY: case _DEFAULT_LAYER_1:
rgb_matrix_layer_helper(HSV_CYAN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _COLEMAK: case _DEFAULT_LAYER_2:
rgb_matrix_layer_helper(HSV_MAGENTA, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _DVORAK: case _DEFAULT_LAYER_3:
rgb_matrix_layer_helper(HSV_SPRINGGREEN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _WORKMAN: case _DEFAULT_LAYER_4:
rgb_matrix_layer_helper(HSV_GOLDENROD, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _NORMAN:
rgb_matrix_layer_helper(HSV_CORAL, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _MALTRON:
rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _EUCALYN:
rgb_matrix_layer_helper(HSV_PINK, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _CARPLAX:
rgb_matrix_layer_helper(HSV_BLUE, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _GAMEPAD: case _GAMEPAD:
rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);

View File

@ -19,59 +19,34 @@
LALT_T(KC_TAB), K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(K1B), \ LALT_T(KC_TAB), K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(K1B), \
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF \ KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF \
) )
#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_orthodox_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_orthodox_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_orthodox_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_orthodox_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_orthodox_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_orthodox_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_orthodox_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_orthodox_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_LOWER] = LAYOUT_wrapper(\ [_LOWER] = LAYOUT_wrapper(\
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC, KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,

View File

@ -20,5 +20,10 @@
#undef RGBLIGHT_LIMIT_VAL #undef RGBLIGHT_LIMIT_VAL
#define RGBLIGHT_LIMIT_VAL 255 #define RGBLIGHT_LIMIT_VAL 255
#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_SLEEP #define RGBLIGHT_SLEEP

View File

@ -29,6 +29,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void eeconkfig_init_user(void) { void eeconkfig_init_user(void) {
rgblight_enable(); rgblight_enable();
#ifdef RGBLIGHT_EFFECT_TWINKLE
rgblight_mode(RGBLIGHT_MODE_TWINKLE+5); rgblight_mode(RGBLIGHT_MODE_TWINKLE+5);
#else
rgblight_mode(RGBLIGHT_MODE_BREATHING+5);
#endif
rgblight_sethsv(HSV_MAGENTA); rgblight_sethsv(HSV_MAGENTA);
} }

View File

@ -38,58 +38,32 @@
KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \ KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \
) )
/* Re-pass though to allow templates to be used */ /* Re-pass though to allow templates to be used */
#define LAYOUT_kyria_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_kyria_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_kyria_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_kyria_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_kyria_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_kyria_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_kyria_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_kyria_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_kyria_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_GAMEPAD] = LAYOUT_wrapper( [_GAMEPAD] = LAYOUT_wrapper(
KC_ESC, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, KC_ESC, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______,
@ -128,6 +102,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ), // ),
}; };
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP }, { KC_VOLD, KC_VOLU } },
[_DEFAULT_LAYER_2] = { { _______, _______ }, { _______, _______ } },
[_DEFAULT_LAYER_3] = { { _______, _______ }, { _______, _______ } },
[_DEFAULT_LAYER_4] = { { _______, _______ }, { _______, _______ } },
[_GAMEPAD] = { { _______, _______ }, { _______, _______ } },
[_DIABLO] = { { _______, _______ }, { _______, _______ } },
[_MOUSE] = { { _______, _______ }, { KC_WH_D, KC_WH_U } },
[_MEDIA] = { { _______, _______ }, { _______, _______ } },
[_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } },
[_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
[_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
};
#endif
// clang-format on // clang-format on
#ifdef OLED_DRIVER_ENABLE #ifdef OLED_DRIVER_ENABLE
@ -156,36 +146,17 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
#endif #endif
#ifdef RGBLIGHT_LAYERS #ifdef RGBLIGHT_LAYERS
const rgblight_segment_t PROGMEM shift_layers[] = RGBLIGHT_LAYER_SEGMENTS( const rgblight_segment_t PROGMEM shift_layers[] = RGBLIGHT_LAYER_SEGMENTS({8, 1, 120, 255, 255}, {18, 1, 120, 255, 255});
{ 8, 1, 120, 255, 255}, const rgblight_segment_t PROGMEM control_layers[] = RGBLIGHT_LAYER_SEGMENTS({6, 1, 0, 255, 255}, {16, 1, 0, 255, 255});
{ 18, 1, 120, 255, 255} const rgblight_segment_t PROGMEM alt_layers[] = RGBLIGHT_LAYER_SEGMENTS({2, 1, 240, 255, 255}, {17, 1, 250, 255, 255});
); const rgblight_segment_t PROGMEM gui_layers[] = RGBLIGHT_LAYER_SEGMENTS({7, 1, 51, 255, 255}, {12, 1, 51, 255, 255});
const rgblight_segment_t PROGMEM control_layers[] = RGBLIGHT_LAYER_SEGMENTS(
{ 6, 1, 0, 255, 255},
{ 16, 1, 0, 255, 255}
);
const rgblight_segment_t PROGMEM alt_layers[] = RGBLIGHT_LAYER_SEGMENTS(
{ 2, 1, 240, 255, 255},
{ 17, 1, 250, 255, 255}
);
const rgblight_segment_t PROGMEM gui_layers[] = RGBLIGHT_LAYER_SEGMENTS(
{ 7, 1, 51, 255, 255},
{ 12, 1, 51, 255, 255}
);
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(shift_layers, control_layers, alt_layers, gui_layers);
shift_layers,
control_layers,
alt_layers,
gui_layers
);
void keyboard_post_init_keymap(void) { void keyboard_post_init_keymap(void) { rgblight_layers = my_rgb_layers; }
rgblight_layers = my_rgb_layers;
}
void matrix_scan_keymap(void) { void matrix_scan_keymap(void) {
uint8_t mods = mod_config(get_mods()|get_oneshot_mods()); uint8_t mods = mod_config(get_mods() | get_oneshot_mods());
rgblight_set_layer_state(0, mods & MOD_MASK_SHIFT); rgblight_set_layer_state(0, mods & MOD_MASK_SHIFT);
rgblight_set_layer_state(1, mods & MOD_MASK_CTRL); rgblight_set_layer_state(1, mods & MOD_MASK_CTRL);
rgblight_set_layer_state(2, mods & MOD_MASK_ALT); rgblight_set_layer_state(2, mods & MOD_MASK_ALT);

View File

@ -3,13 +3,15 @@ ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_STARTUP_ANIMATION = no RGBLIGHT_STARTUP_ANIMATION = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # USB Nkey Rollover NKRO_ENABLE = yes # USB Nkey Rollover
UNICODE_ENABLE = yes # Unicode UNICODE_ENABLE = no # Unicode
BOOTLOADER = atmel-dfu KEY_LOCK_ENABLE = no
BOOTLOADER = atmel-dfu
# TAP_DANCE_ENABLE = yes # TAP_DANCE_ENABLE = yes

View File

@ -22,6 +22,7 @@
extern haptic_config_t haptic_config; extern haptic_config_t haptic_config;
#endif #endif
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x3( /* Base */ [0] = LAYOUT_ortho_4x3( /* Base */
KC_MUTE, TG(1), TG(2), KC_MUTE, TG(1), TG(2),
@ -43,6 +44,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
) )
}; };
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { { KC_DOWN, KC_UP } },
[1] = { { KC_VOLD, KC_VOLU } },
[2] = { { RGB_MOD, RGB_RMOD} },
};
#endif
// clang-format on
static bool is_asleep = false; static bool is_asleep = false;
static uint32_t oled_timer; static uint32_t oled_timer;
@ -68,9 +77,7 @@ void render_user_status(void) {
oled_write_P(nukem_good[0], haptic_config.enable); oled_write_P(nukem_good[0], haptic_config.enable);
} }
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) { oled_scroll_set_speed(0); }
oled_scroll_set_speed(0);
}
void oled_task_user(void) { void oled_task_user(void) {
if (is_asleep) { if (is_asleep) {
@ -107,13 +114,9 @@ void oled_task_user(void) {
} }
} }
void suspend_power_down_user(void) { void suspend_power_down_user(void) { is_asleep = true; }
is_asleep = true;
}
void suspend_wakeup_init_user(void) { void suspend_wakeup_init_user(void) { is_asleep = false; }
is_asleep = false;
}
bool process_record_user(uint16_t keycode, keyrecord_t* record) { bool process_record_user(uint16_t keycode, keyrecord_t* record) {
oled_timer = timer_read32(); oled_timer = timer_read32();
@ -121,7 +124,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
return true; return true;
} }
bool encoder_update_user(uint8_t index, bool clockwise) { bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) { if (clockwise) {
tap_code16(KC_VOLU); tap_code16(KC_VOLU);

View File

@ -1,2 +1,3 @@
# is intentional. won't compile under size, otherwise. # is intentional. won't compile under size, otherwise.
USER_NAME := not_drashna USER_NAME := not_drashna
ENCODER_MAP_ENABLE = yes

View File

@ -56,145 +56,33 @@ bool skip_leds = false;
KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \ KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \
) )
#define LAYOUT_ergodox_pretty_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_ergodox_pretty_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: QWERTY Layer [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
*
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = + | 1 ! | 2 @ | 3 # | 4 $ | 5 % | TG(4)| | TG(4)| 6 ^ | 7 & | 8 * | 9 ( | 0 ) | - _ |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | TAB | Q | W | E | R | T | TG(3)| |TG(3) | Y | U | I | O | P | \ | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | Bksp | A | S | D | F | G |------| |------| H | J | K | L | ; | ' " |
* |--------+------+------+------+------+------| TG(2)| | TG(2)|------+------+------+------+------+--------|
* | Shift | Z | X | C | V | B | | | | N | M | , < | . > | ? / | Shift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
* `----------------------------------' `----------------------------------'
* ,--------------. ,--------------.
* |Alt/Ap| Win | | Alt |Ctl/Esc|
* ,------|------|-------| |------+-------+------.
* | | | Home | | PgUp | | |
* | Space| Bksp |-------| |------| DEL |Enter |
* | | | End | | PgDn | | |
* `---------------------' `---------------------'
*/
[_QWERTY] = LAYOUT_ergodox_pretty_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
/* Keymap 0: COLEMAK layer
* [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
* ,--------------------------------------------------. ,--------------------------------------------------. ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
* | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ | ),
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
* | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
* |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
* | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[_COLEMAK] = LAYOUT_ergodox_pretty_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
/* Keymap 0: DVORAK Layout
* [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | \ |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - |
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
* | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[_DVORAK] = LAYOUT_ergodox_pretty_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
/* Keymap 0: WORKMAN layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Del | Q | D | R | W | B | L1 | | L1 | J | F | U | P | ; | \ |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | BkSp | A | S | H | T | D |------| |------| Y | N | E | O | I | ' |
* |--------+------+------+------+------+------| OVER | | Meh |------+------+------+------+------+--------|
* | LShift |Z/Ctrl| X | M | C | V | | | | K | L | , | . |//Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | `/SYM| MEH | LGUI | [ { | ] } | | LEFT | DOWN | UP |RIGHT | SYMB |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
[_WORKMAN] = LAYOUT_ergodox_pretty_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_ergodox_pretty_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_ergodox_pretty_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_ergodox_pretty_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_ergodox_pretty_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
/* Keymap 4: Customized Overwatch Layout /* Keymap 4: Customized Overwatch Layout
* *
@ -311,9 +199,7 @@ void keyboard_post_init_keymap(void) {
// trackball_set_precision(1.5); // trackball_set_precision(1.5);
trackball_set_rgbw(RGB_MAGENTA, 0x00); trackball_set_rgbw(RGB_MAGENTA, 0x00);
} }
void shutdown_keymap(void) { void shutdown_keymap(void) { trackball_set_rgbw(RGB_RED, 0x00); }
trackball_set_rgbw(RGB_RED, 0x00);
}
static bool mouse_button_one, trackball_button_one; static bool mouse_button_one, trackball_button_one;
@ -328,8 +214,6 @@ void trackball_register_button(bool pressed, enum mouse_buttons button) {
} }
#endif #endif
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case KC_1: case KC_1:
@ -371,7 +255,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
} }
run_trackball_cleanup(); run_trackball_cleanup();
break; break;
#if !defined(MOUSEKEY_ENABLE) # if !defined(MOUSEKEY_ENABLE)
case KC_MS_BTN1: case KC_MS_BTN1:
mouse_button_one = record->event.pressed; mouse_button_one = record->event.pressed;
trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1); trackball_register_button(mouse_button_one | trackball_button_one, MOUSE_BTN1);
@ -434,7 +318,6 @@ void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); }
void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); } void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (layer_state_is(_GAMEPAD)) { if (layer_state_is(_GAMEPAD)) {
RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q
RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W
@ -456,7 +339,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (userspace_config.rgb_layer_change) if (userspace_config.rgb_layer_change)
# endif # endif
{ {
switch (get_highest_layer(layer_state|default_layer_state)) { switch (get_highest_layer(layer_state | default_layer_state)) {
case _GAMEPAD: case _GAMEPAD:
rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
@ -472,29 +355,17 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
case _ADJUST: case _ADJUST:
rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _QWERTY: case _DEFAULT_LAYER_1:
rgb_matrix_layer_helper(HSV_CYAN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _COLEMAK: case _DEFAULT_LAYER_2:
rgb_matrix_layer_helper(HSV_MAGENTA, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _DVORAK: case _DEFAULT_LAYER_3:
rgb_matrix_layer_helper(HSV_SPRINGGREEN, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _WORKMAN: case _DEFAULT_LAYER_4:
rgb_matrix_layer_helper(HSV_GOLDENROD, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _NORMAN:
rgb_matrix_layer_helper(HSV_CORAL, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _MALTRON:
rgb_matrix_layer_helper(HSV_YELLOW, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _EUCALYN:
rgb_matrix_layer_helper(HSV_PINK, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _CARPLAX:
rgb_matrix_layer_helper(HSV_BLUE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
} }
} }

View File

@ -16,7 +16,6 @@
#include "drashna.h" #include "drashna.h"
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
enum planck_keycodes { enum planck_keycodes {
BACKLIT = NEW_SAFE_RANGE, BACKLIT = NEW_SAFE_RANGE,
@ -62,59 +61,33 @@ enum planck_keycodes {
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \ KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \
BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
) )
#define LAYOUT_ortho_4x12_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_ortho_4x12_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_ortho_4x12_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_ortho_4x12_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_ortho_4x12_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_ortho_4x12_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_ortho_4x12_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_LOWER] = LAYOUT_ortho_4x12_wrapper( [_LOWER] = LAYOUT_ortho_4x12_wrapper(
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC, KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
@ -137,6 +110,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
) )
}; };
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
[_DEFAULT_LAYER_2] = { { _______, _______ } },
[_DEFAULT_LAYER_3] = { { _______, _______ } },
[_DEFAULT_LAYER_4] = { { _______, _______ } },
[_GAMEPAD] = { { _______, _______ } },
[_DIABLO] = { { _______, _______ } },
[_MOUSE] = { { KC_WH_D, KC_WH_U } },
[_MEDIA] = { { _______, _______ } },
[_RAISE] = { { KC_VOLD, KC_VOLU } },
[_LOWER] = { { RGB_MOD, RGB_RMOD} },
[_ADJUST] = { { CK_DOWN, CK_UP } },
};
#endif
// clang-format on // clang-format on
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
@ -222,7 +211,6 @@ void suspend_wakeup_init_keymap(void) {
} }
// clang-format on // clang-format on
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
uint8_t this_mod = get_mods(); uint8_t this_mod = get_mods();
uint8_t this_led = host_keyboard_leds(); uint8_t this_led = host_keyboard_leds();
@ -254,31 +242,20 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
case _ADJUST: case _ADJUST:
rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(HSV_RED, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
default: { default:
{
switch (get_highest_layer(default_layer_state)) { switch (get_highest_layer(default_layer_state)) {
case _QWERTY: case _DEFAULT_LAYER_1:
rgb_matrix_layer_helper(HSV_CYAN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _COLEMAK: case _DEFAULT_LAYER_2:
rgb_matrix_layer_helper(HSV_MAGENTA, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _DVORAK: case _DEFAULT_LAYER_3:
rgb_matrix_layer_helper(HSV_SPRINGGREEN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
case _WORKMAN: case _DEFAULT_LAYER_4:
rgb_matrix_layer_helper(HSV_GOLDENROD, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _NORMAN:
rgb_matrix_layer_helper(HSV_CORAL, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _MALTRON:
rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _EUCALYN:
rgb_matrix_layer_helper(HSV_PINK, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _CARPLAX:
rgb_matrix_layer_helper(HSV_BLUE, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break; break;
} }
break; break;
@ -287,16 +264,16 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
} }
switch (get_highest_layer(default_layer_state)) { switch (get_highest_layer(default_layer_state)) {
case _QWERTY: case _DEFAULT_LAYER_1:
RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0xFF); RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0xFF);
break; break;
case _COLEMAK: case _DEFAULT_LAYER_2:
RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xFF, 0x00, 0xFF); RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xFF, 0x00, 0xFF);
break; break;
case _DVORAK: case _DEFAULT_LAYER_3:
RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0x00); RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0x00, 0xFF, 0x00);
break; break;
case _WORKMAN: case _DEFAULT_LAYER_4:
RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xD9, 0xA5, 0x21); RGB_MATRIX_INDICATOR_SET_COLOR((is_ez ? 41 : 42), 0xD9, 0xA5, 0x21);
break; break;
} }

View File

@ -22,6 +22,7 @@ else
RGB_MATRIX_ENABLE = no RGB_MATRIX_ENABLE = no
AUDIO_ENABLE = yes AUDIO_ENABLE = yes
EEPROM_DRIVER = i2c EEPROM_DRIVER = i2c
ENCODER_MAP_ENABLE = yes
endif endif
ifeq ($(strip $(KEYBOARD)), planck/light) ifeq ($(strip $(KEYBOARD)), planck/light)
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes
@ -33,6 +34,7 @@ endif
ifeq ($(strip $(KEYBOARD)), planck/ez) ifeq ($(strip $(KEYBOARD)), planck/ez)
RGBLIGHT_ENABLE = no RGBLIGHT_ENABLE = no
ENCODER_ENABLE = yes ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes
INDICATOR_LIGHTS = yes INDICATOR_LIGHTS = yes
RGBLIGHT_TWINKLE = yes RGBLIGHT_TWINKLE = yes

View File

@ -38,34 +38,32 @@
KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
) )
#define LAYOUT_ortho_5x12_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
[_QWERTY] = LAYOUT_ortho_5x12_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_ortho_5x12_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
/* Lower /* Lower
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.

View File

@ -50,7 +50,9 @@
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
# endif
# define RGB_MATRIX_HUE_STEP 8 # define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8 # define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 5 # define RGB_MATRIX_VAL_STEP 5

View File

@ -39,57 +39,33 @@ enum crkbd_keycodes { RGBRST = NEW_SAFE_RANGE };
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \ RGB_MOD, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \
) )
#define LAYOUT_split_3x6_3_base_wrapper(...) LAYOUT_split_3x6_3_base(__VA_ARGS__) #define LAYOUT_base_wrapper(...) LAYOUT_split_3x6_3_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_split_3x6_3_base_wrapper( [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_split_3x6_3_base_wrapper( [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
), ),
[_DVORAK] = LAYOUT_split_3x6_3_base_wrapper( [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
), ),
[_WORKMAN] = LAYOUT_split_3x6_3_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_NORMAN] = LAYOUT_split_3x6_3_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_split_3x6_3_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_split_3x6_3_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_split_3x6_3_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_LOWER] = LAYOUT_split_3x6_3_wrapper( [_LOWER] = LAYOUT_split_3x6_3_wrapper(
KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
KC_F12, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, KC_F12, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
@ -114,9 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format on // clang-format on
#ifdef OLED_DRIVER_ENABLE #ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_270; }
return OLED_ROTATION_270;
}
#endif #endif
#ifdef TAPPING_TERM_PER_KEY #ifdef TAPPING_TERM_PER_KEY
@ -130,7 +104,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
} }
#endif #endif
void matrix_slave_scan_user(void) { void matrix_slave_scan_user(void) {
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
rgb_matrix_task(); rgb_matrix_task();
@ -145,28 +118,16 @@ void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
void check_default_layer(uint8_t mode, uint8_t type, uint8_t led_min, uint8_t led_max) { void check_default_layer(uint8_t mode, uint8_t type, uint8_t led_min, uint8_t led_max) {
switch (get_highest_layer(default_layer_state)) { switch (get_highest_layer(default_layer_state)) {
case _QWERTY: case _QWERTY:
rgb_matrix_layer_helper(HSV_CYAN, mode, rgb_matrix_config.speed, type, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _COLEMAK_DH:
rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
break; break;
case _COLEMAK: case _COLEMAK:
rgb_matrix_layer_helper(HSV_MAGENTA, mode, rgb_matrix_config.speed, type, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
break; break;
case _DVORAK: case _DVORAK:
rgb_matrix_layer_helper(HSV_SPRINGGREEN, mode, rgb_matrix_config.speed, type, led_min, led_max); rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _WORKMAN:
rgb_matrix_layer_helper(HSV_GOLDENROD, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _NORMAN:
rgb_matrix_layer_helper(HSV_CORAL, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _MALTRON:
rgb_matrix_layer_helper(HSV_YELLOW, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _EUCALYN:
rgb_matrix_layer_helper(HSV_PINK, mode, rgb_matrix_config.speed, type, led_min, led_max);
break;
case _CARPLAX:
rgb_matrix_layer_helper(HSV_BLUE, mode, rgb_matrix_config.speed, type, led_min, led_max);
break; break;
} }
} }
@ -189,7 +150,8 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
case _ADJUST: case _ADJUST:
rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW, led_min, led_max); rgb_matrix_layer_helper(HSV_RED, 0, rgb_matrix_config.speed, LED_FLAG_UNDERGLOW, led_min, led_max);
break; break;
default: { default:
{
check_default_layer(0, LED_FLAG_UNDERGLOW, led_min, led_max); check_default_layer(0, LED_FLAG_UNDERGLOW, led_min, led_max);
break; break;
} }

View File

@ -63,13 +63,22 @@
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_SLEEP # define RGBLIGHT_SLEEP
# if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
# undef RGBLIGHT_ANIMATIONS # undef RGBLIGHT_ANIMATIONS
# if defined(__AVR__) && !defined(__AVR_AT90USB1286__)
# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_SNAKE
# define RGBLIGHT_EFFECT_KNIGHT # define RGBLIGHT_EFFECT_KNIGHT
# else # else
# define RGBLIGHT_ANIMATIONS # define RGBLIGHT_EFFECT_BREATHING
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
# define RGBLIGHT_EFFECT_SNAKE
# define RGBLIGHT_EFFECT_KNIGHT
// # define RGBLIGHT_EFFECT_CHRISTMAS
// # define RGBLIGHT_EFFECT_STATIC_GRADIENT
// # define RGBLIGHT_EFFECT_RGB_TEST
// # define RGBLIGHT_EFFECT_ALTERNATING
# define RGBLIGHT_EFFECT_TWINKLE
# endif # endif
# define RGBLIGHT_EFFECT_TWINKLE_LIFE 250 # define RGBLIGHT_EFFECT_TWINKLE_LIFE 250
# define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1 / 24 # define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1 / 24
@ -167,7 +176,7 @@
#undef PERMISSIVE_HOLD #undef PERMISSIVE_HOLD
//#define TAPPING_FORCE_HOLD_PER_KEY //#define TAPPING_FORCE_HOLD_PER_KEY
//#define RETRO_TAPPING_PER_KEY //#define RETRO_TAPPING_PER_KEY
#ifndef KEYBOARD_kyria_rev1 #if !defined(KEYBOARD_kyria) && !defined(KEYBOARD_splitkb_kyria)
# define TAPPING_TERM_PER_KEY # define TAPPING_TERM_PER_KEY
#endif #endif

View File

@ -124,8 +124,12 @@ void suspend_power_down_user(void) {
__attribute__((weak)) void suspend_wakeup_init_keymap(void) {} __attribute__((weak)) void suspend_wakeup_init_keymap(void) {}
void suspend_wakeup_init_user(void) { void suspend_wakeup_init_user(void) {
if (layer_state_is(_GAMEPAD)) { layer_off(_GAMEPAD); } if (layer_state_is(_GAMEPAD)) {
if (layer_state_is(_DIABLO)) { layer_off(_DIABLO); } layer_off(_GAMEPAD);
}
if (layer_state_is(_DIABLO)) {
layer_off(_DIABLO);
}
suspend_wakeup_init_keymap(); suspend_wakeup_init_keymap();
} }
@ -167,7 +171,9 @@ __attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state)
// on layer change, no matter where the change was initiated // on layer change, no matter where the change was initiated
// Then runs keymap's layer change check // Then runs keymap's layer change check
layer_state_t layer_state_set_user(layer_state_t state) { layer_state_t layer_state_set_user(layer_state_t state) {
if (!is_keyboard_master()) { return state; } if (!is_keyboard_master()) {
return state;
}
state = layer_state_set_keymap(state); state = layer_state_set_keymap(state);
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
@ -192,7 +198,9 @@ __attribute__((weak)) layer_state_t default_layer_state_set_keymap(layer_state_t
// Runs state check and changes underglow color and animation // Runs state check and changes underglow color and animation
layer_state_t default_layer_state_set_user(layer_state_t state) { layer_state_t default_layer_state_set_user(layer_state_t state) {
if (!is_keyboard_master()) { return state; } if (!is_keyboard_master()) {
return state;
}
state = default_layer_state_set_keymap(state); state = default_layer_state_set_keymap(state);
#if 0 #if 0

View File

@ -43,23 +43,42 @@
enum userspace_layers { enum userspace_layers {
_QWERTY = 0, _QWERTY = 0,
_NUMLOCK = 0, _NUMLOCK = 0,
FIRST_DEFAULT_LAYER = 0,
_COLEMAK_DH,
_COLEMAK, _COLEMAK,
_DVORAK, _DVORAK,
_WORKMAN, LAST_DEFAULT_LAYER = _DVORAK,
_NORMAN,
_MALTRON,
_EUCALYN,
_CARPLAX,
_GAMEPAD, _GAMEPAD,
_DIABLO, _DIABLO,
_MACROS, _MOUSE,
_MEDIA, _MEDIA,
_LOWER, _LOWER,
_RAISE, _RAISE,
_ADJUST, _ADJUST,
}; };
#define _MOUSE _MACROS #define _MACROS _MOUSE
#define _DEFAULT_LAYER_1 FIRST_DEFAULT_LAYER
#define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 1)
#define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2)
#define _DEFAULT_LAYER_4 (FIRST_DEFAULT_LAYER + 3)
#if LAST_DEFAULT_LAYER > (FIRST_DEFAULT_LAYER + 3)
# define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 4)
# define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 5)
# define _DEFAULT_LAYER_4 (FIRST_DEFAULT_LAYER + 6)
# define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 7)
# if LAST_DEFAULT_LAYER > (FIRST_DEFAULT_LAYER + 7)
# define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 8)
# define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 9)
# define _DEFAULT_LAYER_4 (FIRST_DEFAULT_LAYER + 10)
# define _DEFAULT_LAYER_4 (FIRST_DEFAULT_LAYER + 11)
# endif
#endif
#define DEFAULT_LAYER_1_HSV HSV_CYAN
#define DEFAULT_LAYER_2_HSV HSV_SPRINGGREEN
#define DEFAULT_LAYER_3_HSV HSV_MAGENTA
#define DEFAULT_LAYER_4_HSV HSV_GOLDENROD
bool mod_key_press_timer(uint16_t code, uint16_t mod_code, bool pressed); bool mod_key_press_timer(uint16_t code, uint16_t mod_code, bool pressed);
bool mod_key_press(uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); bool mod_key_press(uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);

View File

@ -3,7 +3,10 @@
// additional fonts from // additional fonts from
// https://github.com/datacute/TinyOLED-Fonts // https://github.com/datacute/TinyOLED-Fonts
#include "progmem.h" #if __has_include("../../../../Documents/qmk/oled_font.h")
# include "../../../../Documents/qmk/oled_font.h"
#else
# include "progmem.h"
// clang-format off // clang-format off
static const unsigned char font[] PROGMEM = { static const unsigned char font[] PROGMEM = {
@ -39,7 +42,7 @@ static const unsigned char font[] PROGMEM = {
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 29 ↭ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, // 0x1D 29 ↭
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 30 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, // 0x1E 30
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 31 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, // 0x1F 31
#if defined(OLED_FONT_5X5) # if defined(OLED_FONT_5X5)
0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
0x5c,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! 0x5c,0x00,0x00,0x00,0x00,0x00, // 0x21 33 !
0x06,0x00,0x06,0x00,0x00,0x00, // 0x22 34 " 0x06,0x00,0x06,0x00,0x00,0x00, // 0x22 34 "
@ -136,7 +139,7 @@ static const unsigned char font[] PROGMEM = {
0x44,0x7c,0x10,0x00,0x00,0x00, // 0x7D 125 } 0x44,0x7c,0x10,0x00,0x00,0x00, // 0x7D 125 }
0x02,0x01,0x02,0x01,0x00,0x00, // 0x7E 126 ~ 0x02,0x01,0x02,0x01,0x00,0x00, // 0x7E 126 ~
0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
#elif defined(OLED_FONT_AZTECH) # lif defined(OLED_FONT_AZTECH)
0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
0x00,0x2e,0x00,0x00,0x00,0x00, // 0x21 33 ! 0x00,0x2e,0x00,0x00,0x00,0x00, // 0x21 33 !
0x00,0x02,0x00,0x02,0x00,0x00, // 0x22 34 " 0x00,0x02,0x00,0x02,0x00,0x00, // 0x22 34 "
@ -233,7 +236,7 @@ static const unsigned char font[] PROGMEM = {
0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 }
0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 126 ~ 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7E 126 ~
0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
#elif defined(OLED_FONT_BMPLAIN) # elif defined(OLED_FONT_BMPLAIN)
0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32 0x00,0x00,0x00,0x00,0x00,0x00, // 0x20 32
0x2e,0x00,0x00,0x00,0x00,0x00, // 0x21 33 ! 0x2e,0x00,0x00,0x00,0x00,0x00, // 0x21 33 !
0x03,0x00,0x03,0x00,0x00,0x00, // 0x22 34 " 0x03,0x00,0x03,0x00,0x00,0x00, // 0x22 34 "
@ -330,7 +333,7 @@ static const unsigned char font[] PROGMEM = {
0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 } 0x22,0x3e,0x08,0x00,0x00,0x00, // 0x7D 125 }
0x01,0x01,0x01,0x00,0x00,0x00, // 0x7E 126 ~ 0x01,0x01,0x01,0x00,0x00,0x00, // 0x7E 126 ~
0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127 0x00,0x00,0x00,0x00,0x00,0x00, // 0x7F 127
#elif defined(OLED_FONT_SUPER_DIGG) # elif defined(OLED_FONT_SUPER_DIGG)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32
0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, // 0x21 33 ! 0x58, 0x5C, 0x00, 0x00, 0x00, 0x00, // 0x21 33 !
0x00, 0x01, 0x00, 0x00, 0x01, 0x00, // 0x22 34 " 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, // 0x22 34 "
@ -427,7 +430,7 @@ static const unsigned char font[] PROGMEM = {
0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, // 0x7D 125 } 0xC2, 0xFE, 0x10, 0x00, 0x00, 0x00, // 0x7D 125 }
0x02, 0x01, 0x03, 0x04, 0x06, 0x02, // 0x7E 126 ~ 0x02, 0x01, 0x03, 0x04, 0x06, 0x02, // 0x7E 126 ~
0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, // 0x7F 127 0x3C, 0x22, 0x21, 0x22, 0x3C, 0x00, // 0x7F 127
#else // default font # else // default font
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 32
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 33 ! 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, // 0x21 33 !
0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 34 " 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 0x22 34 "
@ -524,9 +527,9 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 } 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, // 0x7D 125 }
0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 ~ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 0x7E 126 ~
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, // 0x7F 127
#endif # endif
#if defined(OLED_LOGO_GMK_BAD) # if defined(OLED_LOGO_GMK_BAD)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, // 0x81 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, // 0x81
0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, // 0x82 0x38, 0x38, 0x38, 0x78, 0x70, 0xF0, // 0x82
@ -655,7 +658,7 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#elif defined(OLED_LOGO_HUE_MANITEE) # elif defined(OLED_LOGO_HUE_MANITEE)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0,
0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4, 0x90, 0x70, 0xE8, 0xA8, 0xE4, 0xC4,
@ -784,7 +787,7 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#elif defined(OLED_LOGO_CORNE) # elif defined(OLED_LOGO_CORNE)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
@ -914,7 +917,7 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#elif defined(OLED_LOGO_GOTHAM) // see /keyboards/crkbd/keymaps/gotham/oled.c # elif defined(OLED_LOGO_GOTHAM) // see /keyboards/crkbd/keymaps/gotham/oled.c
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18,
0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C, 0xF8, 0x18, 0x00, 0xC0, 0x70, 0x1C,
@ -1043,137 +1046,7 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
# else
#elif defined(OLED_LOGO_SCIFI)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x80, 0x80, 0xC0, 0xC0, 0xE0, 0x60,
0x70, 0x30, 0x38, 0x18, 0x0C, 0x0C,
0x1E, 0x0C, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xC0, 0xE0, 0xF0, 0x38, 0x1C, 0x0E,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x00, 0x00, 0x80, 0x40, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x80, 0x80, 0xC0,
0xC0, 0x60, 0x60, 0x30, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0x30, 0x30, 0x70, 0x78, 0x78, 0x7C,
0x7C, 0x7E, 0x3E, 0x3F, 0x3F, 0x3B,
0x3B, 0x39, 0x39, 0x38, 0x38, 0x38,
0x38, 0x38, 0x38, 0x38, 0x3C, 0x38,
0x18, 0x8F, 0xDF, 0xF8, 0x7C, 0xBE,
0xDF, 0xF7, 0xFB, 0xFD, 0xFE, 0xEF,
0x73, 0x3B, 0x1B, 0x1F, 0xEF, 0xF7,
0xFF, 0x7E, 0x6F, 0x6F, 0x6F, 0x6F,
0x6D, 0xBD, 0xE1, 0xF9, 0x3F, 0x3F,
0x39, 0x79, 0x79, 0x7D, 0xED, 0xED,
0xCD, 0xC7, 0xC7, 0x87, 0xC7, 0xE3,
0xE0, 0xF8, 0x7E, 0x3F, 0x37, 0x33,
0x3B, 0x1B, 0x19, 0x19, 0x0D, 0xED,
0xFF, 0xBF, 0xC7, 0xE7, 0xE3, 0xF0,
0x7C, 0xDE, 0xE7, 0xFB, 0x3E, 0x3F,
0xFC, 0xE0, 0xF8, 0x3E, 0xCF, 0xF3,
0xFC, 0x3F, 0x1F, 0x1F, 0x3C, 0x7E,
0x76, 0xF3, 0xE3, 0x81, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x30, 0x18, 0x1E,
0x0F, 0x03, 0x01, 0x00, 0x00, 0x00,
0x01, 0x03, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xE1, 0x79, 0x3E, 0x1F,
0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
0x01, 0x00, 0x00, 0x01, 0x01, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x01, 0x03,
0x02, 0x06, 0x04, 0x08, 0x18, 0x10,
0x30, 0x20, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
0x00, 0x14, 0x08, 0x14, 0x00, 0x00,
0x00, 0x1C, 0x1C, 0x3E, 0x7F, 0x7F,
0x00, 0x22, 0x1C, 0x41, 0x3E, 0x00,
0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
0x06, 0x0C, 0x18, 0x30, 0x00, 0x00,
0x00, 0x00, 0x06, 0x06, 0x06, 0x0C,
0x18, 0x30, 0x66, 0x66, 0x66, 0x00,
0x00, 0x00, 0x00, 0x08, 0x0C, 0x7E,
0x7F, 0x7E, 0x0C, 0x08, 0x00, 0x00,
0x00, 0x00, 0x77, 0x77, 0x77, 0x00,
0x77, 0x77, 0x77, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE7, 0xA5, 0xFF, 0x24,
0x24, 0xFF, 0xA5, 0xE7, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x22, 0xC9, 0xD1,
0xC9, 0x22, 0x1C, 0x00, 0x00, 0x00,
0x00, 0x10, 0x02, 0x38, 0xFC, 0xED,
0xFC, 0x38, 0x02, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x4A, 0x4F,
0x4A, 0x3E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x60, 0x6A, 0x64,
0x6A, 0x60, 0x40, 0x00, 0x00, 0x00,
0x00, 0x04, 0x42, 0x69, 0x65, 0x65,
0x65, 0x69, 0x42, 0x04, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x14, 0x1C, 0x08,
0x18, 0x08, 0x18, 0x00, 0x00, 0x00,
0x00, 0x70, 0xC8, 0xEE, 0xF9, 0x70,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
#else
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80
0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8,
0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F,
@ -1303,7 +1176,7 @@ static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#endif # endif
}; };
// clang-format on // clang-format on
#endif

View File

@ -25,7 +25,7 @@
#endif #endif
uint32_t oled_timer = 0; uint32_t oled_timer = 0;
static char keylog_str[KEYLOGGER_LENGTH + 1] = { 0 }; static char keylog_str[KEYLOGGER_LENGTH + 1] = {0};
static uint16_t log_timer = 0; static uint16_t log_timer = 0;
// clang-format off // clang-format off
@ -58,7 +58,7 @@ void add_keylog(uint16_t keycode) {
} }
for (uint8_t i = 1; i < KEYLOGGER_LENGTH; i++) { for (uint8_t i = 1; i < KEYLOGGER_LENGTH; i++) {
keylog_str[i-1] = keylog_str[i]; keylog_str[i - 1] = keylog_str[i];
} }
if (keycode < (sizeof(code_to_name) / sizeof(char))) { if (keycode < (sizeof(code_to_name) / sizeof(char))) {
@ -92,14 +92,18 @@ void render_keylogger_status(void) {
void render_default_layer_state(void) { void render_default_layer_state(void) {
oled_write_P(PSTR(OLED_RENDER_LAYOUT_NAME), false); oled_write_P(PSTR(OLED_RENDER_LAYOUT_NAME), false);
switch (get_highest_layer(default_layer_state)) { switch (get_highest_layer(default_layer_state)) {
case _QWERTY: oled_write_P(PSTR(OLED_RENDER_LAYOUT_QWERTY), false); break; case _QWERTY:
case _COLEMAK: oled_write_P(PSTR(OLED_RENDER_LAYOUT_COLEMAK), false); break; oled_write_P(PSTR(OLED_RENDER_LAYOUT_QWERTY), false);
case _DVORAK: oled_write_P(PSTR(OLED_RENDER_LAYOUT_DVORAK), false); break; break;
case _WORKMAN: oled_write_P(PSTR(OLED_RENDER_LAYOUT_WORKMAN), false); break; case _COLEMAK_DH:
case _NORMAN: oled_write_P(PSTR(OLED_RENDER_LAYOUT_NORMAN), false); break; oled_write_P(PSTR(OLED_RENDER_LAYOUT_COLEMAK_DH), false);
case _MALTRON: oled_write_P(PSTR(OLED_RENDER_LAYOUT_MALTRON), false); break; break;
case _EUCALYN: oled_write_P(PSTR(OLED_RENDER_LAYOUT_EUCALYN), false); break; case _COLEMAK:
case _CARPLAX: oled_write_P(PSTR(OLED_RENDER_LAYOUT_CARPLAX), false); break; oled_write_P(PSTR(OLED_RENDER_LAYOUT_COLEMAK), false);
break;
case _DVORAK:
oled_write_P(PSTR(OLED_RENDER_LAYOUT_DVORAK), false);
break;
} }
#ifdef OLED_DISPLAY_128X64 #ifdef OLED_DISPLAY_128X64
oled_advance_page(true); oled_advance_page(true);
@ -336,8 +340,8 @@ void render_status_secondary(void) {
render_default_layer_state(); render_default_layer_state();
render_layer_state(); render_layer_state();
render_mod_status(get_mods() | get_oneshot_mods()); render_mod_status(get_mods() | get_oneshot_mods());
// render_keylogger_status();
render_keylock_status(host_keyboard_leds()); // render_keylock_status(host_keyboard_leds());
} }
void render_status_main(void) { void render_status_main(void) {
@ -360,7 +364,7 @@ void render_status_main(void) {
render_bootmagic_status(); render_bootmagic_status();
render_user_status(); render_user_status();
render_keylogger_status(); // render_keylogger_status();
} }
__attribute__((weak)) oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return rotation; } __attribute__((weak)) oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return rotation; }
@ -382,8 +386,15 @@ void oled_task_user(void) {
} else { } else {
oled_on(); oled_on();
} }
}
if (is_keyboard_left()) {
render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
} else { } else {
render_status_secondary(); render_status_secondary();
} }
if (is_keyboard_master()) {
render_keylogger_status();
} else {
render_keylock_status(host_keyboard_leds());
}
} }

View File

@ -29,6 +29,7 @@ extern uint32_t oled_timer;
# define OLED_RENDER_LAYOUT_NAME "Layout: " # define OLED_RENDER_LAYOUT_NAME "Layout: "
# define OLED_RENDER_LAYOUT_QWERTY "Qwerty" # define OLED_RENDER_LAYOUT_QWERTY "Qwerty"
# define OLED_RENDER_LAYOUT_COLEMAK_DH "Colemak-DH"
# define OLED_RENDER_LAYOUT_COLEMAK "Colemak" # define OLED_RENDER_LAYOUT_COLEMAK "Colemak"
# define OLED_RENDER_LAYOUT_DVORAK "Dvorak" # define OLED_RENDER_LAYOUT_DVORAK "Dvorak"
# define OLED_RENDER_LAYOUT_WORKMAN "Workman" # define OLED_RENDER_LAYOUT_WORKMAN "Workman"
@ -73,6 +74,7 @@ extern uint32_t oled_timer;
# define OLED_RENDER_LAYOUT_NAME "Lyout" # define OLED_RENDER_LAYOUT_NAME "Lyout"
# define OLED_RENDER_LAYOUT_QWERTY " QRTY" # define OLED_RENDER_LAYOUT_QWERTY " QRTY"
# define OLED_RENDER_LAYOUT_COLEMAK_DH " cmDH"
# define OLED_RENDER_LAYOUT_COLEMAK " COLE" # define OLED_RENDER_LAYOUT_COLEMAK " COLE"
# define OLED_RENDER_LAYOUT_DVORAK " DVRK" # define OLED_RENDER_LAYOUT_DVORAK " DVRK"
# define OLED_RENDER_LAYOUT_WORKMAN " WKMN" # define OLED_RENDER_LAYOUT_WORKMAN " WKMN"

View File

@ -46,15 +46,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
switch (keycode) { switch (keycode) {
case KC_QWERTY ... KC_WORKMAN: case FIRST_DEFAULT_LAYER_KEYCODE ... LAST_DEFAULT_LAYER_KEYCODE:
if (record->event.pressed) { if (record->event.pressed) {
uint8_t mods = mod_config(get_mods() | get_oneshot_mods()); uint8_t mods = mod_config(get_mods() | get_oneshot_mods());
if (!mods) { if (!mods) {
set_single_persistent_default_layer(keycode - KC_QWERTY); set_single_persistent_default_layer(keycode - FIRST_DEFAULT_LAYER_KEYCODE);
#if LAST_DEFAULT_LAYER_KEYCODE > (FIRST_DEFAULT_LAYER_KEYCODE + 3)
} else if (mods & MOD_MASK_SHIFT) { } else if (mods & MOD_MASK_SHIFT) {
set_single_persistent_default_layer(keycode - KC_QWERTY + 4); set_single_persistent_default_layer(keycode - FIRST_DEFAULT_LAYER_KEYCODE + 4);
# if LAST_DEFAULT_LAYER_KEYCODE > (FIRST_DEFAULT_LAYER_KEYCODE + 7)
} else if (mods & MOD_MASK_CTRL) { } else if (mods & MOD_MASK_CTRL) {
set_single_persistent_default_layer(keycode - KC_QWERTY + 8); set_single_persistent_default_layer(keycode - FIRST_DEFAULT_LAYER_KEYCODE + 8);
# endif
#endif
} }
} }
break; break;
@ -79,25 +84,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif #endif
} }
send_string_with_delay_P(PSTR("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP), TAP_CODE_DELAY); send_string_with_delay_P(PSTR("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP), TAP_CODE_DELAY);
#ifdef RGB_MATRIX_SPLIT_RIGHT #ifdef CONVERT_TO_PROTON_C
send_string_with_delay_P(PSTR(" RGB_MATRIX_SPLIT_RIGHT=yes"), TAP_CODE_DELAY); send_string_with_delay_P(PSTR(" -e CTPC=yes"), TAP_CODE_DELAY);
# ifndef OLED_DRIVER_ENABLE
send_string_with_delay_P(PSTR(" OLED_DRIVER_ENABLE=no"), TAP_CODE_DELAY);
# endif
#endif #endif
send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY); send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
} }
break; break;
case VRSN: // Prints firmware version case VRSN: // Prints firmware version
if (record->event.pressed) { send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY); } if (record->event.pressed) {
send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY);
}
break; break;
case KC_DIABLO_CLEAR: // reset all Diablo timers, disabling them case KC_DIABLO_CLEAR: // reset all Diablo timers, disabling them
#ifdef TAP_DANCE_ENABLE #ifdef TAP_DANCE_ENABLE
if (record->event.pressed) { if (record->event.pressed) {
for (uint8_t index = 0; index < 4; index++) { diablo_timer[index].key_interval = 0; } for (uint8_t index = 0; index < 4; index++) {
diablo_timer[index].key_interval = 0;
}
} }
#endif // TAP_DANCE_ENABLE #endif // TAP_DANCE_ENABLE
break; break;
@ -115,16 +120,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
#ifdef UNICODE_ENABLE #ifdef UNICODE_ENABLE
case UC_FLIP: // (ノಠ痊ಠ)ノ彡┻━┻ case UC_FLIP: // (ノಠ痊ಠ)ノ彡┻━┻
if (record->event.pressed) { send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); } if (record->event.pressed) {
send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻");
}
break; break;
case UC_TABL: // ┬─┬ノ( º _ ºノ) case UC_TABL: // ┬─┬ノ( º _ ºノ)
if (record->event.pressed) { send_unicode_string("┬─┬ノ( º _ ºノ)"); } if (record->event.pressed) {
send_unicode_string("┬─┬ノ( º _ ºノ)");
}
break; break;
case UC_SHRG: // ¯\_(ツ)_/¯ case UC_SHRG: // ¯\_(ツ)_/¯
if (record->event.pressed) { send_unicode_string("¯\\_(ツ)_/¯"); } if (record->event.pressed) {
send_unicode_string("¯\\_(ツ)_/¯");
}
break; break;
case UC_DISA: // ಠ_ಠ case UC_DISA: // ಠ_ಠ
if (record->event.pressed) { send_unicode_string("ಠ_ಠ"); } if (record->event.pressed) {
send_unicode_string("ಠ_ಠ");
}
break; break;
#endif #endif
case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal
@ -182,7 +195,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
is_eeprom_updated = true; is_eeprom_updated = true;
} }
# endif # endif
if (is_eeprom_updated) { eeconfig_update_user(userspace_config.raw); } if (is_eeprom_updated) {
eeconfig_update_user(userspace_config.raw);
}
} }
#endif #endif
} }

View File

@ -26,9 +26,11 @@
enum userspace_custom_keycodes { enum userspace_custom_keycodes {
VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info
KC_QWERTY, // Sets default layer to QWERTY KC_QWERTY, // Sets default layer to QWERTY
FIRST_DEFAULT_LAYER_KEYCODE = KC_QWERTY, // Sets default layer to QWERTY
KC_COLEMAK_DH, // Sets default layer to COLEMAK
KC_COLEMAK, // Sets default layer to COLEMAK KC_COLEMAK, // Sets default layer to COLEMAK
KC_DVORAK, // Sets default layer to DVORAK KC_DVORAK, // Sets default layer to DVORAK
KC_WORKMAN, // Sets default layer to WORKMAN LAST_DEFAULT_LAYER_KEYCODE = KC_DVORAK, // Sets default layer to WORKMAN
KC_DIABLO_CLEAR, // Clears all Diablo Timers KC_DIABLO_CLEAR, // Clears all Diablo Timers
KC_MAKE, // Run keyboard's customized make command KC_MAKE, // Run keyboard's customized make command
KC_RGB_T, // Toggles RGB Layer Indication mode KC_RGB_T, // Toggles RGB Layer Indication mode
@ -68,7 +70,24 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
#define QWERTY KC_QWERTY #define QWERTY KC_QWERTY
#define DVORAK KC_DVORAK #define DVORAK KC_DVORAK
#define COLEMAK KC_COLEMAK #define COLEMAK KC_COLEMAK
#define WORKMAN KC_WORKMAN #define COLEMAKDH KC_COLEMAK_DH
#define DEFLYR1 FIRST_DEFAULT_LAYER_KEYCODE
#define DEFLYR2 (FIRST_DEFAULT_LAYER_KEYCODE + 1)
#define DEFLYR3 (FIRST_DEFAULT_LAYER_KEYCODE + 2)
#define DEFLYR4 (FIRST_DEFAULT_LAYER_KEYCODE + 3)
#if LAST_DEFAULT_LAYER_KEYCODE > (FIRST_DEFAULT_LAYER_KEYCODE + 3)
# define DEFLYR5 (FIRST_DEFAULT_LAYER_KEYCODE + 4)
# define DEFLYR6 (FIRST_DEFAULT_LAYER_KEYCODE + 5)
# define DEFLYR7 (FIRST_DEFAULT_LAYER_KEYCODE + 6)
# define DEFLYR8 (FIRST_DEFAULT_LAYER_KEYCODE + 7)
# if LAST_DEFAULT_LAYER_KEYCODE > (FIRST_DEFAULT_LAYER_KEYCODE + 7)
# define DEFLYR9 (FIRST_DEFAULT_LAYER_KEYCODE + 8)
# define DEFLYR10 (FIRST_DEFAULT_LAYER_KEYCODE + 9)
# define DEFLYR11 (FIRST_DEFAULT_LAYER_KEYCODE + 10)
# define DEFLYR12 (FIRST_DEFAULT_LAYER_KEYCODE + 11)
# endif
#endif
#define KC_RESET RESET #define KC_RESET RESET
#define KC_RST KC_RESET #define KC_RST KC_RESET

View File

@ -28,7 +28,9 @@ static uint32_t hypno_timer;
void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type, uint8_t led_min, uint8_t led_max) { void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode, uint8_t speed, uint8_t led_type, uint8_t led_min, uint8_t led_max) {
HSV hsv = {hue, sat, val}; HSV hsv = {hue, sat, val};
if (hsv.v > rgb_matrix_get_val()) { hsv.v = rgb_matrix_get_val(); } if (hsv.v > rgb_matrix_get_val()) {
hsv.v = rgb_matrix_get_val();
}
switch (mode) { switch (mode) {
case 1: // breathing case 1: // breathing
@ -37,7 +39,9 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
RGB rgb = hsv_to_rgb(hsv); RGB rgb = hsv_to_rgb(hsv);
for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
}
} }
break; break;
} }
@ -45,7 +49,9 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
{ {
RGB rgb = hsv_to_rgb(hsv); RGB rgb = hsv_to_rgb(hsv);
for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
}
} }
break; break;
} }
@ -56,21 +62,27 @@ __attribute__((weak)) void rgb_matrix_indicator_keymap(void) {}
void matrix_scan_rgb_matrix(void) { void matrix_scan_rgb_matrix(void) {
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP && sync_timer_elapsed32(hypno_timer) > 15000) { rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE); } if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP && sync_timer_elapsed32(hypno_timer) > 15000) {
rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
}
#endif #endif
rgb_matrix_indicator_keymap(); rgb_matrix_indicator_keymap();
} }
void keyboard_post_init_rgb_matrix(void) { void keyboard_post_init_rgb_matrix(void) {
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
if (userspace_config.rgb_matrix_idle_anim) { rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE); } if (userspace_config.rgb_matrix_idle_anim) {
rgb_matrix_mode_noeeprom(RGB_MATRIX_REST_MODE);
}
#endif #endif
} }
bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) { bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) {
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
hypno_timer = sync_timer_read32(); hypno_timer = sync_timer_read32();
if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_REST_MODE) { rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP); } if (userspace_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == RGB_MATRIX_REST_MODE) {
rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
}
#endif #endif
switch (keycode) { switch (keycode) {
case RGB_IDL: // This allows me to use underglow as layer indication, or as normal case RGB_IDL: // This allows me to use underglow as layer indication, or as normal
@ -79,7 +91,9 @@ bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) {
userspace_config.rgb_matrix_idle_anim ^= 1; userspace_config.rgb_matrix_idle_anim ^= 1;
dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim); dprintf("RGB Matrix Idle Animation [EEPROM]: %u\n", userspace_config.rgb_matrix_idle_anim);
eeconfig_update_user(userspace_config.raw); eeconfig_update_user(userspace_config.raw);
if (userspace_config.rgb_matrix_idle_anim) { rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP); } if (userspace_config.rgb_matrix_idle_anim) {
rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
}
} }
#endif #endif
break; break;

View File

@ -38,15 +38,21 @@ void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgb
if (light->life) { if (light->life) {
light->life -= 1; light->life -= 1;
if (get_highest_layer(layer_state) == 0) { sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); } if (get_highest_layer(layer_state) == 0) {
sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]);
}
light->timer = sync_timer_read(); light->timer = sync_timer_read();
} else { } else {
if (light->enabled && get_highest_layer(layer_state) == 0) { rgblight_sethsv_default_helper(light_index); } if (light->enabled && get_highest_layer(layer_state) == 0) {
rgblight_sethsv_default_helper(light_index);
}
litup = light->enabled = false; litup = light->enabled = false;
} }
} }
} }
if (litup && get_highest_layer(layer_state) == 0) { rgblight_set(); } if (litup && get_highest_layer(layer_state) == 0) {
rgblight_set();
}
} }
/* Triggers a LED to fade/twinkle. /* Triggers a LED to fade/twinkle.
@ -92,7 +98,9 @@ void start_rgb_light(void) {
bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) { bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) {
uint16_t temp_keycode = keycode; uint16_t temp_keycode = keycode;
// Filter out the actual keycode from MT and LT keys. // Filter out the actual keycode from MT and LT keys.
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { temp_keycode &= 0xFF; } if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
temp_keycode &= 0xFF;
}
switch (temp_keycode) { switch (temp_keycode) {
# ifdef RGBLIGHT_TWINKLE # ifdef RGBLIGHT_TWINKLE
@ -102,7 +110,9 @@ bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) {
case KC_KP_SLASH ... KC_KP_DOT: case KC_KP_SLASH ... KC_KP_DOT:
case KC_F13 ... KC_F24: case KC_F13 ... KC_F24:
case KC_AUDIO_MUTE ... KC_MEDIA_REWIND: case KC_AUDIO_MUTE ... KC_MEDIA_REWIND:
if (record->event.pressed) { start_rgb_light(); } if (record->event.pressed) {
start_rgb_light();
}
break; break;
# endif // RGBLIGHT_TWINKLE # endif // RGBLIGHT_TWINKLE
} }
@ -119,7 +129,9 @@ static uint16_t rgblight_startup_loop_timer;
void keyboard_post_init_rgb_light(void) { void keyboard_post_init_rgb_light(void) {
# if defined(RGBLIGHT_STARTUP_ANIMATION) # if defined(RGBLIGHT_STARTUP_ANIMATION)
is_enabled = rgblight_is_enabled(); is_enabled = rgblight_is_enabled();
if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); } if (userspace_config.rgb_layer_change) {
rgblight_enable_noeeprom();
}
if (rgblight_is_enabled()) { if (rgblight_is_enabled()) {
layer_state_set_rgb_light(layer_state); layer_state_set_rgb_light(layer_state);
old_hue = rgblight_get_hue(); old_hue = rgblight_get_hue();
@ -144,8 +156,12 @@ void matrix_scan_rgb_light(void) {
rgblight_startup_loop_timer = sync_timer_read(); rgblight_startup_loop_timer = sync_timer_read();
if (counter == 255) { if (counter == 255) {
is_rgblight_startup = false; is_rgblight_startup = false;
if (!is_enabled) { rgblight_disable_noeeprom(); } if (!is_enabled) {
if (userspace_config.rgb_layer_change) { layer_state_set_rgb_light(layer_state); } rgblight_disable_noeeprom();
}
if (userspace_config.rgb_layer_change) {
layer_state_set_rgb_light(layer_state);
}
} }
} }
} }
@ -162,23 +178,45 @@ layer_state_t layer_state_set_rgb_light(layer_state_t state) {
# ifdef RGBLIGHT_ENABLE # ifdef RGBLIGHT_ENABLE
if (userspace_config.rgb_layer_change) { if (userspace_config.rgb_layer_change) {
switch (get_highest_layer(state | default_layer_state)) { switch (get_highest_layer(state | default_layer_state)) {
case _MACROS: // mouse case _MOUSE: // mouse
if (!layer_state_cmp(state, _GAMEPAD) && !layer_state_cmp(state, _DIABLO)) { rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3); } if (!layer_state_cmp(state, _GAMEPAD) && !layer_state_cmp(state, _DIABLO)) {
# if defined(RGBLIGHT_EFFECT_TWINKLE)
rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_TWINKLE + 5);
# else
rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3);
# endif
}
break;
case _MEDIA:
rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1);
break;
case _GAMEPAD:
rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2);
break;
case _DIABLO:
rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3);
break;
case _RAISE:
rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3);
break;
case _LOWER:
rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3);
break;
case _ADJUST:
rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2);
break;
case _DEFAULT_LAYER_1:
rgblight_set_hsv_and_mode(DEFAULT_LAYER_1_HSV, RGBLIGHT_MODE_STATIC_LIGHT);
break;
case _DEFAULT_LAYER_2:
rgblight_set_hsv_and_mode(DEFAULT_LAYER_2_HSV, RGBLIGHT_MODE_STATIC_LIGHT);
break;
case _DEFAULT_LAYER_3:
rgblight_set_hsv_and_mode(DEFAULT_LAYER_3_HSV, RGBLIGHT_MODE_STATIC_LIGHT);
break;
case _DEFAULT_LAYER_4:
rgblight_set_hsv_and_mode(DEFAULT_LAYER_4_HSV, RGBLIGHT_MODE_STATIC_LIGHT);
break; break;
case _MEDIA: rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1); break;
case _GAMEPAD: rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2); break;
case _DIABLO: rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3); break;
case _RAISE: rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3); break;
case _LOWER: rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3); break;
case _ADJUST: rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2); break;
case _COLEMAK: rgblight_set_hsv_and_mode(HSV_MAGENTA, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _DVORAK: rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _WORKMAN: rgblight_set_hsv_and_mode(HSV_GOLDENROD, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _NORMAN: rgblight_set_hsv_and_mode(HSV_CORAL, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _MALTRON: rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _EUCALYN: rgblight_set_hsv_and_mode(HSV_PINK, RGBLIGHT_MODE_STATIC_LIGHT); break;
case _CARPLAX: rgblight_set_hsv_and_mode(HSV_BLUE, RGBLIGHT_MODE_STATIC_LIGHT); break;
default: rgblight_set_hsv_and_mode(HSV_CYAN, RGBLIGHT_MODE_STATIC_LIGHT); break;
} }
} }
# endif // RGBLIGHT_ENABLE # endif // RGBLIGHT_ENABLE

View File

@ -68,6 +68,7 @@ CUSTOM_OLED_DRIVER ?= yes
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes) ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
ifeq ($(strip $(CUSTOM_OLED_DRIVER)), yes) ifeq ($(strip $(CUSTOM_OLED_DRIVER)), yes)
SRC += oled_stuff.c SRC += oled_stuff.c
OPT_DEFS += -DCUSTOM_OLED_DRIVER_CODE
endif endif
endif endif
@ -78,31 +79,8 @@ ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
QUANTUM_LIB_SRC += i2c_master.c QUANTUM_LIB_SRC += i2c_master.c
endif endif
CUSTOM_SPLIT_TRANSPORT ?= yes
ifeq ($(strip $(SPLIT_KEYBOARD)), yes) ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
QUANTUM_LIB_SRC += transport_sync.c QUANTUM_LIB_SRC += transport_sync.c
# ifneq ($(strip $(SPLIT_TRANSPORT)), custom)
# ifeq ($(strip $(CUSTOM_SPLIT_TRANSPORT)), yes)
# SPLIT_TRANSPORT = custom
# QUANTUM_LIB_SRC += drashna_transport.c
# OPT_DEFS += -DDRASHNA_CUSTOM_TRANSPORT
# # Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
# ifeq ($(PLATFORM),AVR)
# ifneq ($(NO_I2C),yes)
# QUANTUM_LIB_SRC += i2c_master.c \
# i2c_slave.c
# endif
# endif
# SERIAL_DRIVER ?= bitbang
# OPT_DEFS += -DSERIAL_DRIVER_$(strip $(shell echo $(SERIAL_DRIVER) | tr '[:lower:]' '[:upper:]'))
# ifeq ($(strip $(SERIAL_DRIVER)), bitbang)
# QUANTUM_LIB_SRC += serial.c
# else
# QUANTUM_LIB_SRC += serial_$(strip $(SERIAL_DRIVER)).c
# endif
# endif
# endif
endif endif
# DEBUG_MATRIX_SCAN_RATE_ENABLE = api # DEBUG_MATRIX_SCAN_RATE_ENABLE = api

View File

@ -64,7 +64,9 @@ void run_diablo_macro_check(void) {
// reset the timer, since enough time has passed // reset the timer, since enough time has passed
diablo_timer[index].timer = timer_read(); diablo_timer[index].timer = timer_read();
// send keycode ONLY if we're on the diablo layer. // send keycode ONLY if we're on the diablo layer.
if (IS_LAYER_ON(_DIABLO)) { tap_code(diablo_timer[index].keycode); } if (IS_LAYER_ON(_DIABLO)) {
tap_code(diablo_timer[index].keycode);
}
} }
} }
} }

View File

@ -35,12 +35,10 @@ extern diablo_timer_t diablo_timer[];
void run_diablo_macro_check(void); void run_diablo_macro_check(void);
#ifdef TAP_DANCE_ENABLE #ifdef TAP_DANCE_ENABLE
// clang-format off
enum { enum {
TD_D3_1 = 0, TD_D3_1 = 0,
TD_D3_2, TD_D3_2,
TD_D3_3, TD_D3_3,
TD_D3_4 TD_D3_4,
}; };
// clang-format on
#endif // TAP_DANCE_ENABLE #endif // TAP_DANCE_ENABLE

View File

@ -54,7 +54,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case VRSN: case VRSN:
if (record->event.pressed) { SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); } if (record->event.pressed) {
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
return false; return false;
break; break;
} }

View File

@ -1,7 +1,7 @@
#ifdef SPLIT_TRANSACTION_IDS_USER #ifdef SPLIT_TRANSACTION_IDS_USER
#include "transport_sync.h" # include "transport_sync.h"
#include "transactions.h" # include "transactions.h"
#include <string.h> # include <string.h>
typedef struct { typedef struct {
bool oled_on; bool oled_on;
@ -23,20 +23,19 @@ void keyboard_post_init_transport_sync(void) {
void user_state_update(void) { void user_state_update(void) {
if (is_keyboard_master()) { if (is_keyboard_master()) {
# ifdef OLED_DRIVER_ENABLE
#ifdef OLED_DRIVER_ENABLE
user_state.oled_on = is_oled_on(); user_state.oled_on = is_oled_on();
#endif # endif
user_state.keymap_config = keymap_config.raw; user_state.keymap_config = keymap_config.raw;
} else { } else {
#ifdef OLED_DRIVER_ENABLE # ifdef OLED_DRIVER_ENABLE
if (user_state.oled_on) { if (user_state.oled_on) {
oled_on(); oled_on();
} else { } else {
oled_off(); oled_off();
} }
#endif # endif
if (keymap_config.raw != user_state.keymap_config) { if (keymap_config.raw != user_state.keymap_config) {
keymap_config.raw = user_state.keymap_config; keymap_config.raw = user_state.keymap_config;
} }

View File

@ -209,7 +209,7 @@ NOTE: These are all the same length. If you do a search/replace
#define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T #define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5 #define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5
#define _________________ADJUST_R2_________________ CG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN #define _________________ADJUST_R2_________________ CG_SWAP, DEFLYR1, DEFLYR2, DEFLYR3, DEFLYR4
#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT #define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT
// clang-format on // clang-format on