FN macro: use layer_invert() instead of modifying layer_state directly
- fixes stuck keys from the temporary layers (see also jackhumbert/qmk_firmware#78) - removed the workaround for jackhumbert/qmk_firmware#81 (using layer_invert() fixes the problem)
This commit is contained in:
parent
7ba42b994b
commit
a2f6ab16c0
1 changed files with 3 additions and 20 deletions
|
@ -11,9 +11,6 @@
|
||||||
|
|
||||||
#define MDBL0 1
|
#define MDBL0 1
|
||||||
#define MFNLR 2
|
#define MFNLR 2
|
||||||
#define MCUT 3
|
|
||||||
#define MCOPY 4
|
|
||||||
#define MPSTE 5
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Basic layer
|
/* Basic layer
|
||||||
|
@ -178,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM,
|
||||||
KC_TRNS, KC_TRNS, M(MCUT), M(MCOPY), M(MPSTE), KC_MUTE, KC_VOLD,
|
KC_TRNS, KC_TRNS, LSFT(KC_DELT),LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
|
||||||
KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS,
|
||||||
|
@ -210,22 +207,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MFNLR:
|
case MFNLR:
|
||||||
layer_state ^= (1 << NUMR) | (1 << FNLR);
|
layer_invert(NUMR);
|
||||||
break;
|
layer_invert(FNLR);
|
||||||
case MCUT:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
return MACRO(D(LSFT), T(DELT), U(LSFT), END);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case MCOPY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
return MACRO(D(LCTL), T(INS), U(LCTL), END);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case MPSTE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
return MACRO(D(LSFT), T(INS), U(LSFT), END);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return MACRO_NONE;
|
return MACRO_NONE;
|
||||||
|
|
Loading…
Reference in a new issue