summaryrefslogtreecommitdiff
path: root/users/konstantin/konstantin.c
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/konstantin.c
parent8a9c90ad78305a1d76663fcb973a1a2ae7177297 (diff)
[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.c120
1 files changed, 56 insertions, 64 deletions
diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c
index 753742fa78..9e3caca414 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;
}