From 21cd0225de57d9f248fec1bdb9c836d399182577 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Sun, 30 Jun 2019 21:50:14 -0700 Subject: [PATCH] Fixing code that disables LEDs on ProMicros Also tidied up my ErgoTravel keymap. --- keyboards/atreus62/keymaps/xyverz/keymap.c | 8 +-- keyboards/ergotravel/keymaps/xyverz/keymap.c | 73 +++++++------------- 2 files changed, 29 insertions(+), 52 deletions(-) diff --git a/keyboards/atreus62/keymaps/xyverz/keymap.c b/keyboards/atreus62/keymaps/xyverz/keymap.c index d1c8bc7205e..c7e1680451f 100644 --- a/keyboards/atreus62/keymaps/xyverz/keymap.c +++ b/keyboards/atreus62/keymaps/xyverz/keymap.c @@ -138,10 +138,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_user(void) { #ifdef BOOTLOADER_CATERINA // This will disable the red LEDs on the ProMicros - setPinOutput(D5); - writePinHigh(D5); - setPinOutput(B0); - writePinHigh(B0); + setPinInput(D5); + writePinLow(D5); + setPinInput(B0); + writePinLow(B0); #endif }; diff --git a/keyboards/ergotravel/keymaps/xyverz/keymap.c b/keyboards/ergotravel/keymaps/xyverz/keymap.c index cd908e47229..5951803334d 100644 --- a/keyboards/ergotravel/keymaps/xyverz/keymap.c +++ b/keyboards/ergotravel/keymaps/xyverz/keymap.c @@ -22,8 +22,9 @@ enum ergotravel_keycodes { }; // Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -74,61 +75,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_user(void) { #ifdef BOOTLOADER_CATERINA // This will disable the red LEDs on the ProMicros - DDRD &= ~(1<<5); - PORTD &= ~(1<<5); - DDRB &= ~(1<<0); - PORTB &= ~(1<<0); + setPinInput(D5); + writePinLow(D5); + setPinInput(B0); + writePinLow(B0); #endif }; const uint16_t PROGMEM fn_actions[] = { }; -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} +uint32_t layer_state_set_user(uint32_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; + case DVORAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_DVORAK); + } + return false; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; } return true; }; \ No newline at end of file