]> git.donarmstrong.com Git - qmk_firmware.git/blob - users/konstantin/konstantin.h
d8b00c4c89d6c5dda81561ee928462a1f9d56156
[qmk_firmware.git] / users / konstantin / konstantin.h
1 #pragma once
2
3 #include "quantum.h"
4 #if defined(RGBLIGHT_ENABLE) || defined(RGBMATRIX_ENABLE)
5   #include "rgb.h"
6 #endif
7 #ifdef TAP_DANCE_ENABLE
8   #include "tap_dance.h"
9 #endif
10 #ifdef UNICODE_ENABLE
11   #include "unicode.h"
12 #endif
13
14 #ifdef LAYER_FN
15   #define FN      MO(L_FN)
16   #define FN_CAPS LT(L_FN, KC_CAPS)
17   #define FN_FNLK TT(L_FN)
18 #endif
19
20 #define MV_UP   LCTL(KC_UP)
21 #define MV_DOWN LCTL(KC_DOWN)
22 #define MV_LEFT LCTL(KC_LEFT)
23 #define MV_RGHT LCTL(KC_RGHT)
24 #define TOP     LCTL(KC_HOME)
25 #define BOTTOM  LCTL(KC_END)
26 #define PRV_TAB LCTL(KC_PGUP)
27 #define NXT_TAB LCTL(KC_PGDN)
28
29 #define DST_ADD LCTL(LGUI(KC_D))
30 #define DST_REM LCTL(LGUI(KC_F4))
31 #define DST_PRV LCTL(LGUI(KC_LEFT))
32 #define DST_NXT LCTL(LGUI(KC_RGHT))
33 #ifndef DST_MOD_MASK
34   #define DST_MOD_MASK MOD_MASK_CTRL
35 #endif
36
37 #define LCT_CPS LCTL_T(KC_CAPS)
38
39 #ifdef SEND_STRING_CLEAN
40   #undef  SEND_STRING
41   #define SEND_STRING(string) {     \
42       uint8_t ss_mods = get_mods(); \
43       clear_mods();                 \
44       send_string_P(PSTR(string));  \
45       set_mods(ss_mods);            \
46     }
47 #endif
48
49 enum keycodes_user {
50   CLEAR = SAFE_RANGE,
51   DST_P_R,
52   DST_N_A,
53 #ifdef LAYER_NUMPAD
54   NUMPAD,
55 #endif
56
57   RANGE_KEYMAP,
58 };
59
60 enum layers_user {
61   L_BASE,
62 #ifdef LAYER_FN
63   L_FN,
64 #endif
65 #ifdef LAYER_NUMPAD
66   L_NUMPAD,
67 #endif
68
69   L_RANGE_KEYMAP,
70 };
71
72 bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
73 uint32_t layer_state_set_keymap(uint32_t state);