diff options
author | Konstantin Đorđević <vomindoraan@gmail.com> | 2019-05-06 17:41:45 +0200 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-05-06 08:41:45 -0700 |
commit | cb1935aaff0fed118954996fc7afb722b6ed21be (patch) | |
tree | 753712b2dff56ca41675a99af8f3ffcaf58b85b9 /users/konstantin/konstantin.c | |
parent | 8a9c90ad78305a1d76663fcb973a1a2ae7177297 (diff) | |
download | qmk_firmware-cb1935aaff0fed118954996fc7afb722b6ed21be.tar.gz |
[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/konstantin.c')
-rw-r--r-- | users/konstantin/konstantin.c | 120 |
1 files changed, 56 insertions, 64 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)) void keyboard_pre_init_keymap(void) {} void keyboard_pre_init_user(void) { - keyboard_pre_init_keymap(); + keyboard_pre_init_keymap(); } __attribute__((weak)) void eeconfig_init_keymap(void) {} void eeconfig_init_user(void) { - eeconfig_init_keymap(); + eeconfig_init_keymap(); } __attribute__((weak)) void keyboard_post_init_keymap(void) {} void keyboard_post_init_user(void) { - keyboard_post_init_keymap(); + keyboard_post_init_keymap(); } __attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - return true; + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!process_record_keymap(keycode, record)) { - return false; - } - -#ifdef LAYER_NUMPAD - void toggle_numpad(void) { - layer_invert(L_NUMPAD); - bool numpad = IS_LAYER_ON(L_NUMPAD), num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK); - if (num_lock != numpad) { - tap_code(KC_NLCK); // Toggle Num Lock to match layer state + if (!process_record_keymap(keycode, record)) { + return false; } - } -#endif - switch (keycode) { - case CLEAR: - if (record->event.pressed) { - SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); - } - return false; + switch (keycode) { + case CLEAR: + if (record->event.pressed) { + SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); + } + return false; - case DST_P_R: - (record->event.pressed ? register_code16 : unregister_code16)( - (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV - ); - return false; + case DST_P_R: + (record->event.pressed ? register_code16 : unregister_code16)( + (get_mods() & DST_MOD_MASK) ? DST_REM : DST_PRV + ); + return false; - case DST_N_A: - (record->event.pressed ? register_code16 : unregister_code16)( - (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT - ); - return false; + case DST_N_A: + (record->event.pressed ? register_code16 : unregister_code16)( + (get_mods() & DST_MOD_MASK) ? DST_ADD : DST_NXT + ); + return false; #ifdef LAYER_FN - static bool fn_lock; - - case FN_FNLK: - if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) { - fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this - } - return true; -#endif + static bool fn_lock; -#ifdef LAYER_NUMPAD - case NUMPAD: - if (record->event.pressed) { - toggle_numpad(); - } - return false; + case FN_FNLK: + if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) { + fn_lock = !IS_LAYER_ON(L_FN); // Fn layer will be toggled after this + } + return true; #endif - case KC_ESC: - if (record->event.pressed) { -#ifdef LAYER_NUMPAD - if (IS_LAYER_ON(L_NUMPAD)) { - toggle_numpad(); - return false; - } + case KC_ESC: + if (record->event.pressed) { +#ifdef LAYER_NUMPAD // Disable Numpad layer before Fn layer + if (IS_LAYER_ON(L_NUMPAD)) { + layer_off(L_NUMPAD); + return false; + } #endif #ifdef LAYER_FN - if (IS_LAYER_ON(L_FN) && fn_lock) { - layer_off(L_FN); - return fn_lock = false; - } + if (IS_LAYER_ON(L_FN) && fn_lock) { + layer_off(L_FN); + return fn_lock = false; + } #endif - } - return true; + } + return true; - default: - return true; - } + default: + return true; + } } __attribute__((weak)) uint32_t layer_state_set_keymap(uint32_t state) { - return state; + return state; } uint32_t layer_state_set_user(uint32_t state) { - return layer_state_set_keymap(state); + state = layer_state_set_keymap(state); + +#ifdef LAYER_NUMPAD + bool numpad = state & 1UL<<L_NUMPAD; + bool num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK); + if (numpad != num_lock) { + tap_code(KC_NLCK); // Toggle Num Lock to match Numpad layer state + } +#endif + + return state; } |