Default layer now persists after powering off and on.
This commit is contained in:
parent
40c73135e6
commit
4a5edff720
34
keymap.c
34
keymap.c
@ -39,6 +39,12 @@ enum layers {
|
||||
OTHER
|
||||
};
|
||||
|
||||
enum keycodes {
|
||||
K_COLEMAK_0,
|
||||
K_COLEMAK_1,
|
||||
K_QWERTY
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// colemak
|
||||
[COLEMAK_0] = LAYOUT_60_hhkb(
|
||||
@ -46,7 +52,7 @@ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||
TD(TD_CTRL_CAPS), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB_FN), \
|
||||
MO(FN), TD(TD_LGUI_LALT), LT(SPACE_FN, KC_SPC), TD(TD_RGUI_RALT), MO(FN)
|
||||
MO(FN), TD(TD_LGUI_LALT), KC_SPC, TD(TD_RGUI_RALT), MO(FN)
|
||||
),
|
||||
// colemak with out tap/hold layers
|
||||
[COLEMAK_1] = LAYOUT_60_hhkb(
|
||||
@ -90,7 +96,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
// others
|
||||
[OTHER] = LAYOUT_60_hhkb(
|
||||
KC_PWR, RGB_TOG, RGB_RMOD, RGB_MOD, NK_OFF, NK_ON, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, DF(COLEMAK_0), DF(COLEMAK_1), DF(QWERTY), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, K_COLEMAK_0, K_COLEMAK_1, K_QWERTY, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
@ -102,12 +108,26 @@ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
// Functions
|
||||
//
|
||||
|
||||
// RETRO_TAPPING_PER_KEY
|
||||
bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LT(SPACE_FN, KC_SPACE):
|
||||
return true;
|
||||
default:
|
||||
case K_COLEMAK_0:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(COLEMAK_0);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case K_COLEMAK_1:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(COLEMAK_1);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case K_QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user