Skip to content

Commit

Permalink
Adjust persistent layers
Browse files Browse the repository at this point in the history
  • Loading branch information
xinhaoyuan committed Oct 27, 2024
1 parent 2d84956 commit 492ead6
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 42 deletions.
21 changes: 7 additions & 14 deletions keyboards/boardsource/unicorne/keymaps/xinhaoyuan/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),

[L_MOUSE] = _LAYOUT(
KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO,
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
KC_NO, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
_______, KC_NO, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, _______,
_______, _______, KC_NO, KC_NO, _______, _______
),

[L_P_MOUSE] = _LAYOUT(
LPSWCH, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, LPSWCH,
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
[L_P1] = _LAYOUT(
LPTOGG, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, LPTOGG,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
_______, KC_NO, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, _______,
LPTOGG, _______, KC_NO, KC_NO, _______, LPTOGG
),

[L_P_ARROW] = _LAYOUT(
LPSWCH, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, LPSWCH,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
LPTOGG, _______, KC_NO, KC_NO, _______, LPTOGG
_______, _______, KC_NO, KC_NO, _______, _______
),

[L_PARA] = _LAYOUT(
KC_NO, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_VOLU, LPTOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, UG_HUED, UG_SATD, UG_VALD, KC_NO, KC_VOLD, LPSWCH, KC_NO, KC_NO, KC_NO, KC_NO, _______,
_______, UG_HUED, UG_SATD, UG_VALD, KC_NO, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
_______, UG_TOGG, RGB_M_P, UG_NEXT, KC_CAPS, KC_MUTE, OMTOGG, AMTOGG, KC_NO, KC_NO, KC_NO, _______,
_______, _______, KC_NO, KC_NO, _______, _______
),
Expand Down
21 changes: 7 additions & 14 deletions keyboards/keebio/chiri_ce/keymaps/xinhaoyuan/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),

[L_MOUSE] = _LAYOUT(
KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO,
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
KC_NO, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
_______, KC_NO, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, _______, _______, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, _______,
_______, _______, KC_NO, KC_NO, _______, _______
),

[L_P_MOUSE] = _LAYOUT(
LPSWCH, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, LPSWCH,
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
[L_P1] = _LAYOUT(
LPTOGG, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, LPTOGG,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
_______, KC_NO, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, _______, _______, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, _______,
LPTOGG, _______, KC_NO, KC_NO, _______, LPTOGG
),

[L_P_ARROW] = _LAYOUT(
LPSWCH, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, LPSWCH,
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
LPTOGG, _______, KC_NO, KC_NO, _______, LPTOGG
_______, _______, KC_NO, KC_NO, _______, _______
),

[L_PARA] = _LAYOUT(
KC_NO, UG_HUEU, UG_SATU, UG_VALU, KC_NO, KC_VOLU, LPTOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, UG_HUED, UG_SATD, UG_VALD, KC_NO, KC_VOLD, LPSWCH, KC_NO, KC_NO, KC_NO, KC_NO, _______,
_______, UG_HUED, UG_SATD, UG_VALD, KC_NO, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
_______, UG_TOGG, RGB_M_P, UG_NEXT, KC_CAPS, KC_MUTE, _______, _______, OMTOGG, AMTOGG, KC_NO, KC_NO, KC_NO, _______,
_______, _______, KC_NO, KC_NO, _______, _______
),
Expand Down
31 changes: 17 additions & 14 deletions keyboards/xinhaoyuan_common.inc.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@ enum layers {
L_LOWER,
L_RAISE,
L_MOUSE,
L_P_MOUSE,
L_P_ARROW,
L_P1,
L_P2,
L_PARA,
L__END,
};

#define L_P_START L_P1
#define L_P_END L_P2

enum keycodes {
LOWER = SAFE_RANGE,
RAISE,
Expand All @@ -20,7 +23,7 @@ enum keycodes {
MY_RGUI,
MY_RALT,
MY_RSFT,
LPSWCH,
LPNEXT,
LPTOGG,
AMTOGG, // Alternative Mod
OMTOGG, // Oneshot Mod
Expand All @@ -36,6 +39,7 @@ static bool my_alt_mod_enabled = 0;
static bool my_oneshot_mod_enabled = 0;
static uint8_t my_mod_mask = 0;
static uint8_t my_alt_mod_mask = 0;
static uint8_t my_lp_index = 0;
// MetaMod: lower and raise
static uint8_t mm_press_count[2] = {0};
static uint8_t mm_layer[2] = {0};
Expand Down Expand Up @@ -244,24 +248,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
HANDLE_ZIG_LAYER(L_MOUSE);
HANDLE_MOD(KC_RALT);
break;
case LPSWCH:
case LPNEXT:
if (record->event.pressed) {
if (layer_state_is(L_P_MOUSE)) {
layer_off(L_P_MOUSE);
layer_on(L_P_ARROW);
} else {
layer_off(L_P_ARROW);
layer_on(L_P_MOUSE);
if (my_lp_index <= L_P_END - L_P_START) {
if (my_lp_index > 0) layer_off(L_P_START + my_lp_index - 1);
layer_on(L_P_START + my_lp_index);
++my_lp_index;
}
}
return false;
case LPTOGG:
if (record->event.pressed) {
if (layer_state_is(L_P_ARROW) || layer_state_is(L_P_MOUSE)) {
layer_off(L_P_ARROW);
layer_off(L_P_MOUSE);
if (my_lp_index == 0) {
my_lp_index = 1;
layer_on(L_P_START);
} else {
layer_on(L_P_ARROW);
layer_off(L_P_START + my_lp_index - 1);
my_lp_index = 0;
}
}
return false;
Expand Down

0 comments on commit 492ead6

Please sign in to comment.