summaryrefslogtreecommitdiff
path: root/keyboards/planck
diff options
context:
space:
mode:
authorMartin Sandiford <ms@mcdev.com.au>2018-04-27 05:40:03 +0930
committerJack Humbert <jack.humb@gmail.com>2018-04-26 16:10:03 -0400
commit66e40529aa9271c76d207fb8190ad76bb5cf8d6b (patch)
tree6c4a1e185cc268b2c16236339a23b4ea8fb05b49 /keyboards/planck
parent80ccbc7b547d07236f302af830be75e646b7848f (diff)
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.
Diffstat (limited to 'keyboards/planck')
-rw-r--r--keyboards/planck/keymaps/default/keymap.c29
1 files changed, 7 insertions, 22 deletions
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);