From 66e40529aa9271c76d207fb8190ad76bb5cf8d6b Mon Sep 17 00:00:00 2001 From: Martin Sandiford Date: Fri, 27 Apr 2018 05:40:03 +0930 Subject: Change handling of adjust layer to make it more LT(...) friendly. (#1625) * Change handling of adjust layer to make it more LT(...) friendly. * Update based on feedback from drashna. * Change handling of adjust layer to make it more LT(...) friendly. This reworks handling to make it a little more friendly to include in keymaps. --- keyboards/planck/keymaps/default/keymap.c | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'keyboards/planck/keymaps/default') diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index 04fc33640d..b13557eee2 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -34,12 +34,13 @@ enum planck_keycodes { COLEMAK, DVORAK, PLOVER, - LOWER, - RAISE, BACKLIT, EXT_PLV }; +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty @@ -177,6 +178,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); #endif +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: @@ -198,26 +203,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } 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 BACKLIT: if (record->event.pressed) { register_code(KC_RSFT); -- cgit v1.2.1