aboutsummaryrefslogtreecommitdiff
path: root/users/konstantin
diff options
context:
space:
mode:
authorKonstantin Đorđević <vomindoraan@gmail.com>2019-05-06 17:41:45 +0200
committerDrashna Jaelre <drashna@live.com>2019-05-06 08:41:45 -0700
commitcb1935aaff0fed118954996fc7afb722b6ed21be (patch)
tree753712b2dff56ca41675a99af8f3ffcaf58b85b9 /users/konstantin
parent8a9c90ad78305a1d76663fcb973a1a2ae7177297 (diff)
downloadqmk_firmware-cb1935aaff0fed118954996fc7afb722b6ed21be.tar.gz
qmk_firmware-cb1935aaff0fed118954996fc7afb722b6ed21be.zip
[Keymap] Update personal userspace and keymaps (now with 4 spaces!) (#5774)
* Add FnLk to Melody96 bottom row * Update conditional in userspace makefile Thanks @drashna * Add F keys to Melody96 Fn layer * Add FN_ESC alias to userspace * Update KBD6X keymap * Fix RGB_MATRIX_ENABLE constant name in #if * Remove trailing \ from LAYOUT macro calls * Set RGB mode on EEPROM reset in KBD6X * Swap right and middle mouse buttons in KBD6X * Rearrange RGB controls in KBD6X * Update keycode aliases, replace CLEAR with DEL_NXT in KBD6X Add Clear to KBD6X as RCtrl+` * Convert code to 4 space indents * Tweak RCTRL layer functionality * Replace NUMPAD custom keycode with layer state logic * Update RGB_MATRIX_ENABLE check Co-Authored-By: vomindoraan <vomindoraan@gmail.com>
Diffstat (limited to 'users/konstantin')
-rw-r--r--users/konstantin/konstantin.c120
-rw-r--r--users/konstantin/konstantin.h60
-rw-r--r--users/konstantin/rgb.h12
-rw-r--r--users/konstantin/rules.mk13
-rw-r--r--users/konstantin/tap_dance.c166
-rw-r--r--users/konstantin/tap_dance.h14
-rw-r--r--users/konstantin/unicode.c2
-rw-r--r--users/konstantin/unicode.h20
8 files changed, 203 insertions, 204 deletions
diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c
index 753742fa7..9e3caca41 100644
--- a/users/konstantin/konstantin.c
+++ b/users/konstantin/konstantin.c
@@ -4,107 +4,99 @@ __attribute__((weak))
4void keyboard_pre_init_keymap(void) {} 4void keyboard_pre_init_keymap(void) {}
5 5
6void keyboard_pre_init_user(void) { 6void keyboard_pre_init_user(void) {
7 keyboard_pre_init_keymap(); 7 keyboard_pre_init_keymap();
8} 8}
9 9
10__attribute__((weak)) 10__attribute__((weak))
11void eeconfig_init_keymap(void) {} 11void eeconfig_init_keymap(void) {}
12 12
13void eeconfig_init_user(void) { 13void eeconfig_init_user(void) {
14 eeconfig_init_keymap(); 14 eeconfig_init_keymap();
15} 15}
16 16
17__attribute__((weak)) 17__attribute__((weak))
18void keyboard_post_init_keymap(void) {} 18void keyboard_post_init_keymap(void) {}
19 19
20void keyboard_post_init_user(void) { 20void keyboard_post_init_user(void) {
21 keyboard_post_init_keymap(); 21 keyboard_post_init_keymap();
22} 22}
23 23
24__attribute__((weak)) 24__attribute__((weak))
25bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 25bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
26 return true; 26 return true;
27} 27}
28 28
29bool process_record_user(uint16_t keycode, keyrecord_t *record) { 29bool process_record_user(uint16_t keycode, keyrecord_t *record) {
30 if (!process_record_keymap(keycode, record)) { 30 if (!process_record_keymap(keycode, record)) {
31 return false; 31 return false;
32 }
33
34#ifdef LAYER_NUMPAD
35 void toggle_numpad(void) {
36 layer_invert(L_NUMPAD);
37 bool numpad = IS_LAYER_ON(L_NUMPAD), num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK);
38 if (num_lock != numpad) {
39 tap_code(KC_NLCK); // Toggle Num Lock to match layer state
40 } 32 }
41 }
42#endif
43 33
44 switch (keycode) { 34 switch (keycode) {
45 case CLEAR: 35 case CLEAR:
46 if (record->event.pressed) { 36 if (record->event.pressed) {
47 SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); 37 SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE));
48 } 38 }
49 return false; 39 return false;
50 40
51 case DST_P_R: 41 case DST_P_R:
52 (record->event.pressed ? register_code16 : unregister_code16)( 42 (record->event.pressed ? register_code16 : unregister_code16)(
53 (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV 43 (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV
54 ); 44 );
55 return false; 45 return false;
56 46
57 case DST_N_A: 47 case DST_N_A:
58 (record->event.pressed ? register_code16 : unregister_code16)( 48 (record->event.pressed ? register_code16 : unregister_code16)(
59 (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT 49 (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT
60 ); 50 );
61 return false; 51 return false;
62 52
63#ifdef LAYER_FN 53#ifdef LAYER_FN
64 static bool fn_lock; 54 static bool fn_lock;
65
66 case FN_FNLK:
67 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
68 fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this
69 }
70 return true;
71#endif
72 55
73#ifdef LAYER_NUMPAD 56 case FN_FNLK:
74 case NUMPAD: 57 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
75 if (record->event.pressed) { 58 fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this
76 toggle_numpad(); 59 }
77 } 60 return true;
78 return false;
79#endif 61#endif
80 62
81 case KC_ESC: 63 case KC_ESC:
82 if (record->event.pressed) { 64 if (record->event.pressed) {
83#ifdef LAYER_NUMPAD 65#ifdef LAYER_NUMPAD // Disable Numpad layer before Fn layer
84 if (IS_LAYER_ON(L_NUMPAD)) { 66 if (IS_LAYER_ON(L_NUMPAD)) {
85 toggle_numpad(); 67 layer_off(L_NUMPAD);
86 return false; 68 return false;
87 } 69 }
88#endif 70#endif
89#ifdef LAYER_FN 71#ifdef LAYER_FN
90 if (IS_LAYER_ON(L_FN) && fn_lock) { 72 if (IS_LAYER_ON(L_FN) && fn_lock) {
91 layer_off(L_FN); 73 layer_off(L_FN);
92 return fn_lock = false; 74 return fn_lock = false;
93 } 75 }
94#endif 76#endif
95 } 77 }
96 return true; 78 return true;
97 79
98 default: 80 default:
99 return true; 81 return true;
100 } 82 }
101} 83}
102 84
103__attribute__((weak)) 85__attribute__((weak))
104uint32_t layer_state_set_keymap(uint32_t state) { 86uint32_t layer_state_set_keymap(uint32_t state) {
105 return state; 87 return state;
106} 88}
107 89
108uint32_t layer_state_set_user(uint32_t state) { 90uint32_t layer_state_set_user(uint32_t state) {
109 return layer_state_set_keymap(state); 91 state = layer_state_set_keymap(state);
92
93#ifdef LAYER_NUMPAD
94 bool numpad = state & 1UL<<L_NUMPAD;
95 bool num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK);
96 if (numpad != num_lock) {
97 tap_code(KC_NLCK); // Toggle Num Lock to match Numpad layer state
98 }
99#endif
100
101 return state;
110} 102}
diff --git a/users/konstantin/konstantin.h b/users/konstantin/konstantin.h
index 0639b93a6..d43712b96 100644
--- a/users/konstantin/konstantin.h
+++ b/users/konstantin/konstantin.h
@@ -1,20 +1,25 @@
1#pragma once 1#pragma once
2 2
3#include "quantum.h" 3#include "quantum.h"
4#if defined(RGBLIGHT_ENABLE) || defined(RGBMATRIX_ENABLE) 4#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
5 #include "rgb.h" 5 #include "rgb.h"
6#endif 6#endif
7#ifdef TAP_DANCE_ENABLE 7#ifdef TAP_DANCE_ENABLE
8 #include "tap_dance.h" 8 #include "tap_dance.h"
9#endif 9#endif
10#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) 10#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
11 #include "unicode.h" 11 #include "unicode.h"
12#endif 12#endif
13 13
14#ifdef LAYER_FN 14#ifdef LAYER_FN
15 #define FN MO(L_FN) 15 #define FN MO(L_FN)
16 #define FN_CAPS LT(L_FN, KC_CAPS) 16 #define FN_CAPS LT(L_FN, KC_CAPS)
17 #define FN_FNLK TT(L_FN) 17 #define FN_ESC LT(L_FN, KC_ESC)
18 #define FN_FNLK TT(L_FN)
19#endif
20
21#ifdef LAYER_NUMPAD
22 #define NUMPAD TG(L_NUMPAD)
18#endif 23#endif
19 24
20#define KC_SYSR LALT(KC_PSCR) 25#define KC_SYSR LALT(KC_PSCR)
@@ -27,50 +32,49 @@
27#define MV_RGHT LCTL(KC_RGHT) 32#define MV_RGHT LCTL(KC_RGHT)
28#define TOP LCTL(KC_HOME) 33#define TOP LCTL(KC_HOME)
29#define BOTTOM LCTL(KC_END) 34#define BOTTOM LCTL(KC_END)
30#define PRV_TAB LCTL(KC_PGUP) 35#define TAB_PRV LCTL(KC_PGUP)
31#define NXT_TAB LCTL(KC_PGDN) 36#define TAB_NXT LCTL(KC_PGDN)
37#define DEL_PRV LCTL(KC_BSPC)
38#define DEL_NXT LCTL(KC_DEL)
32 39
33#define DST_ADD LCTL(LGUI(KC_D)) 40#define DST_ADD LCTL(LGUI(KC_D))
34#define DST_REM LCTL(LGUI(KC_F4)) 41#define DST_REM LCTL(LGUI(KC_F4))
35#define DST_PRV LCTL(LGUI(KC_LEFT)) 42#define DST_PRV LCTL(LGUI(KC_LEFT))
36#define DST_NXT LCTL(LGUI(KC_RGHT)) 43#define DST_NXT LCTL(LGUI(KC_RGHT))
37#ifndef DST_MOD_MASK 44#ifndef DST_MOD_MASK
38 #define DST_MOD_MASK MOD_MASK_CTRL 45 #define DST_MOD_MASK MOD_MASK_SHIFT
39#endif 46#endif
40 47
41#define LCT_CPS LCTL_T(KC_CAPS) 48#define LCT_CPS LCTL_T(KC_CAPS)
42 49
43#ifdef SEND_STRING_CLEAN 50#ifdef SEND_STRING_CLEAN
44 #undef SEND_STRING 51 #undef SEND_STRING
45 #define SEND_STRING(string) { \ 52 #define SEND_STRING(string) { \
46 uint8_t ss_mods = get_mods(); \ 53 uint8_t ss_mods = get_mods(); \
47 clear_mods(); \ 54 clear_mods(); \
48 send_string_P(PSTR(string)); \ 55 send_string_P(PSTR(string)); \
49 set_mods(ss_mods); \ 56 set_mods(ss_mods); \
50 } 57 }
51#endif 58#endif
52 59
53enum keycodes_user { 60enum keycodes_user {
54 CLEAR = SAFE_RANGE, 61 CLEAR = SAFE_RANGE,
55 DST_P_R, 62 DST_P_R,
56 DST_N_A, 63 DST_N_A,
57#ifdef LAYER_NUMPAD
58 NUMPAD,
59#endif
60 64
61 RANGE_KEYMAP, 65 RANGE_KEYMAP,
62}; 66};
63 67
64enum layers_user { 68enum layers_user {
65 L_BASE, 69 L_BASE,
66#ifdef LAYER_FN 70#ifdef LAYER_FN
67 L_FN, 71 L_FN,
68#endif 72#endif
69#ifdef LAYER_NUMPAD 73#ifdef LAYER_NUMPAD
70 L_NUMPAD, 74 L_NUMPAD,
71#endif 75#endif
72 76
73 L_RANGE_KEYMAP, 77 L_RANGE_KEYMAP,
74}; 78};
75 79
76void keyboard_pre_init_keymap(void); 80void keyboard_pre_init_keymap(void);
diff --git a/users/konstantin/rgb.h b/users/konstantin/rgb.h
index 53b5821b0..aed855aa0 100644
--- a/users/konstantin/rgb.h
+++ b/users/konstantin/rgb.h
@@ -3,15 +3,15 @@
3#include "quantum.h" 3#include "quantum.h"
4 4
5typedef struct { 5typedef struct {
6 uint16_t h; // 0–360 6 uint16_t h; // 0–360
7 uint8_t s; // 0–255 7 uint8_t s; // 0–255
8 uint8_t v; // 0–255 8 uint8_t v; // 0–255
9} hsv_t; 9} hsv_t;
10 10
11typedef struct { 11typedef struct {
12 uint8_t r; // 0–255 12 uint8_t r; // 0–255
13 uint8_t g; // 0–255 13 uint8_t g; // 0–255
14 uint8_t b; // 0–255 14 uint8_t b; // 0–255
15} rgb_t; 15} rgb_t;
16 16
17extern const hsv_t GODSPEED_BLUE; 17extern const hsv_t GODSPEED_BLUE;
diff --git a/users/konstantin/rules.mk b/users/konstantin/rules.mk
index 6bda030fb..1799d2be5 100644
--- a/users/konstantin/rules.mk
+++ b/users/konstantin/rules.mk
@@ -1,12 +1,15 @@
1SRC += konstantin.c 1SRC += konstantin.c
2ifneq (,$(filter yes,$(RGBLIGHT_ENABLE) $(RGB_MATRIX_ENABLE))) # if either is yes 2ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
3 SRC += rgb.c 3 SRC += rgb.c
4endif
5ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
6 SRC += rgb.c
4endif 7endif
5ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) 8ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
6 SRC += tap_dance.c 9 SRC += tap_dance.c
7endif 10endif
8ifneq (,$(filter yes,$(UNICODE_ENABLE) $(UNICODEMAP_ENABLE))) # if either is yes 11ifneq (,$(filter yes,$(UNICODE_ENABLE) $(UNICODEMAP_ENABLE)))
9 SRC += unicode.c 12 SRC += unicode.c
10endif 13endif
11 14
12EXTRAFLAGS += -flto 15EXTRAFLAGS += -flto
diff --git a/users/konstantin/tap_dance.c b/users/konstantin/tap_dance.c
index 0b405939b..fa43288ce 100644
--- a/users/konstantin/tap_dance.c
+++ b/users/konstantin/tap_dance.c
@@ -1,117 +1,117 @@
1#include "tap_dance.h" 1#include "tap_dance.h"
2#include "konstantin.h" 2#include "konstantin.h"
3 3
4#define ACTION_TAP_DANCE_DOUBLE_MOD(mod1, mod2) { \ 4#define ACTION_TAP_DANCE_DOUBLE_MOD(mod1, mod2) { \
5 .fn = { td_double_mod_each, NULL, td_double_mod_reset }, \ 5 .fn = { td_double_mod_each, NULL, td_double_mod_reset }, \
6 .user_data = &(qk_tap_dance_pair_t){ mod1, mod2 }, \ 6 .user_data = &(qk_tap_dance_pair_t){ mod1, mod2 }, \
7 } 7 }
8 8
9void td_double_mod_each(qk_tap_dance_state_t *state, void *user_data) { 9void td_double_mod_each(qk_tap_dance_state_t *state, void *user_data) {
10 qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data; 10 qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data;
11 11
12 // Single tap → mod1, double tap → mod2, triple tap etc. → mod1+mod2 12 // Single tap → mod1, double tap → mod2, triple tap etc. → mod1+mod2
13 if (state->count == 1 || state->count == 3) { 13 if (state->count == 1 || state->count == 3) {
14 register_code(data->kc1); 14 register_code(data->kc1);
15 } else if (state->count == 2) { 15 } else if (state->count == 2) {
16 unregister_code(data->kc1); 16 unregister_code(data->kc1);
17 register_code(data->kc2); 17 register_code(data->kc2);
18 } 18 }
19 // Prevent tap dance from sending the mods as weak mods 19 // Prevent tap dance from sending the mods as weak mods
20 state->weak_mods &= ~(MOD_BIT(data->kc1) | MOD_BIT(data->kc2)); 20 state->weak_mods &= ~(MOD_BIT(data->kc1) | MOD_BIT(data->kc2));
21} 21}
22 22
23void td_double_mod_reset(qk_tap_dance_state_t *state, void *user_data) { 23void td_double_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
24 qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data; 24 qk_tap_dance_pair_t *data = (qk_tap_dance_pair_t *)user_data;
25 25
26 if (state->count == 1 || state->count >= 3) { 26 if (state->count == 1 || state->count >= 3) {
27 unregister_code(data->kc1); 27 unregister_code(data->kc1);
28 } 28 }
29 if (state->count >= 2) { 29 if (state->count >= 2) {
30 unregister_code(data->kc2); 30 unregister_code(data->kc2);
31 } 31 }
32} 32}
33 33
34#define ACTION_TAP_DANCE_MOD_LAYER(mod, layer) { \ 34#define ACTION_TAP_DANCE_MOD_LAYER(mod, layer) { \
35 .fn = { td_mod_layer_each, NULL, td_mod_layer_reset }, \ 35 .fn = { td_mod_layer_each, NULL, td_mod_layer_reset }, \
36 .user_data = &(qk_tap_dance_dual_role_t){ mod, layer }, \ 36 .user_data = &(qk_tap_dance_dual_role_t){ mod, layer }, \
37 } 37 }
38 38
39void td_mod_layer_each(qk_tap_dance_state_t *state, void *user_data) { 39void td_mod_layer_each(qk_tap_dance_state_t *state, void *user_data) {
40 qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data; 40 qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
41 41
42 // Single tap → mod, double tap → layer, triple tap etc. → mod+layer 42 // Single tap → mod, double tap → layer, triple tap etc. → mod+layer
43 if (state->count == 1 || state->count == 3) { 43 if (state->count == 1 || state->count == 3) {
44 register_code(data->kc); 44 register_code(data->kc);
45 } else if (state->count == 2) { 45 } else if (state->count == 2) {
46 unregister_code(data->kc); 46 unregister_code(data->kc);
47 // Prevent tap dance from sending the mod as a weak mod 47 // Prevent tap dance from sending the mod as a weak mod
48 state->weak_mods &= ~MOD_BIT(data->kc); 48 state->weak_mods &= ~MOD_BIT(data->kc);
49 layer_on(data->layer); 49 layer_on(data->layer);
50 } 50 }
51} 51}
52 52
53void td_mod_layer_reset(qk_tap_dance_state_t *state, void *user_data) { 53void td_mod_layer_reset(qk_tap_dance_state_t *state, void *user_data) {
54 qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data; 54 qk_tap_dance_dual_role_t *data = (qk_tap_dance_dual_role_t *)user_data;
55 55
56 if (state->count == 1 || state->count >= 3) { 56 if (state->count == 1 || state->count >= 3) {
57 unregister_code(data->kc); 57 unregister_code(data->kc);
58 } 58 }
59 if (state->count >= 2) { 59 if (state->count >= 2) {
60 layer_off(data->layer); 60 layer_off(data->layer);
61 } 61 }
62} 62}
63 63
64#define ACTION_TAP_DANCE_LAYER_MOD(layer, mod) { \ 64#define ACTION_TAP_DANCE_LAYER_MOD(layer, mod) { \
65 .fn = { td_layer_mod_each, NULL, td_layer_mod_reset }, \ 65 .fn = { td_layer_mod_each, NULL, td_layer_mod_reset }, \
66 .user_data = &(qk_tap_dance_layer_mod_t){ layer, mod, 0, 0 }, \ 66 .user_data = &(qk_tap_dance_layer_mod_t){ layer, mod, 0, 0 }, \
67 } 67 }
68 68
69typedef struct { 69typedef struct {
70 uint8_t layer; 70 uint8_t layer;
71 uint16_t kc; 71 uint16_t kc;
72 bool layer_on; // Layer state when tap dance started 72 bool layer_on; // Layer state when tap dance started
73 bool started; 73 bool started;
74} qk_tap_dance_layer_mod_t; 74} qk_tap_dance_layer_mod_t;
75 75
76void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) { 76void td_layer_mod_each(qk_tap_dance_state_t *state, void *user_data) {
77 qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data; 77 qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data;
78 if (!data->started) { 78 if (!data->started) {
79 data->layer_on = IS_LAYER_ON(data->layer); 79 data->layer_on = IS_LAYER_ON(data->layer);
80 data->started = true; 80 data->started = true;
81 } 81 }
82 82
83 // Single tap → layer, double tap → mod, triple tap etc. → layer+mod 83 // Single tap → layer, double tap → mod, triple tap etc. → layer+mod
84 if (state->count == 1 || state->count == 3) { 84 if (state->count == 1 || state->count == 3) {
85 layer_on(data->layer); 85 layer_on(data->layer);
86 } else if (state->count == 2) { 86 } else if (state->count == 2) {
87 if (!data->layer_on) { 87 if (!data->layer_on) {
88 layer_off(data->layer); 88 layer_off(data->layer);
89 }
90 register_code(data->kc);
89 } 91 }
90 register_code(data->kc);
91 }
92} 92}
93 93
94void td_layer_mod_reset(qk_tap_dance_state_t *state, void *user_data) { 94void td_layer_mod_reset(qk_tap_dance_state_t *state, void *user_data) {
95 qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data; 95 qk_tap_dance_layer_mod_t *data = (qk_tap_dance_layer_mod_t *)user_data;
96 96
97 if ((state->count == 1 || state->count >= 3) && !data->layer_on) { 97 if ((state->count == 1 || state->count >= 3) && !data->layer_on) {
98 layer_off(data->layer); 98 layer_off(data->layer);
99 } 99 }
100 if (state->count >= 2) { 100 if (state->count >= 2) {
101 unregister_code(data->kc); 101 unregister_code(data->kc);
102 } 102 }
103 103
104 data->started = false; 104 data->started = false;
105} 105}
106 106
107qk_tap_dance_action_t tap_dance_actions[] = { 107qk_tap_dance_action_t tap_dance_actions[] = {
108 [TD_DST_A_R] = ACTION_TAP_DANCE_DOUBLE(DST_ADD, DST_REM), 108 [TD_DST_A_R] = ACTION_TAP_DANCE_DOUBLE(DST_ADD, DST_REM),
109 109
110 [TD_RAL_LAL] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RALT, KC_LALT), 110 [TD_RAL_LAL] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RALT, KC_LALT),
111 [TD_RAL_RGU] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RALT, KC_RGUI), 111 [TD_RAL_RGU] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RALT, KC_RGUI),
112 [TD_RCT_RSF] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RCTL, KC_RSFT), 112 [TD_RCT_RSF] = ACTION_TAP_DANCE_DOUBLE_MOD(KC_RCTL, KC_RSFT),
113 113
114 [TD_LSFT_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_LSFT, L_FN), 114 [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), 115 [TD_RCTL_FN] = ACTION_TAP_DANCE_MOD_LAYER(KC_RCTL, L_FN),
116 [TD_FN_RCTL] = ACTION_TAP_DANCE_LAYER_MOD(L_FN, KC_RCTL), 116 [TD_FN_RCTL] = ACTION_TAP_DANCE_LAYER_MOD(L_FN, KC_RCTL),
117}; 117};
diff --git a/users/konstantin/tap_dance.h b/users/konstantin/tap_dance.h
index ad7c04cb7..13d682a60 100644
--- a/users/konstantin/tap_dance.h
+++ b/users/konstantin/tap_dance.h
@@ -13,13 +13,13 @@
13#define FN_RCTL TD(TD_FN_RCTL) 13#define FN_RCTL TD(TD_FN_RCTL)
14 14
15enum tap_dance { 15enum tap_dance {
16 TD_DST_A_R, 16 TD_DST_A_R,
17 17
18 TD_RAL_LAL, 18 TD_RAL_LAL,
19 TD_RAL_RGU, 19 TD_RAL_RGU,
20 TD_RCT_RSF, 20 TD_RCT_RSF,
21 21
22 TD_LSFT_FN, 22 TD_LSFT_FN,
23 TD_RCTL_FN, 23 TD_RCTL_FN,
24 TD_FN_RCTL, 24 TD_FN_RCTL,
25}; 25};
diff --git a/users/konstantin/unicode.c b/users/konstantin/unicode.c
index 144c0aaf7..8ef5aaa1e 100644
--- a/users/konstantin/unicode.c
+++ b/users/konstantin/unicode.c
@@ -2,6 +2,6 @@
2 2
3#ifdef UNICODEMAP_ENABLE 3#ifdef UNICODEMAP_ENABLE
4const uint32_t PROGMEM unicode_map[] = { 4const uint32_t PROGMEM unicode_map[] = {
5 FOREACH_UNICODE(UCM_ENTRY) 5 FOREACH_UNICODE(UCM_ENTRY)
6}; 6};
7#endif 7#endif
diff --git a/users/konstantin/unicode.h b/users/konstantin/unicode.h
index c8eddabb7..b2616d120 100644
--- a/users/konstantin/unicode.h
+++ b/users/konstantin/unicode.h
@@ -3,13 +3,13 @@
3#include "quantum.h" 3#include "quantum.h"
4 4
5#define FOREACH_UNICODE(M) \ 5#define FOREACH_UNICODE(M) \
6 M(COMMA, 0x002C) \ 6 M(COMMA, 0x002C) \
7 M(L_PAREN, 0x0028) \ 7 M(L_PAREN, 0x0028) \
8 M(R_PAREN, 0x0029) \ 8 M(R_PAREN, 0x0029) \
9 M(EQUALS, 0x003D) \ 9 M(EQUALS, 0x003D) \
10 M(TIMES, 0x00D7) \ 10 M(TIMES, 0x00D7) \
11 M(DIVIDE, 0x00F7) \ 11 M(DIVIDE, 0x00F7) \
12 M(MINUS, 0x2212) 12 M(MINUS, 0x2212)
13 13
14#define UC_KEYCODE(name, code) name = UC(code), 14#define UC_KEYCODE(name, code) name = UC(code),
15 15
@@ -19,16 +19,16 @@
19 19
20#if defined(UNICODE_ENABLE) 20#if defined(UNICODE_ENABLE)
21enum unicode_keycodes { 21enum unicode_keycodes {
22 FOREACH_UNICODE(UC_KEYCODE) 22 FOREACH_UNICODE(UC_KEYCODE)
23}; 23};
24#elif defined(UNICODEMAP_ENABLE) 24#elif defined(UNICODEMAP_ENABLE)
25enum unicode_names { 25enum unicode_names {
26 FOREACH_UNICODE(UCM_NAME) 26 FOREACH_UNICODE(UCM_NAME)
27}; 27};
28 28
29extern const uint32_t PROGMEM unicode_map[]; 29extern const uint32_t PROGMEM unicode_map[];
30 30
31enum unicode_keycodes { 31enum unicode_keycodes {
32 FOREACH_UNICODE(UCM_KEYCODE) 32 FOREACH_UNICODE(UCM_KEYCODE)
33}; 33};
34#endif 34#endif