1 #include "konstantin.h"
4 void keyboard_pre_init_keymap(void) {}
6 void keyboard_pre_init_user(void) {
7 keyboard_pre_init_keymap();
11 void eeconfig_init_keymap(void) {}
13 void eeconfig_init_user(void) {
14 eeconfig_init_keymap();
18 void keyboard_post_init_keymap(void) {}
20 void keyboard_post_init_user(void) {
21 keyboard_post_init_keymap();
25 bool process_record_keymap(uint16_t keycode
, keyrecord_t
*record
) {
29 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
30 if (!process_record_keymap(keycode
, record
)) {
37 static bool fn_lock
= false;
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
47 if (record
->event
.pressed
) {
48 #ifdef LAYER_NUMPAD // Disable Numpad layer before Fn layer
49 if (IS_LAYER_ON(L_NUMPAD
)) {
55 if (IS_LAYER_ON(L_FN
) && fn_lock
) {
57 return fn_lock
= false;
64 if (record
->event
.pressed
) {
66 SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE
));
72 kc
= (get_mods() & DST_MOD_MASK
) ? DST_REM
: DST_PRV
;
74 (record
->event
.pressed
? register_code16
: unregister_code16
)(kc
);
79 kc
= (get_mods() & DST_MOD_MASK
) ? DST_ADD
: DST_NXT
;
81 (record
->event
.pressed
? register_code16
: unregister_code16
)(kc
);
90 uint32_t layer_state_set_keymap(uint32_t state
) {
94 uint32_t layer_state_set_user(uint32_t state
) {
95 state
= layer_state_set_keymap(state
);
98 bool numpad
= IS_LAYER_ON_STATE(state
, L_NUMPAD
);
99 bool num_lock
= IS_HOST_LED_ON(USB_LED_NUM_LOCK
);
100 if (numpad
!= num_lock
) {
101 tap_code(KC_NLCK
); // Toggle Num Lock to match Numpad layer state
108 __attribute__((weak
))
109 void led_set_keymap(uint8_t usb_led
) {}
111 void led_set_user(uint8_t usb_led
) {
112 led_set_keymap(usb_led
);