From 36d3902504d6aa0d2bdac88c90339c902ade11b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 25 Jul 2019 21:31:40 +0200 Subject: [User] Update personal userspace and keymaps, add reactive underglow (#6410) * Update MODERN_DOLCH_RED color * Remove unused RAL_LAL tap dance * Disable Space Cadet on all boards * Rework SEND_STRING_CLEAN into CLEAN_MODS, fix DST_P_R/DST_N_A * Disable unnecessary underglow animations * Rearrange feature flags in rules.mk files * Change custom colors from structs to defines * Add some explicit initializers * Add MODERN_DOLCH_CYAN color * Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros * Add led_set_keymap() template function * Change underglow color based on Caps/Fn state * Preserve val when changing underglow colors * Only trigger Fn light for Fn layer * Refactor fn_light() and caps_light() slightly * Add comments to fn_light() and caps_light() --- users/konstantin/konstantin.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'users/konstantin/konstantin.h') diff --git a/users/konstantin/konstantin.h b/users/konstantin/konstantin.h index d43712b965..84d90dda57 100644 --- a/users/konstantin/konstantin.h +++ b/users/konstantin/konstantin.h @@ -47,15 +47,16 @@ #define LCT_CPS LCTL_T(KC_CAPS) -#ifdef SEND_STRING_CLEAN - #undef SEND_STRING - #define SEND_STRING(string) { \ - uint8_t ss_mods = get_mods(); \ - clear_mods(); \ - send_string_P(PSTR(string)); \ - set_mods(ss_mods); \ - } -#endif +#define IS_LAYER_ON_STATE(state, layer) ( (state) & (1UL << (layer))) +#define IS_LAYER_OFF_STATE(state, layer) (~(state) & (1UL << (layer))) + +// Clear mods, perform action, restore mods +#define CLEAN_MODS(action) { \ + uint8_t mods = get_mods(); \ + clear_mods(); \ + action; \ + set_mods(mods); \ + } enum keycodes_user { CLEAR = SAFE_RANGE, @@ -81,5 +82,6 @@ void keyboard_pre_init_keymap(void); void eeconfig_init_keymap(void); void keyboard_post_init_keymap(void); -bool process_record_keymap(uint16_t keycode, keyrecord_t *record); +bool process_record_keymap(uint16_t keycode, keyrecord_t *record); uint32_t layer_state_set_keymap(uint32_t state); +void led_set_keymap(uint8_t usb_led); -- cgit v1.2.3