aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Đorđević <vomindoraan@gmail.com>2019-09-03 17:42:05 +0200
committerDrashna Jaelre <drashna@live.com>2019-09-03 08:42:05 -0700
commitd633cf3ccbf1aed229ef92bdc2f2a1f4f67dd0ad (patch)
tree469db5ce07f2ee43f5c06b2b19d146e687213ee3
parent55bae0a5b48a004288013f2fa7cbfd49dfb16273 (diff)
downloadqmk_firmware-d633cf3ccbf1aed229ef92bdc2f2a1f4f67dd0ad.tar.gz
qmk_firmware-d633cf3ccbf1aed229ef92bdc2f2a1f4f67dd0ad.zip
[Keymap] Update personal userspace and keymaps (#6654)
* Enable Fn layer tap dances only if LAYER_FN is defined * Update KBD6X keymap spacing to match LAYOUT spacing * Add regular FNLK to userspace, update keymap comment labels * Rename KC_BRK → BREAK, KC_SYSR → SYSRQ in userspace * Change mousekey positions in KBD6X * Disable Console in KBD6X to reduce firmware size * Return false in process_record_* only when overriding existing keys * Fix Caps light not working after LSFT_FN * Refactor Fn/Caps light, fix sequencing issues
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c85
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/konstantin/rules.mk2
-rw-r--r--keyboards/maartenwut/wasdat/keymaps/konstantin/keymap.c2
-rw-r--r--keyboards/melody96/keymaps/konstantin/keymap.c11
-rw-r--r--keyboards/whitefox/keymaps/konstantin/keymap.c2
-rw-r--r--users/konstantin/konstantin.c15
-rw-r--r--users/konstantin/konstantin.h6
-rw-r--r--users/konstantin/tap_dance.c3
-rw-r--r--users/konstantin/tap_dance.h12
9 files changed, 77 insertions, 61 deletions
diff --git a/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c
index c5c8c0963..00c6e59bc 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c
@@ -24,51 +24,66 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
24 unregister_code(KC_RCTRL); 24 unregister_code(KC_RCTRL);
25 layer_off(L_RCTRL); 25 layer_off(L_RCTRL);
26 } 26 }
27 return false; 27 break;
28
29 default:
30 return true;
31 } 28 }
29
30 return true;
31}
32
33static inline void fn_light() {
34 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
35 rgblight_sethsv_noeeprom(modern_dolch_red.h, modern_dolch_red.s, rgblight_get_val());
36}
37
38static inline void caps_light() {
39 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
40 rgblight_sethsv_noeeprom(modern_dolch_cyan.h, modern_dolch_cyan.s, rgblight_get_val());
32} 41}
33 42
34static bool skip_caps = false; 43static inline void restore_light() {
44 rgblight_config_t saved = { .raw = eeconfig_read_rgblight() };
45 rgblight_sethsv_noeeprom(saved.hue, saved.sat, saved.val);
46 rgblight_mode_noeeprom(saved.mode);
47}
35 48
36static void fn_light(uint32_t state) { 49static void check_light_layer(uint32_t state) {
37 if (IS_LAYER_ON_STATE(state, L_FN)) { 50 if (IS_LAYER_ON_STATE(state, L_FN)) {
38 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 51 fn_light();
39 rgblight_sethsv_noeeprom(modern_dolch_red.h, modern_dolch_red.s, rgblight_get_val()); 52 } else if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
40 skip_caps = true; 53 caps_light();
41 } else { 54 } else {
42 rgblight_config_t saved = { .raw = eeconfig_read_rgblight() }; 55 restore_light();
43 rgblight_sethsv_noeeprom(saved.hue, saved.sat, saved.val);
44 rgblight_mode_noeeprom(saved.mode);
45 } 56 }
46 // caps_light will be called automatically after this
47} 57}
48 58
49static void caps_light(uint8_t usb_led) { 59static void check_light_led(uint8_t usb_led) {
50 if (skip_caps) {
51 skip_caps = false;
52 return; // Skip calls triggered by the Fn layer turning on
53 }
54 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { 60 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
55 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 61 caps_light();
56 rgblight_sethsv_noeeprom(modern_dolch_cyan.h, modern_dolch_cyan.s, rgblight_get_val()); 62 } else if (IS_LAYER_ON(L_FN)) {
63 fn_light();
57 } else { 64 } else {
58 fn_light(layer_state); // Caps is off, check if Fn light should be on 65 restore_light();
59 } 66 }
60} 67}
61 68
69static bool skip_led = false;
70
62uint32_t layer_state_set_keymap(uint32_t state) { 71uint32_t layer_state_set_keymap(uint32_t state) {
63 static uint32_t prev_state = L_BASE; 72 static uint32_t prev_state = L_BASE;
64 if (IS_LAYER_ON_STATE(state, L_FN) != IS_LAYER_ON_STATE(prev_state, L_FN)) { 73 if (IS_LAYER_ON_STATE(state, L_FN) != IS_LAYER_ON_STATE(prev_state, L_FN)) {
65 fn_light(state); // Fn state changed since last time 74 check_light_layer(state); // Fn state changed since last time
75 skip_led = IS_LAYER_ON_STATE(state, L_FN);
76 // led_set_keymap will be called automatically after this
66 } 77 }
67 return prev_state = state; 78 return prev_state = state;
68} 79}
69 80
70void led_set_keymap(uint8_t usb_led) { 81void led_set_keymap(uint8_t usb_led) {
71 caps_light(usb_led); 82 if (skip_led) {
83 skip_led = false;
84 return; // Skip calls triggered by the Fn layer turning on
85 }
86 check_light_led(usb_led);
72} 87}
73 88
74const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 89const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -80,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
80 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 95 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
81 * │LCtCps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ 96 * │LCtCps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
82 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ 97 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
83 * │LShiftFn│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│FnL 98 * │LShiftFn│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│FnF
84 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘ 99 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
85 * │LGu│LAlt │ Space │RAlGu│RCt│ 100 * │LGu│LAlt │ Space │RAlGu│RCt│
86 * └───┴─────┴───────────────────────────┴─────┴───┘ 101 * └───┴─────┴───────────────────────────┴─────┴───┘
@@ -90,28 +105,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, 105 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
91 LCT_CPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, 106 LCT_CPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
92 LSFT_FN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_FNLK, 107 LSFT_FN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_FNLK,
93 XXXXXXX, KC_LGUI, KC_LALT, KC_SPC, RAL_RGU, RCTRL, XXXXXXX 108 XXXXXXX, KC_LGUI, KC_LALT, KC_SPC, RAL_RGU, RCTRL, XXXXXXX
94 ), 109 ),
95 110
96 /* Function layer 111 /* Function layer
97 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 112 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
98 * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Ins│ 113 * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Ins│
99 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 114 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
100 * │ │Hom│ ↑ │End│PgU│ │ │ │ │M3 │M1 │M↑ │M2 │ Del │ 115 * │ │Hom│ ↑ │End│PgU│ │ │ │ │M1 │M↑ │М2 │M3 Del │
101 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 116 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
102 * │ │ ← │ ↓ │ → │PgD│ │ │ │ │MW│M │M→ │ │ 117 * │ │ ← │ ↓ │ → │PgD│ │ │ │ │M │M │M→ │ │
103 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ 118 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
104 * │ │Mut│Vo-│Vo+│Ply│Prv│Nxt│App│MW│MWM↓ │ │ │ 119 * │ │Mut│Vo-│Vo+│Ply│Prv│Nxt│App│MW│M4 М5 │ │ │
105 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘ 120 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
106 * │ │ │ MW↓ │MAcl2│ │ 121 * │ │ │ MW↓ │MAcl2│ │
107 * └───┴─────┴───────────────────────────┴─────┴───┘ 122 * └───┴─────┴───────────────────────────┴─────┴───┘
108 */ 123 */
109 [L_FN] = LAYOUT( 124 [L_FN] = LAYOUT(
110 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS, 125 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS,
111 _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, KC_BTN3, KC_BTN1, KC_MS_U, KC_BTN2, KC_DEL, 126 _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_DEL,
112 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, KC_WH_U, KC_MS_L, KC_MS_R, _______, 127 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______,
113 _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_APP, KC_WH_L, KC_WH_R, KC_MS_D, _______, _______, 128 _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_APP, KC_WH_U, KC_BTN4, KC_BTN5, _______, _______,
114 XXXXXXX, _______, _______, KC_WH_D, KC_ACL2, _______, XXXXXXX 129 XXXXXXX, _______, _______, KC_WH_D, KC_ACL2, _______, XXXXXXX
115 ), 130 ),
116 131
117 /* RCtrl layer 132 /* RCtrl layer
@@ -122,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
122 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 137 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
123 * │ │Mv←│Mv↓│Mv→│TNx│ │ │ │ │ │ │ │ │ 138 * │ │Mv←│Mv↓│Mv→│TNx│ │ │ │ │ │ │ │ │
124 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ 139 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
125 * │ │RTg│RV-│RV+│RMd│ │ │ │M4M5 │ │ │ │ 140 * │ │RTg│RV-│RV+│RMd│ │ │ │ │ │ │ │
126 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘ 141 * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
127 * │DPR│DstNA│ │ │ │ 142 * │DPR│DstNA│ │ │ │
128 * └───┴─────┴───────────────────────────┴─────┴───┘ 143 * └───┴─────┴───────────────────────────┴─────┴───┘
@@ -131,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
131 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLEAR, 146 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLEAR,
132 _______, TOP, MV_UP, BOTTOM, TAB_PRV, _______, _______, _______, _______, _______, _______, _______, _______, DEL_NXT, 147 _______, TOP, MV_UP, BOTTOM, TAB_PRV, _______, _______, _______, _______, _______, _______, _______, _______, DEL_NXT,
133 _______, MV_LEFT, MV_DOWN, MV_RGHT, TAB_NXT, _______, _______, _______, _______, _______, _______, _______, _______, 148 _______, MV_LEFT, MV_DOWN, MV_RGHT, TAB_NXT, _______, _______, _______, _______, _______, _______, _______, _______,
134 _______, RGB_TOG, RGB_VAD, RGB_VAI, RGB_MOD, _______, _______, _______, KC_BTN4, KC_BTN5, _______, _______, _______, 149 _______, RGB_TOG, RGB_VAD, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______,
135 XXXXXXX, DST_P_R, DST_N_A, _______, _______, _______, XXXXXXX 150 XXXXXXX, DST_P_R, DST_N_A, _______, _______, _______, XXXXXXX
136 ), 151 ),
137}; 152};
diff --git a/keyboards/kbdfans/kbd6x/keymaps/konstantin/rules.mk b/keyboards/kbdfans/kbd6x/keymaps/konstantin/rules.mk
index 7262c6db6..64428383c 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/konstantin/rules.mk
+++ b/keyboards/kbdfans/kbd6x/keymaps/konstantin/rules.mk
@@ -1,7 +1,7 @@
1BACKLIGHT_ENABLE = no 1BACKLIGHT_ENABLE = no
2BOOTMAGIC_ENABLE = no 2BOOTMAGIC_ENABLE = no
3COMMAND_ENABLE = yes 3COMMAND_ENABLE = yes
4CONSOLE_ENABLE = yes 4CONSOLE_ENABLE = no
5EXTRAKEY_ENABLE = yes 5EXTRAKEY_ENABLE = yes
6MOUSEKEY_ENABLE = yes 6MOUSEKEY_ENABLE = yes
7NKRO_ENABLE = yes 7NKRO_ENABLE = yes
diff --git a/keyboards/maartenwut/wasdat/keymaps/konstantin/keymap.c b/keyboards/maartenwut/wasdat/keymaps/konstantin/keymap.c
index 4fb24a5e3..e594edcb2 100644
--- a/keyboards/maartenwut/wasdat/keymaps/konstantin/keymap.c
+++ b/keyboards/maartenwut/wasdat/keymaps/konstantin/keymap.c
@@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ 15 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
16 * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ RShift │ │ ↑ │ 16 * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ RShift │ │ ↑ │
17 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ 17 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
18 * │LCtl│LGui│LAlt│ Space │RAlt│RGui│FnLk│RCtl││ ← │ ↓ │ → │ 18 * │LCtl│LGui│LAlt│ Space │RAlt│RGui│FnFL│RCtl││ ← │ ↓ │ → │
19 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ 19 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
20 */ 20 */
21 [L_BASE] = LAYOUT_tkl_iso( 21 [L_BASE] = LAYOUT_tkl_iso(
diff --git a/keyboards/melody96/keymaps/konstantin/keymap.c b/keyboards/melody96/keymaps/konstantin/keymap.c
index e02ba0f85..13f222422 100644
--- a/keyboards/melody96/keymaps/konstantin/keymap.c
+++ b/keyboards/melody96/keymaps/konstantin/keymap.c
@@ -20,11 +20,10 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
20 cidx = (cidx + 1) % cnum; 20 cidx = (cidx + 1) % cnum;
21 rgblight_sethsv(colors[cidx]->h, colors[cidx]->s, colors[cidx]->v); 21 rgblight_sethsv(colors[cidx]->h, colors[cidx]->s, colors[cidx]->v);
22 } 22 }
23 return false; 23 break;
24
25 default:
26 return true;
27 } 24 }
25
26 return true;
28} 27}
29 28
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -40,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ 39 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤
41 * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │P1 │P2 │P3 │ │ 40 * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │P1 │P2 │P3 │ │
42 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┤PEn│ 41 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┤PEn│
43 * │LCtl│LGui│LAlt│ Space │RAlGu│FnLk │ ← │ ↓ │ → │P0 │P. │ │ 42 * │LCtl│LGui│LAlt│ Space │RAlGu│FnFLk│ ← │ ↓ │ → │P0 │P. │ │
44 * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘ 43 * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘
45 */ 44 */
46 [L_BASE] = LAYOUT( 45 [L_BASE] = LAYOUT(
@@ -68,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ 67 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
69 */ 68 */
70 [L_FN] = LAYOUT( 69 [L_FN] = LAYOUT(
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SYSR, KC_SLCK, KC_PAUS, KC_BRK, TOP, BOTTOM, 70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SYSRQ, KC_SLCK, KC_PAUS, BREAK, TOP, BOTTOM,
72 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, DIVIDE, TIMES, MINUS, 71 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, DIVIDE, TIMES, MINUS,
73 KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, 72 KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX,
74 _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SET, 73 _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SET,
diff --git a/keyboards/whitefox/keymaps/konstantin/keymap.c b/keyboards/whitefox/keymaps/konstantin/keymap.c
index 3874bcd18..61dcbebda 100644
--- a/keyboards/whitefox/keymaps/konstantin/keymap.c
+++ b/keyboards/whitefox/keymaps/konstantin/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ 12 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
13 * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │PgD│ 13 * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSfRCt│ ↑ │PgD│
14 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ 14 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
15 * │LCtl│LGui│LAlt│ Space │RAlG│FnLk│ │ ← │ ↓ │ → │ 15 * │LCtl│LGui│LAlt│ Space │RAlG│FnFL│ │ ← │ ↓ │ → │
16 * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ 16 * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
17 */ 17 */
18 [L_BASE] = LAYOUT_truefox( 18 [L_BASE] = LAYOUT_truefox(
diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c
index c56c9490f..98b11b3a9 100644
--- a/users/konstantin/konstantin.c
+++ b/users/konstantin/konstantin.c
@@ -40,7 +40,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
40 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) { 40 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
41 fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this 41 fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this
42 } 42 }
43 return true; 43 break;
44#endif 44#endif
45 45
46 case KC_ESC: 46 case KC_ESC:
@@ -58,7 +58,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
58 } 58 }
59#endif 59#endif
60 } 60 }
61 return true; 61 break;
62 62
63 case CLEAR: 63 case CLEAR:
64 if (record->event.pressed) { 64 if (record->event.pressed) {
@@ -66,25 +66,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
66 SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); 66 SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE));
67 ) 67 )
68 } 68 }
69 return false; 69 break;
70 70
71 case DST_P_R: 71 case DST_P_R:
72 kc = (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV; 72 kc = (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV;
73 CLEAN_MODS( 73 CLEAN_MODS(
74 (record->event.pressed ? register_code16 : unregister_code16)(kc); 74 (record->event.pressed ? register_code16 : unregister_code16)(kc);
75 ) 75 )
76 return false; 76 break;
77 77
78 case DST_N_A: 78 case DST_N_A:
79 kc = (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT; 79 kc = (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT;
80 CLEAN_MODS( 80 CLEAN_MODS(
81 (record->event.pressed ? register_code16 : unregister_code16)(kc); 81 (record->event.pressed ? register_code16 : unregister_code16)(kc);
82 ) 82 )
83 return false; 83 break;
84
85 default:
86 return true;
87 } 84 }
85
86 return true;
88} 87}
89 88
90__attribute__((weak)) 89__attribute__((weak))
diff --git a/users/konstantin/konstantin.h b/users/konstantin/konstantin.h
index 84d90dda5..f42d5feaa 100644
--- a/users/konstantin/konstantin.h
+++ b/users/konstantin/konstantin.h
@@ -13,6 +13,7 @@
13 13
14#ifdef LAYER_FN 14#ifdef LAYER_FN
15 #define FN MO(L_FN) 15 #define FN MO(L_FN)
16 #define FNLK TG(L_FN)
16 #define FN_CAPS LT(L_FN, KC_CAPS) 17 #define FN_CAPS LT(L_FN, KC_CAPS)
17 #define FN_ESC LT(L_FN, KC_ESC) 18 #define FN_ESC LT(L_FN, KC_ESC)
18 #define FN_FNLK TT(L_FN) 19 #define FN_FNLK TT(L_FN)
@@ -22,9 +23,8 @@
22 #define NUMPAD TG(L_NUMPAD) 23 #define NUMPAD TG(L_NUMPAD)
23#endif 24#endif
24 25
25#define KC_SYSR LALT(KC_PSCR) 26#define BREAK LCTL(KC_PAUS)
26#undef KC_BRK 27#define SYSRQ LALT(KC_PSCR)
27#define KC_BRK LCTL(KC_PAUS)
28 28
29#define MV_UP LCTL(KC_UP) 29#define MV_UP LCTL(KC_UP)
30#define MV_DOWN LCTL(KC_DOWN) 30#define MV_DOWN LCTL(KC_DOWN)
diff --git a/users/konstantin/tap_dance.c b/users/konstantin/tap_dance.c
index b36bc3dcc..4ec8caa63 100644
--- a/users/konstantin/tap_dance.c
+++ b/users/konstantin/tap_dance.c
@@ -111,8 +111,9 @@ qk_tap_dance_action_t tap_dance_actions[] = {
111 [TD_RCT_RSF] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RCTL, KC_RSFT), 111 [TD_RCT_RSF] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RCTL, KC_RSFT),
112 [TD_RSF_RCT] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RSFT, KC_RCTL), 112 [TD_RSF_RCT] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RSFT, KC_RCTL),
113 113
114#ifdef LAYER_FN
114 [TD_LSFT_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_LSFT, L_FN), 115 [TD_LSFT_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_LSFT, L_FN),
115 [TD_RCTL_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_RCTL, L_FN), 116 [TD_RCTL_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_RCTL, L_FN),
116
117 [TD_FN_RCTL] = ACTION_TAP_DANCE_LAYER_MOD(L_FN, KC_RCTL), 117 [TD_FN_RCTL] = ACTION_TAP_DANCE_LAYER_MOD(L_FN, KC_RCTL),
118#endif
118}; 119};
diff --git a/users/konstantin/tap_dance.h b/users/konstantin/tap_dance.h
index 461d7ba8a..56889a19e 100644
--- a/users/konstantin/tap_dance.h
+++ b/users/konstantin/tap_dance.h
@@ -8,10 +8,11 @@
8#define RCT_RSF TD(TD_RCT_RSF) 8#define RCT_RSF TD(TD_RCT_RSF)
9#define RSF_RCT TD(TD_RSF_RCT) 9#define RSF_RCT TD(TD_RSF_RCT)
10 10
11#define LSFT_FN TD(TD_LSFT_FN) 11#ifdef LAYER_FN
12#define RCTL_FN TD(TD_RCTL_FN) 12 #define LSFT_FN TD(TD_LSFT_FN)
13 13 #define RCTL_FN TD(TD_RCTL_FN)
14#define FN_RCTL TD(TD_FN_RCTL) 14 #define FN_RCTL TD(TD_FN_RCTL)
15#endif
15 16
16enum tap_dance { 17enum tap_dance {
17 TD_DST_A_R, 18 TD_DST_A_R,
@@ -20,8 +21,9 @@ enum tap_dance {
20 TD_RCT_RSF, 21 TD_RCT_RSF,
21 TD_RSF_RCT, 22 TD_RSF_RCT,
22 23
24#ifdef LAYER_FN
23 TD_LSFT_FN, 25 TD_LSFT_FN,
24 TD_RCTL_FN, 26 TD_RCTL_FN,
25
26 TD_FN_RCTL, 27 TD_FN_RCTL,
28#endif
27}; 29};