From eee9a53a803dbcd2bc265a082c67afe0324371fc Mon Sep 17 00:00:00 2001 From: Florent Linguenheld Date: Sat, 10 Jun 2023 17:01:44 +0200 Subject: Up keymap (#20769) flinguenheld keymap aurora sweep --- .../keymaps/flinguenheld/features/auto_shift.c | 639 +++++++++++++++------ .../sweep/keymaps/flinguenheld/features/combo.c | 435 +++++++------- .../sweep/keymaps/flinguenheld/features/leader.c | 436 ++++++-------- 3 files changed, 865 insertions(+), 645 deletions(-) (limited to 'keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features') diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c index d6bd3818b4..d5bf9f0223 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c +++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/auto_shift.c @@ -7,193 +7,498 @@ /* Only for basis letters Exceptions like Tab or Enter */ bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TAB: + // case KC_ENT: - switch (keycode) { - - case KC_TAB: - case KC_ENT: - - // -- - case KC_A: - case KC_B: - case KC_C: - case KC_D: - case KC_E: - case KC_F: - case KC_G: - case KC_H: - case KC_I: - case KC_J: - case KC_K: - case KC_L: - case KC_M: - case KC_N: - case KC_O: - case KC_P: - case KC_Q: - case KC_R: - case KC_S: - case KC_T: - case KC_U: - case KC_V: - case KC_W: - case KC_X: - case KC_Y: - case KC_Z: - - return true; - } - - return get_custom_auto_shifted_key(keycode, record); -} + case US_EACU: + case US_CCED: + case US_AE: + case US_OE: + + // -- + case KC_A: + case KC_B: + case KC_C: + case KC_D: + case KC_E: + case KC_F: + case KC_G: + case KC_H: + case KC_I: + case KC_J: + case KC_K: + case KC_L: + case KC_M: + case KC_N: + case KC_O: + case KC_P: + case KC_Q: + case KC_R: + case KC_S: + case KC_T: + case KC_U: + case KC_V: + case KC_W: + case KC_X: + case KC_Y: + case KC_Z: + return true; + } + + return get_custom_auto_shifted_key(keycode, record); +} /* Custom auto shift I use this instead of tap dance because double tap is horrible Add here the letter or the custom enum, then add in press_user and press_release the actions */ bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { + switch (keycode) { + case KC_BSPC: - case KC_BSPC: - case KC_LABK: // Easy indent with vim - case KC_RABK: + // Double them !!! + case KC_AMPERSAND: + case KC_AT: + case KC_BACKSLASH: + case KC_CIRCUMFLEX: + case KC_COLON: + case KC_DOLLAR: + case KC_EQUAL: + case KC_EXCLAIM: + case KC_GRAVE: + case KC_HASH: + case KC_MINUS: + case KC_PERC: + case KC_PIPE: + case KC_PLUS: + case KC_QUESTION: + case KC_QUOTE: + case KC_DOUBLE_QUOTE: + case KC_SEMICOLON: + case KC_SLASH: + case KC_ASTERISK: + case KC_TILDE: + case KC_UNDERSCORE: - /* French */ - case CS_E_ACUTE: + case KC_LEFT_ANGLE_BRACKET: // Easy indent with vim + case KC_RIGHT_ANGLE_BRACKET: - case CS_A_GRAVE: - case CS_E_GRAVE: - case CS_I_GRAVE: - case CS_O_GRAVE: - case CS_U_GRAVE: + case KC_LEFT_BRACKET: + case KC_RIGHT_BRACKET: + case KC_LEFT_CURLY_BRACE: + case KC_RIGHT_CURLY_BRACE: + case KC_LEFT_PAREN: + case KC_RIGHT_PAREN: - case CS_A_CIRCUMFLEX: - case CS_E_CIRCUMFLEX: - case CS_I_CIRCUMFLEX: - case CS_O_CIRCUMFLEX: - case CS_U_CIRCUMFLEX: + /* French */ + case CS_A_GRAVE: + case CS_E_GRAVE: + case CS_U_GRAVE: - case CS_A_DIAERESIS: - case CS_E_DIAERESIS: - case CS_I_DIAERESIS: - case CS_O_DIAERESIS: - case CS_U_DIAERESIS: - case CS_Y_DIAERESIS: + case CS_A_CIRCUMFLEX: + case CS_E_CIRCUMFLEX: + case CS_I_CIRCUMFLEX: + case CS_O_CIRCUMFLEX: + case CS_U_CIRCUMFLEX: - case CS_C_CEDILLA: - case CS_AE: - case CS_OE: + case CS_E_DIAERESIS: + case CS_I_DIAERESIS: + case CS_U_DIAERESIS: + case CS_Y_DIAERESIS: + return true; - return true; - - default: - return false; - } + default: + return false; + } } void autoshift_press_user(uint16_t keycode, bool shifted, keyrecord_t *record) { - switch(keycode) { - - case KC_BSPC: - register_code16((!shifted) ? KC_BSPC : KC_DEL); - break; - - case KC_LABK: - if (shifted) { send_unicode_string("<<"); } - else { send_unicode_string("<"); } break; - - case KC_RABK: - if (shifted) { send_unicode_string(">>"); } - else { send_unicode_string(">"); } break; - - /* French - Release is not necessary with 'send_unicode_string()' */ - case CS_E_ACUTE: - if (shifted) { send_unicode_string("É"); } - else { send_unicode_string("é"); } break; - - case CS_A_GRAVE: - if (shifted) { send_unicode_string("À"); } - else { send_unicode_string("à"); } break; - case CS_E_GRAVE: - if (shifted) { send_unicode_string("È"); } - else { send_unicode_string("è"); } break; - case CS_I_GRAVE: - if (shifted) { send_unicode_string("Ì"); } - else { send_unicode_string("ì"); } break; - case CS_O_GRAVE: - if (shifted) { send_unicode_string("Ò"); } - else { send_unicode_string("ò"); } break; - case CS_U_GRAVE: - if (shifted) { send_unicode_string("Ù"); } - else { send_unicode_string("ù"); } break; - - case CS_A_CIRCUMFLEX: - if (shifted) { send_unicode_string("Â"); } - else { send_unicode_string("â"); } break; - case CS_E_CIRCUMFLEX: - if (shifted) { send_unicode_string("Ê"); } - else { send_unicode_string("ê"); } break; - case CS_I_CIRCUMFLEX: - if (shifted) { send_unicode_string("Î"); } - else { send_unicode_string("î"); } break; - case CS_O_CIRCUMFLEX: - if (shifted) { send_unicode_string("Ô"); } - else { send_unicode_string("ô"); } break; - case CS_U_CIRCUMFLEX: - if (shifted) { send_unicode_string("Û"); } - else { send_unicode_string("û"); } break; - - case CS_A_DIAERESIS: - if (shifted) { send_unicode_string("Ä"); } - else { send_unicode_string("ä"); } break; - case CS_E_DIAERESIS: - if (shifted) { send_unicode_string("Ë"); } - else { send_unicode_string("ë"); } break; - case CS_I_DIAERESIS: - if (shifted) { send_unicode_string("Ï"); } - else { send_unicode_string("ï"); } break; - case CS_O_DIAERESIS: - if (shifted) { send_unicode_string("Ö"); } - else { send_unicode_string("ö"); } break; - case CS_U_DIAERESIS: - if (shifted) { send_unicode_string("Ü"); } - else { send_unicode_string("ü"); } break; - case CS_Y_DIAERESIS: - if (shifted) { send_unicode_string("Ÿ"); } - else { send_unicode_string("ÿ"); } break; - - case CS_C_CEDILLA: - if (shifted) { send_unicode_string("Ç"); } - else { send_unicode_string("ç"); } break; - case CS_AE: - if (shifted) { send_unicode_string("Æ"); } - else { send_unicode_string("æ"); } break; - case CS_OE: - if (shifted) { send_unicode_string("Œ"); } - else { send_unicode_string("œ"); } break; - - - default: - if (shifted) { - add_weak_mods(MOD_BIT(KC_LSFT)); - } - /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift */ - register_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); + switch (keycode) { + case KC_BSPC: + if (shifted) { + tap_code16(KC_DEL); + } else { + tap_code16(KC_BSPC); } -} + break; + break; -void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) { - switch(keycode) { + case KC_AMPERSAND: + if (shifted) { + tap_code16(KC_AMPERSAND); + tap_code16(KC_AMPERSAND); + } else { + tap_code16(KC_AMPERSAND); + } + break; + case KC_AT: + if (shifted) { + tap_code16(KC_AT); + tap_code16(KC_AT); + } else { + tap_code16(KC_AT); + } + break; + case KC_BACKSLASH: + if (shifted) { + tap_code16(KC_BACKSLASH); + tap_code16(KC_BACKSLASH); + } else { + tap_code16(KC_BACKSLASH); + } + break; + case KC_CIRCUMFLEX: + if (shifted) { + tap_code16(KC_CIRCUMFLEX); + tap_code16(KC_CIRCUMFLEX); + } else { + tap_code16(KC_CIRCUMFLEX); + } + break; + case KC_COLON: + if (shifted) { + tap_code16(KC_COLON); + tap_code16(KC_COLON); + } else { + tap_code16(KC_COLON); + } + break; + case KC_DOLLAR: + if (shifted) { + tap_code16(KC_DOLLAR); + tap_code16(KC_DOLLAR); + } else { + tap_code16(KC_DOLLAR); + } + break; + case KC_EQUAL: + if (shifted) { + tap_code16(KC_EQUAL); + tap_code16(KC_EQUAL); + } else { + tap_code16(KC_EQUAL); + } + break; + case KC_EXCLAIM: + if (shifted) { + tap_code16(KC_EXCLAIM); + tap_code16(KC_EXCLAIM); + } else { + tap_code16(KC_EXCLAIM); + } + break; + case KC_GRAVE: + if (shifted) { + tap_code16(KC_GRAVE); + tap_code16(KC_GRAVE); + } else { + tap_code16(KC_GRAVE); + } + break; + case KC_HASH: + if (shifted) { + tap_code16(KC_HASH); + tap_code16(KC_HASH); + } else { + tap_code16(KC_HASH); + } + break; + case KC_MINUS: + if (shifted) { + tap_code16(KC_MINUS); + tap_code16(KC_MINUS); + } else { + tap_code16(KC_MINUS); + } + break; + case KC_PERCENT: + if (shifted) { + tap_code16(KC_PERCENT); + tap_code16(KC_PERCENT); + } else { + tap_code16(KC_PERCENT); + } + break; + case KC_PIPE: + if (shifted) { + tap_code16(KC_PIPE); + tap_code16(KC_PIPE); + } else { + tap_code16(KC_PIPE); + } + break; + case KC_PLUS: + if (shifted) { + tap_code16(KC_PLUS); + tap_code16(KC_PLUS); + } else { + tap_code16(KC_PLUS); + } + break; + case KC_QUESTION: + if (shifted) { + tap_code16(KC_QUESTION); + tap_code16(KC_QUESTION); + } else { + tap_code16(KC_QUESTION); + } + break; + case KC_QUOTE: + if (shifted) { + tap_code16(KC_QUOTE); + tap_code16(KC_QUOTE); + } else { + tap_code16(KC_QUOTE); + } + break; + case KC_DOUBLE_QUOTE: + if (shifted) { + tap_code16(KC_DOUBLE_QUOTE); + tap_code16(KC_DOUBLE_QUOTE); + } else { + tap_code16(KC_DOUBLE_QUOTE); + } + break; + case KC_SEMICOLON: + if (shifted) { + tap_code16(KC_SEMICOLON); + tap_code16(KC_SEMICOLON); + } else { + tap_code16(KC_SEMICOLON); + } + break; + case KC_SLASH: + if (shifted) { + tap_code16(KC_SLASH); + tap_code16(KC_SLASH); + } else { + tap_code16(KC_SLASH); + } + break; + case KC_ASTERISK: + if (shifted) { + tap_code16(KC_ASTERISK); + tap_code16(KC_ASTERISK); + } else { + tap_code16(KC_ASTERISK); + } + break; + case KC_TILDE: + if (shifted) { + tap_code16(KC_TILDE); + tap_code16(KC_TILDE); + } else { + tap_code16(KC_TILDE); + } + break; + case KC_UNDERSCORE: + if (shifted) { + tap_code16(KC_UNDERSCORE); + tap_code16(KC_UNDERSCORE); + } else { + tap_code16(KC_UNDERSCORE); + } + break; - case KC_BSPC: - unregister_code16((!shifted) ? KC_BSPC : KC_DEL); - break; + case KC_LEFT_ANGLE_BRACKET: + if (shifted) { + tap_code16(KC_LEFT_ANGLE_BRACKET); + tap_code16(KC_LEFT_ANGLE_BRACKET); + } else { + tap_code16(KC_LEFT_ANGLE_BRACKET); + } + break; + case KC_RIGHT_ANGLE_BRACKET: + if (shifted) { + tap_code16(KC_RIGHT_ANGLE_BRACKET); + tap_code16(KC_RIGHT_ANGLE_BRACKET); + } else { + tap_code16(KC_RIGHT_ANGLE_BRACKET); + } + break; - default: - /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift - The IS_RETRO check isn't really necessary here, always using - keycode & 0xFF would be fine. */ - unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); + case KC_LEFT_BRACKET: + if (shifted) { + tap_code16(KC_LEFT_BRACKET); + tap_code16(KC_LEFT_BRACKET); + } else { + tap_code16(KC_LEFT_BRACKET); + } + break; + case KC_RIGHT_BRACKET: + if (shifted) { + tap_code16(KC_RIGHT_BRACKET); + tap_code16(KC_RIGHT_BRACKET); + } else { + tap_code16(KC_RIGHT_BRACKET); + } + break; + case KC_LEFT_CURLY_BRACE: + if (shifted) { + tap_code16(KC_LEFT_CURLY_BRACE); + tap_code16(KC_LEFT_CURLY_BRACE); + } else { + tap_code16(KC_LEFT_CURLY_BRACE); + } + break; + case KC_RIGHT_CURLY_BRACE: + if (shifted) { + tap_code16(KC_RIGHT_CURLY_BRACE); + tap_code16(KC_RIGHT_CURLY_BRACE); + } else { + tap_code16(KC_RIGHT_CURLY_BRACE); + } + break; + case KC_LEFT_PAREN: + if (shifted) { + tap_code16(KC_LEFT_PAREN); + tap_code16(KC_LEFT_PAREN); + } else { + tap_code16(KC_LEFT_PAREN); + } + break; + case KC_RIGHT_PAREN: + if (shifted) { + tap_code16(KC_RIGHT_PAREN); + tap_code16(KC_RIGHT_PAREN); + } else { + tap_code16(KC_RIGHT_PAREN); + } + break; + + /* French + Release is not necessary with 'send_unicode_string()' */ + case CS_A_GRAVE: + if (shifted) { + tap_code16(US_DGRV); + tap_code16(S(KC_A)); + } else { + tap_code16(US_DGRV); + tap_code16(KC_A); + } + break; + case CS_E_GRAVE: + if (shifted) { + tap_code16(US_DGRV); + tap_code16(S(KC_E)); + } else { + tap_code16(US_DGRV); + tap_code16(KC_E); + } + break; + case CS_U_GRAVE: + if (shifted) { + tap_code16(US_DGRV); + tap_code16(S(KC_U)); + } else { + tap_code16(US_DGRV); + tap_code16(KC_U); + } + break; + + case CS_A_CIRCUMFLEX: + if (shifted) { + tap_code16(US_DCIR); + tap_code16(S(KC_A)); + } else { + tap_code16(US_DCIR); + tap_code16(KC_A); + } + break; + case CS_E_CIRCUMFLEX: + if (shifted) { + tap_code16(US_DCIR); + tap_code16(S(KC_E)); + } else { + tap_code16(US_DCIR); + tap_code16(KC_E); } + break; + case CS_I_CIRCUMFLEX: + if (shifted) { + tap_code16(US_DCIR); + tap_code16(S(KC_I)); + } else { + tap_code16(US_DCIR); + tap_code16(KC_I); + } + break; + case CS_O_CIRCUMFLEX: + if (shifted) { + tap_code16(US_DCIR); + tap_code16(S(KC_O)); + } else { + tap_code16(US_DCIR); + tap_code16(KC_O); + } + break; + case CS_U_CIRCUMFLEX: + if (shifted) { + tap_code16(US_DCIR); + tap_code16(S(KC_U)); + } else { + tap_code16(US_DCIR); + tap_code16(KC_U); + } + break; + + case CS_E_DIAERESIS: + if (shifted) { + tap_code16(US_DIAE); + tap_code16(S(KC_E)); + } else { + tap_code16(US_DIAE); + tap_code16(KC_E); + } + break; + case CS_I_DIAERESIS: + if (shifted) { + tap_code16(US_DIAE); + tap_code16(S(KC_I)); + } else { + tap_code16(US_DIAE); + tap_code16(KC_I); + } + break; + case CS_U_DIAERESIS: + if (shifted) { + tap_code16(US_DIAE); + tap_code16(S(KC_U)); + } else { + tap_code16(US_DIAE); + tap_code16(KC_U); + } + break; + case CS_Y_DIAERESIS: + if (shifted) { + tap_code16(US_DIAE); + tap_code16(S(KC_Y)); + } else { + tap_code16(US_DIAE); + tap_code16(KC_Y); + } + break; + + default: + if (shifted) { + add_weak_mods(MOD_BIT(KC_LSFT)); + } + /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift */ + register_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); + } +} + +void autoshift_release_user(uint16_t keycode, bool shifted, keyrecord_t *record) { + switch (keycode) { + case KC_BSPC: + unregister_code16((!shifted) ? KC_BSPC : KC_DEL); + break; + + default: + /* & 0xFF gets the Tap key for Tap Holds, required when using Retro Shift + The IS_RETRO check isn't really necessary here, always using + keycode & 0xFF would be fine. */ + unregister_code16((IS_RETRO(keycode)) ? keycode & 0xFF : keycode); + } } diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c index c382eedddc..de0436b361 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c +++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/combo.c @@ -15,256 +15,231 @@ */ enum combos { - LEADER, - BOOTLOADER, - - LAYER_ADJUST, - LAYER_FN, - LAYER_LEFT_HAND, - - /* French */ - E_ACUTE, - C_CEDILLA, - E_A, - E_O, - - A_GRAVE, - E_GRAVE, - I_GRAVE, - O_GRAVE, - U_GRAVE, - - A_CIRCUMFLEX, - E_CIRCUMFLEX, - I_CIRCUMFLEX, - O_CIRCUMFLEX, - U_CIRCUMFLEX, - - A_DIAERESIS, - E_DIAERESIS, - I_DIAERESIS, - O_DIAERESIS, - U_DIAERESIS, - Y_DIAERESIS, - - /* -- */ - AMPERSAND, - AT_SIGN, - BACKSLASH, - CIRCUMFLEX, - COLON, - DOLLAR, - EQUAL, - EXCLAMATION_MARK, - GRAVE, - HASH, - MINUS, - PERCENT, - PIPE, - PLUS, - QUESTION_MARK, - QUOTE, - QUOTE_DOUBLE, - SEMICOLON, - SLASH, - STAR, - TILDE, - UNDERSCORE, - - ANGLE_BRACKET_LEFT, - ANGLE_BRACKET_RIGHT, - - BRACKET_LEFT, - BRACKET_RIGHT, - CURLY_BRACKET_LEFT, - CURLY_BRACKET_RIGHT, - PARENTHESIS_LEFT, - PARENTHESIS_RIGHT, - - /* -- */ - ALT_SHIFT, - CONTROL_SHIFT, - CONTROL_ALT, - CONTROL_SHIFT_ALT, - RIGHT_ALT, - - /* One hand special */ - CONTROL_RIGHT, - CONTROL_SHIFT_RIGHT, - - // DEL_LEFT, - SHIFT_LEFT, - ALTGR_LEFT, - CONTROL_SHIFT_LEFT, + LEADER, + BOOTLOADER, + + LAYER_ADJ, + LAYER_FN, + LAYER_LEFT_HAND, + LAYER_MOUSE, + LAYER_MOUSE_BACK, + + /* French */ + C_CEDILLA, + E_A, + E_O, + + A_GRAVE, + E_GRAVE, + U_GRAVE, + + A_CIRCUMFLEX, + E_CIRCUMFLEX, + I_CIRCUMFLEX, + O_CIRCUMFLEX, + U_CIRCUMFLEX, + + E_DIAERESIS, + I_DIAERESIS, + U_DIAERESIS, + Y_DIAERESIS, + + /* -- */ + AMPERSAND, + AT_SIGN, + BACKSLASH, + CIRCUMFLEX, + COLON, + DOLLAR, + EQUAL, + EXCLAMATION_MARK, + GRAVE, + HASH, + MINUS, + PERCENT, + PIPE, + PLUS, + QUESTION_MARK, + QUOTE, + QUOTE_DOUBLE, + SEMICOLON, + SLASH, + STAR, + TILDE, + UNDERSCORE, + + ANGLE_BRACKET_LEFT, + ANGLE_BRACKET_RIGHT, + + BRACKET_LEFT, + BRACKET_RIGHT, + CURLY_BRACKET_LEFT, + CURLY_BRACKET_RIGHT, + PARENTHESIS_LEFT, + PARENTHESIS_RIGHT, + + /* Non qwerty */ + EURO, + + /* One hand special */ + CONTROL_RIGHT, + CONTROL_SHIFT_RIGHT, + + ALT_LEFT, + SHIFT_LEFT, + CONTROL_SHIFT_LEFT, + + /* Just to replace the define in config.h */ + COMBO_LENGTH, }; +uint16_t COMBO_LEN = COMBO_LENGTH; /* Sequences fo keys */ -const uint16_t PROGMEM combo_leader[] = {LT(_MOUSE, KC_COMM), LT(_ARROWS, KC_DOT), COMBO_END}; -const uint16_t PROGMEM combo_bootloader[] = {KC_K, KC_TAB, KC_Z, KC_BSPC, KC_V, KC_J, COMBO_END}; +const uint16_t PROGMEM combo_leader[] = {LT(_MOUSE, KC_COMM), LT(_ARROWS, KC_DOT), COMBO_END}; +const uint16_t PROGMEM combo_bootloader[] = {KC_K, KC_TAB, KC_Z, KC_BSPC, KC_V, KC_J, COMBO_END}; + +const uint16_t PROGMEM combo_ADJ[] = {CTL_T(KC_SPACE), LT(_NUMERIC, KC_ENT), COMBO_END}; +const uint16_t PROGMEM combo_fn[] = {LT(_NUMERIC, KC_ENT), KC_N, COMBO_END}; +const uint16_t PROGMEM combo_left_hand[] = {LT(_MOUSE, KC_COMM), GUI_T(KC_ESC), COMBO_END}; +const uint16_t PROGMEM combo_mouse[] = {KC_A, KC_I, KC_E, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_mouse_back[] = {KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT, COMBO_END}; +/* -- */ +const uint16_t PROGMEM combo_c_cedilla[] = {LT(_ARROWS, KC_DOT), KC_C, COMBO_END}; +const uint16_t PROGMEM combo_ea[] = {US_EACU, KC_A, COMBO_END}; +const uint16_t PROGMEM combo_eo[] = {US_EACU, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_adjust[] = {KC_LCPO, LT(_NUMERIC, KC_ENT), COMBO_END}; -const uint16_t PROGMEM combo_fn[] = {LT(_NUMERIC, KC_ENT), KC_N, COMBO_END}; -const uint16_t PROGMEM combo_left_hand[] = {KC_LCPO, GUI_T(KC_ESC), COMBO_END}; +const uint16_t PROGMEM combo_a_grave[] = {CTL_T(KC_SPACE), KC_A, COMBO_END}; +const uint16_t PROGMEM combo_e_grave[] = {CTL_T(KC_SPACE), KC_E, COMBO_END}; +const uint16_t PROGMEM combo_u_grave[] = {CTL_T(KC_SPACE), KC_U, COMBO_END}; -/* -- */ -// const uint16_t PROGMEM combo_enter_shifted[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END}; -const uint16_t PROGMEM combo_control_shift[] = {KC_LCPO, KC_S, COMBO_END}; -const uint16_t PROGMEM combo_control_alt[] = {KC_LCPO, KC_LALT, COMBO_END}; -const uint16_t PROGMEM combo_control_shift_alt[] = {KC_LCPO, KC_S, KC_A, COMBO_END}; -const uint16_t PROGMEM combo_right_alt[] = {KC_LAPO, KC_G, COMBO_END}; -const uint16_t PROGMEM combo_alt_shift[] = {KC_LALT, KC_S, COMBO_END}; +const uint16_t PROGMEM combo_a_circumflex[] = {LT(_MOUSE, KC_COMM), KC_A, COMBO_END}; +const uint16_t PROGMEM combo_e_circumflex[] = {LT(_MOUSE, KC_COMM), KC_E, COMBO_END}; +const uint16_t PROGMEM combo_i_circumflex[] = {LT(_MOUSE, KC_COMM), KC_I, COMBO_END}; +const uint16_t PROGMEM combo_o_circumflex[] = {LT(_MOUSE, KC_COMM), KC_O, COMBO_END}; +const uint16_t PROGMEM combo_u_circumflex[] = {LT(_MOUSE, KC_COMM), KC_U, COMBO_END}; -/* -- */ -const uint16_t PROGMEM combo_e_acute[] = {KC_LCPO, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_c_cedilla[] = {KC_LCPO, KC_I, COMBO_END}; -const uint16_t PROGMEM combo_ea[] = {KC_LCPO, KC_A, COMBO_END}; -const uint16_t PROGMEM combo_eo[] = {KC_LCPO, KC_O, COMBO_END}; - -const uint16_t PROGMEM combo_a_grave[] = {LT(_MOUSE, KC_COMM), KC_A, COMBO_END}; -const uint16_t PROGMEM combo_e_grave[] = {LT(_MOUSE, KC_COMM), KC_E, COMBO_END}; -const uint16_t PROGMEM combo_i_grave[] = {LT(_MOUSE, KC_COMM), KC_I, COMBO_END}; -const uint16_t PROGMEM combo_o_grave[] = {LT(_MOUSE, KC_COMM), KC_O, COMBO_END}; -const uint16_t PROGMEM combo_u_grave[] = {LT(_MOUSE, KC_COMM), KC_U, COMBO_END}; - -const uint16_t PROGMEM combo_a_circumflex[] = {KC_C, KC_A, COMBO_END}; -const uint16_t PROGMEM combo_e_circumflex[] = {KC_C, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_i_circumflex[] = {KC_C, KC_I, COMBO_END}; -const uint16_t PROGMEM combo_o_circumflex[] = {KC_C, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_u_circumflex[] = {KC_C, KC_U, COMBO_END}; - -const uint16_t PROGMEM combo_a_diaeresis[] = {KC_T, KC_A, COMBO_END}; -const uint16_t PROGMEM combo_e_diaeresis[] = {KC_T, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_i_diaeresis[] = {KC_T, KC_I, COMBO_END}; -const uint16_t PROGMEM combo_o_diaeresis[] = {KC_T, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_u_diaeresis[] = {KC_T, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_y_diaeresis[] = {KC_T, KC_Y, COMBO_END}; +const uint16_t PROGMEM combo_e_diaeresis[] = {US_EACU, KC_E, COMBO_END}; +const uint16_t PROGMEM combo_i_diaeresis[] = {US_EACU, KC_I, COMBO_END}; +const uint16_t PROGMEM combo_u_diaeresis[] = {US_EACU, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_y_diaeresis[] = {US_EACU, KC_Y, COMBO_END}; /* -- */ -const uint16_t PROGMEM combo_ampersand[] = {KC_I, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_at_sign[] = {KC_Q, KC_Y, COMBO_END}; -const uint16_t PROGMEM combo_backslash[] = {KC_D, KC_R, COMBO_END}; -const uint16_t PROGMEM combo_circumflex[] = {KC_T, KC_D, COMBO_END}; -const uint16_t PROGMEM combo_colon[] = {KC_C, KC_G, COMBO_END}; -const uint16_t PROGMEM combo_dollar[] = {KC_D, KC_L, COMBO_END}; -const uint16_t PROGMEM combo_equal[] = {KC_T, KC_H, COMBO_END}; -const uint16_t PROGMEM combo_exclamation_mark[] = {KC_O, KC_W, COMBO_END}; -const uint16_t PROGMEM combo_grave[] = {KC_T, KC_G, COMBO_END}; -const uint16_t PROGMEM combo_hash[] = {KC_I, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_minus[] = {KC_T, KC_R, COMBO_END}; -const uint16_t PROGMEM combo_percent[] = {KC_O, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_pipe[] = {KC_E, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_plus[] = {KC_T, KC_L, COMBO_END}; -const uint16_t PROGMEM combo_question_mark[] = {KC_B, KC_O, COMBO_END}; -const uint16_t PROGMEM combo_quote[] = {KC_T, KC_N, COMBO_END}; -const uint16_t PROGMEM combo_quote_double[] = {KC_A, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_semicolon[] = {KC_G, KC_H, COMBO_END}; -const uint16_t PROGMEM combo_slash[] = {KC_S, KC_L, COMBO_END}; -const uint16_t PROGMEM combo_star[] = {KC_S, KC_T, COMBO_END}; -const uint16_t PROGMEM combo_tilde[] = {KC_I, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_underscore[] = {KC_S, KC_R, COMBO_END}; - -const uint16_t PROGMEM combo_angle_bracket_left[] = {KC_C, KC_S, COMBO_END}; -const uint16_t PROGMEM combo_angle_bracket_right[] = {KC_S, KC_H, COMBO_END}; - -const uint16_t PROGMEM combo_bracket_left[] = {KC_Q, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_bracket_right[] = {KC_E, KC_Y, COMBO_END}; -const uint16_t PROGMEM combo_curly_bracket_left[] = {KC_X, KC_E, COMBO_END}; -const uint16_t PROGMEM combo_curly_bracket_right[] = {KC_I, KC_Q, COMBO_END}; -const uint16_t PROGMEM combo_parenthesis_left[] = {KC_X, KC_U, COMBO_END}; -const uint16_t PROGMEM combo_parenthesis_right[] = {KC_I, KC_Y, COMBO_END}; +const uint16_t PROGMEM combo_ampersand[] = {KC_E, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_at_sign[] = {KC_D, KC_L, COMBO_END}; +const uint16_t PROGMEM combo_backslash[] = {KC_B, KC_E, COMBO_END}; +const uint16_t PROGMEM combo_circumflex[] = {KC_B, KC_O, COMBO_END}; +const uint16_t PROGMEM combo_colon[] = {KC_C, KC_G, COMBO_END}; +const uint16_t PROGMEM combo_dollar[] = {KC_O, KC_W, COMBO_END}; +const uint16_t PROGMEM combo_equal[] = {KC_T, KC_H, COMBO_END}; +const uint16_t PROGMEM combo_exclamation_mark[] = {KC_Q, KC_Y, COMBO_END}; +const uint16_t PROGMEM combo_grave[] = {KC_T, KC_G, COMBO_END}; +const uint16_t PROGMEM combo_hash[] = {KC_X, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_minus[] = {KC_T, KC_R, COMBO_END}; +const uint16_t PROGMEM combo_percent[] = {KC_B, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_pipe[] = {KC_I, KC_E, COMBO_END}; +const uint16_t PROGMEM combo_plus[] = {KC_T, KC_L, COMBO_END}; +const uint16_t PROGMEM combo_question_mark[] = {KC_P, KC_D, COMBO_END}; +const uint16_t PROGMEM combo_quote[] = {KC_T, KC_N, COMBO_END}; +const uint16_t PROGMEM combo_quote_double[] = {KC_A, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_semicolon[] = {KC_G, KC_H, COMBO_END}; +const uint16_t PROGMEM combo_slash[] = {KC_S, KC_L, COMBO_END}; +const uint16_t PROGMEM combo_star[] = {KC_S, KC_T, COMBO_END}; +const uint16_t PROGMEM combo_tilde[] = {KC_I, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_underscore[] = {KC_S, KC_R, COMBO_END}; + +const uint16_t PROGMEM combo_angle_bracket_left[] = {KC_C, KC_S, COMBO_END}; +const uint16_t PROGMEM combo_angle_bracket_right[] = {KC_S, KC_H, COMBO_END}; +const uint16_t PROGMEM combo_bracket_left[] = {KC_I, KC_O, COMBO_END}; +const uint16_t PROGMEM combo_bracket_right[] = {KC_O, KC_U, COMBO_END}; +const uint16_t PROGMEM combo_curly_bracket_left[] = {KC_X, KC_E, COMBO_END}; +const uint16_t PROGMEM combo_curly_bracket_right[] = {KC_E, KC_Y, COMBO_END}; +const uint16_t PROGMEM combo_parenthesis_left[] = {KC_T, KC_D, COMBO_END}; +const uint16_t PROGMEM combo_parenthesis_right[] = {KC_D, KC_R, COMBO_END}; + +/* Non qwerty */ +const uint16_t PROGMEM combo_euro[] = {KC_X, KC_Q, COMBO_END}; /* One hand special */ -const uint16_t PROGMEM combo_control_right[] = {LT(_NUMERIC, KC_ENT), KC_R, COMBO_END}; -const uint16_t PROGMEM combo_control_shift_right[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END}; - -const uint16_t PROGMEM combo_shift_left[] = {KC_LCPO, KC_LALT, COMBO_END}; -// const uint16_t PROGMEM combo_altgr_left[] = {LT(_MOUSE, KC_COMM), KC_LALT, COMBO_END}; -// const uint16_t PROGMEM combo_del_left[] = {GUI_T(KC_ESC), KC_K, COMBO_END}; -const uint16_t PROGMEM combo_control_shift_left[] = {LT(_MOUSE, KC_COMM), KC_LALT, COMBO_END}; +const uint16_t PROGMEM combo_control_right[] = {LT(_NUMERIC, KC_ENT), KC_R, COMBO_END}; +const uint16_t PROGMEM combo_control_shift_right[] = {LT(_NUMERIC, KC_ENT), KC_S, COMBO_END}; +const uint16_t PROGMEM combo_shift_left[] = {LT(_MOUSE, KC_COMM), US_EACU, COMBO_END}; +const uint16_t PROGMEM combo_alt_left[] = {CTL_T(KC_SPACE), US_EACU, COMBO_END}; +const uint16_t PROGMEM combo_control_shift_left[] = {CTL_T(KC_SPACE), GUI_T(KC_ESC), COMBO_END}; /* Sequences fo keys */ combo_t key_combos[] = { - [LEADER] = COMBO(combo_leader, KC_LEAD), - [BOOTLOADER] = COMBO(combo_bootloader, QK_BOOTLOADER), + [LEADER] = COMBO(combo_leader, QK_LEAD), + [BOOTLOADER] = COMBO(combo_bootloader, QK_BOOTLOADER), - [LAYER_ADJUST] = COMBO(combo_adjust, OSL(_ADJUST)), - [LAYER_FN] = COMBO(combo_fn, OSL(_FN)), - [LAYER_LEFT_HAND] = COMBO(combo_left_hand, OSL(_LEFT_HAND)), - - /* -- */ - // [ENTER_SHIFTED] = COMBO(combo_enter_shifted, S(KC_ENT)), - [ALT_SHIFT] = COMBO(combo_alt_shift, A(S(XXXXXXX))), - [CONTROL_SHIFT] = COMBO(combo_control_shift, C(S(XXXXXXX))), - [CONTROL_ALT] = COMBO(combo_control_alt, C(A(XXXXXXX))), - [CONTROL_SHIFT_ALT] = COMBO(combo_control_shift_alt, C(S(A(XXXXXXX)))), - [RIGHT_ALT] = COMBO(combo_right_alt, KC_RALT), + [LAYER_ADJ] = COMBO(combo_ADJ, OSL(_ADJ)), + [LAYER_FN] = COMBO(combo_fn, OSL(_FN)), + [LAYER_LEFT_HAND] = COMBO(combo_left_hand, OSL(_LEFT_HAND)), + [LAYER_MOUSE] = COMBO(combo_mouse, TG(_MOUSE)), + [LAYER_MOUSE_BACK] = COMBO(combo_mouse_back, TG(_MOUSE)), /* French */ - [E_ACUTE] = COMBO(combo_e_acute, CS_E_ACUTE), - [C_CEDILLA] = COMBO(combo_c_cedilla, CS_C_CEDILLA), - [E_A] = COMBO(combo_ea, CS_AE), - [E_O] = COMBO(combo_eo, CS_OE), - - [A_GRAVE] = COMBO(combo_a_grave, CS_A_GRAVE), - [E_GRAVE] = COMBO(combo_e_grave, CS_E_GRAVE), - [I_GRAVE] = COMBO(combo_i_grave, CS_I_GRAVE), - [O_GRAVE] = COMBO(combo_o_grave, CS_O_GRAVE), - [U_GRAVE] = COMBO(combo_u_grave, CS_U_GRAVE), - - [A_CIRCUMFLEX] = COMBO(combo_a_circumflex, CS_A_CIRCUMFLEX), - [E_CIRCUMFLEX] = COMBO(combo_e_circumflex, CS_E_CIRCUMFLEX), - [I_CIRCUMFLEX] = COMBO(combo_i_circumflex, CS_I_CIRCUMFLEX), - [O_CIRCUMFLEX] = COMBO(combo_o_circumflex, CS_O_CIRCUMFLEX), - [U_CIRCUMFLEX] = COMBO(combo_u_circumflex, CS_U_CIRCUMFLEX), - - [A_DIAERESIS] = COMBO(combo_a_diaeresis, CS_A_DIAERESIS), - [E_DIAERESIS] = COMBO(combo_e_diaeresis, CS_E_DIAERESIS), - [I_DIAERESIS] = COMBO(combo_i_diaeresis, CS_I_DIAERESIS), - [O_DIAERESIS] = COMBO(combo_o_diaeresis, CS_O_DIAERESIS), - [U_DIAERESIS] = COMBO(combo_u_diaeresis, CS_U_DIAERESIS), - [Y_DIAERESIS] = COMBO(combo_y_diaeresis, CS_Y_DIAERESIS), + [C_CEDILLA] = COMBO(combo_c_cedilla, US_CCED), + [E_A] = COMBO(combo_ea, US_AE), + [E_O] = COMBO(combo_eo, US_OE), + + [A_GRAVE] = COMBO(combo_a_grave, CS_A_GRAVE), + [E_GRAVE] = COMBO(combo_e_grave, CS_E_GRAVE), + [U_GRAVE] = COMBO(combo_u_grave, CS_U_GRAVE), + + [A_CIRCUMFLEX] = COMBO(combo_a_circumflex, CS_A_CIRCUMFLEX), + [E_CIRCUMFLEX] = COMBO(combo_e_circumflex, CS_E_CIRCUMFLEX), + [I_CIRCUMFLEX] = COMBO(combo_i_circumflex, CS_I_CIRCUMFLEX), + [O_CIRCUMFLEX] = COMBO(combo_o_circumflex, CS_O_CIRCUMFLEX), + [U_CIRCUMFLEX] = COMBO(combo_u_circumflex, CS_U_CIRCUMFLEX), + + [E_DIAERESIS] = COMBO(combo_e_diaeresis, CS_E_DIAERESIS), + [I_DIAERESIS] = COMBO(combo_i_diaeresis, CS_I_DIAERESIS), + [U_DIAERESIS] = COMBO(combo_u_diaeresis, CS_U_DIAERESIS), + [Y_DIAERESIS] = COMBO(combo_y_diaeresis, CS_Y_DIAERESIS), /* -- */ - [AMPERSAND] = COMBO(combo_ampersand, KC_AMPR), - [AT_SIGN] = COMBO(combo_at_sign, KC_AT), - [BACKSLASH] = COMBO(combo_backslash, KC_BSLS), - [CIRCUMFLEX] = COMBO(combo_circumflex, KC_CIRC), - [COLON] = COMBO(combo_colon, KC_COLON), - [DOLLAR] = COMBO(combo_dollar, KC_DLR), - [EQUAL] = COMBO(combo_equal, KC_EQL), - [EXCLAMATION_MARK] = COMBO(combo_exclamation_mark, KC_EXCLAIM), - [GRAVE] = COMBO(combo_grave, KC_GRV), - [HASH] = COMBO(combo_hash, KC_HASH), - [MINUS] = COMBO(combo_minus, KC_MINS), - [PERCENT] = COMBO(combo_percent, KC_PERC), - [PIPE] = COMBO(combo_pipe, KC_PIPE), - [PLUS] = COMBO(combo_plus, KC_PLUS), - [QUESTION_MARK] = COMBO(combo_question_mark, KC_QUESTION), - [QUOTE] = COMBO(combo_quote, KC_QUOTE), - [QUOTE_DOUBLE] = COMBO(combo_quote_double, KC_DOUBLE_QUOTE), - [SEMICOLON] = COMBO(combo_semicolon, KC_SEMICOLON), - [SLASH] = COMBO(combo_slash, KC_SLSH), - [STAR] = COMBO(combo_star, KC_ASTR), - [TILDE] = COMBO(combo_tilde, KC_TILD), - [UNDERSCORE] = COMBO(combo_underscore, KC_UNDS), - - [ANGLE_BRACKET_LEFT] = COMBO(combo_angle_bracket_left, KC_LABK), - [ANGLE_BRACKET_RIGHT] = COMBO(combo_angle_bracket_right, KC_RABK), - - [BRACKET_LEFT] = COMBO(combo_bracket_left, KC_LEFT_BRACKET), - [BRACKET_RIGHT] = COMBO(combo_bracket_right, KC_RIGHT_BRACKET), - [CURLY_BRACKET_LEFT] = COMBO(combo_curly_bracket_left, KC_LEFT_CURLY_BRACE), - [CURLY_BRACKET_RIGHT] = COMBO(combo_curly_bracket_right, KC_RIGHT_CURLY_BRACE), - [PARENTHESIS_LEFT] = COMBO(combo_parenthesis_left, KC_LEFT_PAREN), - [PARENTHESIS_RIGHT] COMBO(combo_parenthesis_right, KC_RIGHT_PAREN), + [AMPERSAND] = COMBO(combo_ampersand, KC_AMPERSAND), + [AT_SIGN] = COMBO(combo_at_sign, KC_AT), + [BACKSLASH] = COMBO(combo_backslash, KC_BACKSLASH), + [CIRCUMFLEX] = COMBO(combo_circumflex, KC_CIRCUMFLEX), + [COLON] = COMBO(combo_colon, KC_COLON), + [DOLLAR] = COMBO(combo_dollar, KC_DOLLAR), + [EQUAL] = COMBO(combo_equal, KC_EQUAL), + [EXCLAMATION_MARK] = COMBO(combo_exclamation_mark, KC_EXCLAIM), + [GRAVE] = COMBO(combo_grave, KC_GRAVE), + [HASH] = COMBO(combo_hash, KC_HASH), + [MINUS] = COMBO(combo_minus, KC_MINUS), + [PERCENT] = COMBO(combo_percent, KC_PERCENT), + [PIPE] = COMBO(combo_pipe, KC_PIPE), + [PLUS] = COMBO(combo_plus, KC_PLUS), + [QUESTION_MARK] = COMBO(combo_question_mark, KC_QUESTION), + [QUOTE] = COMBO(combo_quote, KC_QUOTE), + [QUOTE_DOUBLE] = COMBO(combo_quote_double, KC_DOUBLE_QUOTE), + [SEMICOLON] = COMBO(combo_semicolon, KC_SEMICOLON), + [SLASH] = COMBO(combo_slash, KC_SLASH), + [STAR] = COMBO(combo_star, KC_ASTERISK), + [TILDE] = COMBO(combo_tilde, KC_TILDE), + [UNDERSCORE] = COMBO(combo_underscore, KC_UNDERSCORE), + + [ANGLE_BRACKET_LEFT] = COMBO(combo_angle_bracket_left, KC_LEFT_ANGLE_BRACKET), + [ANGLE_BRACKET_RIGHT] = COMBO(combo_angle_bracket_right, KC_RIGHT_ANGLE_BRACKET), + + [BRACKET_LEFT] = COMBO(combo_bracket_left, KC_LEFT_BRACKET), + [BRACKET_RIGHT] = COMBO(combo_bracket_right, KC_RIGHT_BRACKET), + [CURLY_BRACKET_LEFT] = COMBO(combo_curly_bracket_left, KC_LEFT_CURLY_BRACE), + [CURLY_BRACKET_RIGHT] = COMBO(combo_curly_bracket_right, KC_RIGHT_CURLY_BRACE), + [PARENTHESIS_LEFT] = COMBO(combo_parenthesis_left, KC_LEFT_PAREN), + [PARENTHESIS_RIGHT] COMBO(combo_parenthesis_right, KC_RIGHT_PAREN), + + /* Non qwerty */ + [EURO] COMBO(combo_euro, US_EURO), /* One hand special */ - [CONTROL_RIGHT] = COMBO(combo_control_right, KC_RCTL), - [CONTROL_SHIFT_RIGHT] = COMBO(combo_control_shift_right, C(S(XXXXXXX))), + [CONTROL_RIGHT] = COMBO(combo_control_right, KC_RCTL), + [CONTROL_SHIFT_RIGHT] = COMBO(combo_control_shift_right, C(S(XXXXXXX))), - [SHIFT_LEFT] = COMBO(combo_shift_left, KC_LSFT), - // [ALTGR_LEFT] = COMBO(combo_altgr_left, KC_ALGR), - [CONTROL_SHIFT_LEFT] = COMBO(combo_control_shift_left, C(S(XXXXXXX))), - // [DEL_LEFT] = COMBO(combo_del_left, KC_BSPC), + [ALT_LEFT] = COMBO(combo_alt_left, KC_LALT), + [SHIFT_LEFT] = COMBO(combo_shift_left, KC_LSFT), + [CONTROL_SHIFT_LEFT] = COMBO(combo_control_shift_left, C(S(XXXXXXX))), }; diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c index 7cfd30af6d..1964fb428f 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c +++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/features/leader.c @@ -2,267 +2,207 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H - -LEADER_EXTERNS(); - -void matrix_scan_user(void) { - LEADER_DICTIONARY() { - leading = false; - leader_end(); - - // SEQ_ONE_KEY(KC_F) { - // // Anything you can do in a macro. - // SEND_STRING("QMK is awesome."); } - - - SEQ_TWO_KEYS(KC_M, KC_S) { - SEND_STRING("f@linguenheld.fr"); } - SEQ_TWO_KEYS(KC_M, KC_L) { - SEND_STRING("florent@linguenheld.fr"); } - SEQ_TWO_KEYS(KC_F, KC_L) { - SEND_STRING("FLinguenheld"); } - - SEQ_THREE_KEYS(KC_T, KC_E, KC_S) { - SEND_STRING("test01234"); } - SEQ_THREE_KEYS(KC_A, KC_D, KC_M) { - SEND_STRING("admin01234"); } - - SEQ_ONE_KEY(KC_C) { - SEND_STRING(" | xclip -r -selection clipboard"); } - - /* Degree */ - SEQ_THREE_KEYS(KC_D, KC_E, KC_G) { - send_unicode_string("°"); } +#include "keycodes.h" +#include + +void leader_end_user(void) { + if (leader_sequence_two_keys(KC_M, KC_S)) { + SEND_STRING("f@linguenheld.fr"); + } else if (leader_sequence_two_keys(KC_M, KC_L)) { + SEND_STRING("florent@linguenheld.fr"); + } else if (leader_sequence_two_keys(KC_F, KC_L)) { + SEND_STRING("flinguenheld"); + + } else if (leader_sequence_three_keys(KC_D, KC_O, KC_T)) { + SEND_STRING("https://github.com/flinguenheld/dotfiles"); + } else if (leader_sequence_three_keys(KC_H, KC_U, KC_B)) { + SEND_STRING("https://github.com/flinguenheld/"); + } else if (leader_sequence_three_keys(KC_Q, KC_M, KC_K)) { + SEND_STRING("$HOME/qmk_firmware/keyboards/splitkb/aurora/sweep/keymaps/sweep_keymap"); + } else if (leader_sequence_three_keys(KC_Q, KC_M, KC_C)) { + SEND_STRING("qmk compile && qmk flash"); + + } else if (leader_sequence_three_keys(KC_T, KC_E, KC_S)) { + SEND_STRING("test01234"); + } else if (leader_sequence_three_keys(KC_A, KC_D, KC_M)) { + SEND_STRING("admin01234"); + + } else if (leader_sequence_one_key(KC_C)) { + SEND_STRING(" | xclip -r -selection clipboard"); + + /* Keyring requests, improbable combinaisons used by i3 */ + } else if (leader_sequence_three_keys(KC_G, KC_I, KC_T)) { + register_code(KC_LEFT_GUI); + register_code(KC_LEFT_SHIFT); + register_code(KC_LEFT_CTRL); + register_code(KC_0); + unregister_code(KC_0); + unregister_code(KC_LEFT_GUI); + unregister_code(KC_LEFT_SHIFT); + unregister_code(KC_LEFT_CTRL); + + } else if (leader_sequence_three_keys(KC_M, KC_A, KC_I)) { + register_code(KC_LEFT_GUI); + register_code(KC_LEFT_SHIFT); + register_code(KC_LEFT_CTRL); + register_code(KC_1); + unregister_code(KC_1); + unregister_code(KC_LEFT_GUI); + unregister_code(KC_LEFT_SHIFT); + unregister_code(KC_LEFT_CTRL); + + } else if (leader_sequence_three_keys(KC_P, KC_A, KC_S)) { + register_code(KC_LEFT_GUI); + register_code(KC_LEFT_SHIFT); + register_code(KC_LEFT_CTRL); + register_code(KC_2); + unregister_code(KC_2); + unregister_code(KC_LEFT_GUI); + unregister_code(KC_LEFT_SHIFT); + unregister_code(KC_LEFT_CTRL); + + /* ----- */ + } else if (leader_sequence_three_keys(KC_D, KC_E, KC_G)) { + tap_code16(US_DEG); // ° + } else if (leader_sequence_three_keys(KC_D, KC_I, KC_A)) { + tap_code16(US_OSTR); // ø + } else if (leader_sequence_three_keys(KC_S, KC_E, KC_C)) { + tap_code16(US_SECT); // § /* Copyright / Register */ - SEQ_THREE_KEYS(KC_C, KC_O, KC_P) { - send_unicode_string("©"); } - SEQ_THREE_KEYS(KC_R, KC_E, KC_G) { - send_unicode_string("®"); } - - /* Diameter */ - SEQ_THREE_KEYS(KC_D, KC_I, KC_A) { - send_unicode_string("ø"); } - SEQ_FOUR_KEYS(KC_D, KC_I, KC_A, KC_M) { - send_unicode_string("Ø"); } + } else if (leader_sequence_three_keys(KC_C, KC_O, KC_P)) { + tap_code16(US_COPY); // © + } else if (leader_sequence_three_keys(KC_R, KC_E, KC_G)) { + tap_code16(US_REGD); // ® /* Currency */ - SEQ_THREE_KEYS(KC_E, KC_U, KC_R) { - send_unicode_string("€"); } - SEQ_THREE_KEYS(KC_P, KC_O, KC_U) { - send_unicode_string("£"); } - SEQ_THREE_KEYS(KC_Y, KC_E, KC_N) { - send_unicode_string("¥"); } - SEQ_THREE_KEYS(KC_C, KC_E, KC_N) { - send_unicode_string("¢"); } + } else if (leader_sequence_three_keys(KC_E, KC_U, KC_R)) { + tap_code16(US_EURO); // € + } else if (leader_sequence_three_keys(KC_P, KC_O, KC_U)) { + tap_code16(US_PND); // £ + } else if (leader_sequence_three_keys(KC_Y, KC_E, KC_N)) { + tap_code16(US_YEN); // ¥ + } else if (leader_sequence_three_keys(KC_C, KC_E, KC_N)) { + tap_code16(US_CENT); // ¢ /* Fractions */ - SEQ_THREE_KEYS(KC_F, KC_C, KC_T) { - send_unicode_string("¼"); } - SEQ_THREE_KEYS(KC_F, KC_C, KC_G) { - send_unicode_string("½"); } - SEQ_THREE_KEYS(KC_F, KC_H, KC_T) { - send_unicode_string("¾"); } + } else if (leader_sequence_three_keys(KC_F, KC_C, KC_T)) { + tap_code16(US_QRTR); // ¼ + } else if (leader_sequence_three_keys(KC_F, KC_C, KC_G)) { + tap_code16(US_HALF); // ½ + } else if (leader_sequence_three_keys(KC_F, KC_H, KC_T)) { + tap_code16(US_TQTR); // ¾ /* Maths */ - SEQ_THREE_KEYS(KC_M, KC_U, KC_L) { - send_unicode_string("×"); } - SEQ_THREE_KEYS(KC_D, KC_I, KC_V) { - send_unicode_string("÷"); } - SEQ_TWO_KEYS(KC_P, KC_M) { - send_unicode_string("±"); } - SEQ_THREE_KEYS(KC_I, KC_N, KC_E) { - send_unicode_string("≠"); } - SEQ_THREE_KEYS(KC_A, KC_L, KC_M) { - send_unicode_string("≈"); } - SEQ_THREE_KEYS(KC_S, KC_Q, KC_U) { - send_unicode_string("√"); } - SEQ_THREE_KEYS(KC_I, KC_N, KC_F) { - send_unicode_string("∞"); } - SEQ_TWO_KEYS(KC_LABK, KC_LABK) { - send_unicode_string("≤"); } - SEQ_TWO_KEYS(KC_RABK, KC_RABK) { - send_unicode_string("≥"); } + } else if (leader_sequence_three_keys(KC_M, KC_U, KC_L)) { + tap_code16(US_MUL); // × + } else if (leader_sequence_three_keys(KC_D, KC_I, KC_V)) { + tap_code16(US_DIV); // ÷ + } else if (leader_sequence_two_keys(KC_P, KC_M)) { + send_unicode_string("±"); + } else if (leader_sequence_three_keys(KC_I, KC_N, KC_E)) { + send_unicode_string("≠"); + } else if (leader_sequence_three_keys(KC_A, KC_L, KC_M)) { + send_unicode_string("≈"); + } else if (leader_sequence_three_keys(KC_S, KC_Q, KC_U)) { + send_unicode_string("√"); + } else if (leader_sequence_three_keys(KC_I, KC_N, KC_F)) { + send_unicode_string("∞"); + } else if (leader_sequence_two_keys(KC_LABK, KC_LABK)) { + send_unicode_string("≤"); + } else if (leader_sequence_two_keys(KC_RABK, KC_RABK)) { + send_unicode_string("≥"); /* Greek */ - SEQ_TWO_KEYS(KC_P, KC_I) { - send_unicode_string("π"); } - SEQ_THREE_KEYS(KC_P, KC_I, KC_I) { - send_unicode_string("Π"); } - - SEQ_THREE_KEYS(KC_O, KC_M, KC_E) { - send_unicode_string("ω"); } - SEQ_FOUR_KEYS(KC_O, KC_M, KC_E, KC_G) { - send_unicode_string("Ω"); } + } else if (leader_sequence_three_keys(KC_B, KC_E, KC_T)) { + tap_code16(US_SS); // ß + } else if (leader_sequence_three_keys(KC_M, KC_I, KC_C)) { + tap_code16(US_MICR); // µ + } else if (leader_sequence_two_keys(KC_P, KC_I)) { + send_unicode_string("π"); + } else if (leader_sequence_three_keys(KC_P, KC_I, KC_I)) { + send_unicode_string("Π"); + + } else if (leader_sequence_three_keys(KC_O, KC_M, KC_E)) { + send_unicode_string("ω"); + } else if (leader_sequence_four_keys(KC_O, KC_M, KC_E, KC_G)) { + send_unicode_string("Ω"); /* Icons */ - SEQ_THREE_KEYS(KC_F, KC_L, KC_A) { - send_unicode_string("⚡"); } - SEQ_THREE_KEYS(KC_S, KC_T, KC_A) { - send_unicode_string("⭐"); } - SEQ_THREE_KEYS(KC_S, KC_P, KC_A) { - send_unicode_string("✨"); } - SEQ_THREE_KEYS(KC_P, KC_O, KC_P) { - send_unicode_string("🎉"); } - SEQ_THREE_KEYS(KC_R, KC_E, KC_C) { - send_unicode_string("♻️"); } - SEQ_THREE_KEYS(KC_L, KC_O, KC_V) { - send_unicode_string("❤️"); } - SEQ_THREE_KEYS(KC_F, KC_I, KC_R) { - send_unicode_string("🔥"); } - SEQ_THREE_KEYS(KC_B, KC_O, KC_M) { - send_unicode_string("💣"); } - SEQ_FOUR_KEYS(KC_B, KC_O, KC_U, KC_M) { - send_unicode_string("💥"); } - SEQ_THREE_KEYS(KC_R, KC_O, KC_C) { - send_unicode_string("🚀"); } - SEQ_THREE_KEYS(KC_T, KC_E, KC_L) { - send_unicode_string("🔭"); } - SEQ_THREE_KEYS(KC_M, KC_A, KC_G) { - send_unicode_string("🔎"); } - SEQ_THREE_KEYS(KC_W, KC_A, KC_R) { - send_unicode_string("⚠️"); } - - SEQ_THREE_KEYS(KC_B, KC_U, KC_L) { - send_unicode_string("💡"); } - SEQ_FOUR_KEYS(KC_I, KC_N, KC_F, KC_O) { - send_unicode_string("ℹ️"); } - SEQ_THREE_KEYS(KC_G, KC_E, KC_A) { - send_unicode_string("⚙️"); } - SEQ_THREE_KEYS(KC_L, KC_I, KC_N) { - send_unicode_string("🔗"); } - SEQ_THREE_KEYS(KC_P, KC_I, KC_N) { - send_unicode_string("📌"); } - SEQ_FOUR_KEYS(KC_F, KC_L, KC_A, KC_G) { - send_unicode_string("🚩"); } - SEQ_THREE_KEYS(KC_B, KC_A, KC_L) { - send_unicode_string("🎈"); } - SEQ_THREE_KEYS(KC_G, KC_I, KC_F) { - send_unicode_string("🎁"); } - - SEQ_THREE_KEYS(KC_P, KC_E, KC_N) { - send_unicode_string("✏️"); } - SEQ_THREE_KEYS(KC_K, KC_E, KC_Y) { - send_unicode_string("🔑"); } - SEQ_THREE_KEYS(KC_B, KC_O, KC_X) { - send_unicode_string("🧰"); } - - SEQ_TWO_KEYS(KC_O, KC_K) { - send_unicode_string("👌"); } - SEQ_THREE_KEYS(KC_O, KC_W, KC_D) { - send_unicode_string("⛔"); } - - SEQ_ONE_KEY(KC_V) { - send_unicode_string("✓"); } - SEQ_TWO_KEYS(KC_V, KC_B) { - send_unicode_string("☑"); } - SEQ_TWO_KEYS(KC_V, KC_G) { - send_unicode_string("✅"); } - - SEQ_ONE_KEY(KC_X) { - send_unicode_string("✗"); } - SEQ_TWO_KEYS(KC_X, KC_B) { - send_unicode_string("☒"); } - SEQ_TWO_KEYS(KC_X, KC_G) { - send_unicode_string("❎"); } - SEQ_TWO_KEYS(KC_X, KC_R) { - send_unicode_string("❌"); } - - SEQ_ONE_KEY(KC_QUESTION) { - send_unicode_string("❔"); } - SEQ_ONE_KEY(KC_EXCLAIM) { - send_unicode_string("❕"); } - SEQ_TWO_KEYS(KC_QUESTION, KC_QUESTION) { - send_unicode_string("❓"); } - SEQ_TWO_KEYS(KC_EXCLAIM, KC_EXCLAIM) { - send_unicode_string("❗"); } - - SEQ_THREE_KEYS(KC_C, KC_O, KC_F) { - send_unicode_string("☕"); } - SEQ_THREE_KEYS(KC_U, KC_M, KC_B) { - send_unicode_string("☔"); } - - SEQ_THREE_KEYS(KC_L, KC_O, KC_L) { - send_unicode_string("😀"); } - SEQ_THREE_KEYS(KC_M, KC_D, KC_R) { - send_unicode_string("🤣"); } - SEQ_THREE_KEYS(KC_K, KC_I, KC_S) { - send_unicode_string("😙"); } - SEQ_THREE_KEYS(KC_A, KC_N, KC_G) { - send_unicode_string("😇"); } - SEQ_THREE_KEYS(KC_G, KC_L, KC_A) { - send_unicode_string("😎"); } - SEQ_THREE_KEYS(KC_A, KC_N, KC_G) { - send_unicode_string("🤬"); } - SEQ_THREE_KEYS(KC_F, KC_E, KC_A) { - send_unicode_string("😱"); } - SEQ_THREE_KEYS(KC_N, KC_E, KC_U) { - send_unicode_string("😐"); } - SEQ_THREE_KEYS(KC_T, KC_H, KC_I) { - send_unicode_string("🤔"); } - SEQ_THREE_KEYS(KC_Z, KC_I, KC_P) { - send_unicode_string("🤐"); } - SEQ_THREE_KEYS(KC_S, KC_U, KC_R) { - send_unicode_string("😯"); } - SEQ_THREE_KEYS(KC_R, KC_O, KC_L) { - send_unicode_string("🙄"); } - SEQ_THREE_KEYS(KC_M, KC_O, KC_O) { - send_unicode_string("🌝"); } - SEQ_THREE_KEYS(KC_H, KC_U, KC_G) { - send_unicode_string("🫂"); } - - SEQ_THREE_KEYS(KC_H, KC_E, KC_N) { - send_unicode_string("🐔"); } - SEQ_THREE_KEYS(KC_R, KC_O, KC_O) { - send_unicode_string("🐓"); } - SEQ_THREE_KEYS(KC_D, KC_U, KC_C) { - send_unicode_string("🦆"); } - SEQ_THREE_KEYS(KC_P, KC_E, KC_A) { - send_unicode_string("🦚"); } - SEQ_THREE_KEYS(KC_B, KC_I, KC_R) { - send_unicode_string("🐦"); } + } else if (leader_sequence_three_keys(KC_L, KC_O, KC_V)) { + send_unicode_string("♥"); + } else if (leader_sequence_three_keys(KC_F, KC_L, KC_A)) { + send_unicode_string("⚡"); + } else if (leader_sequence_three_keys(KC_S, KC_T, KC_A)) { + send_unicode_string("✶"); + } else if (leader_sequence_three_keys(KC_B, KC_U, KC_L)) { + send_unicode_string("💡"); + } else if (leader_sequence_four_keys(KC_I, KC_N, KC_F, KC_O)) { + send_unicode_string("ℹ️"); + } else if (leader_sequence_three_keys(KC_G, KC_E, KC_A)) { + send_unicode_string("⚙️"); + + } else if (leader_sequence_one_key(KC_V)) { + send_unicode_string("✓"); + } else if (leader_sequence_two_keys(KC_V, KC_B)) { + send_unicode_string("✔"); + } else if (leader_sequence_two_keys(KC_V, KC_V)) { + send_unicode_string("✅"); + + } else if (leader_sequence_one_key(KC_X)) { + send_unicode_string("✗"); + } else if (leader_sequence_two_keys(KC_X, KC_B)) { + send_unicode_string("✘"); + + } else if (leader_sequence_one_key(KC_QUESTION)) { + send_unicode_string("❔"); + } else if (leader_sequence_one_key(KC_EXCLAIM)) { + send_unicode_string("❗"); + } else if (leader_sequence_two_keys(KC_QUESTION, KC_QUESTION)) { + send_unicode_string("❓"); + } else if (leader_sequence_two_keys(KC_EXCLAIM, KC_EXCLAIM)) { + send_unicode_string("❕"); /* Subscript / superscript */ - SEQ_THREE_KEYS(KC_U, KC_P, KC_F) { - send_unicode_string("⁰"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_F) { - send_unicode_string("₀"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_C) { - send_unicode_string("¹"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_C) { - send_unicode_string("₁"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_G) { - send_unicode_string("²"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_G) { - send_unicode_string("₂"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_H) { - send_unicode_string("³"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_H) { - send_unicode_string("₃"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_T) { - send_unicode_string("⁴"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_T) { - send_unicode_string("₄"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_S) { - send_unicode_string("⁵"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_S) { - send_unicode_string("₅"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_R) { - send_unicode_string("⁶"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_R) { - send_unicode_string("₆"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_P) { - send_unicode_string("⁷"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_P) { - send_unicode_string("₇"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_D) { - send_unicode_string("⁸"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_D) { - send_unicode_string("₈"); } - SEQ_THREE_KEYS(KC_U, KC_P, KC_L) { - send_unicode_string("⁹"); } - SEQ_THREE_KEYS(KC_D, KC_N, KC_L) { - send_unicode_string("₉"); } - + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_N)) { + send_unicode_string("⁰"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_N)) { + send_unicode_string("₀"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_C)) { + tap_code16(US_SUP1); // ¹ + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_C)) { + send_unicode_string("₁"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_G)) { + tap_code16(US_SUP2); // ² + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_G)) { + send_unicode_string("₂"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_H)) { + tap_code16(US_SUP3); // ³ + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_H)) { + send_unicode_string("₃"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_T)) { + send_unicode_string("⁴"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_T)) { + send_unicode_string("₄"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_S)) { + send_unicode_string("⁵"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_S)) { + send_unicode_string("₅"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_R)) { + send_unicode_string("⁶"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_R)) { + send_unicode_string("₆"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_P)) { + send_unicode_string("⁷"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_P)) { + send_unicode_string("₇"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_D)) { + send_unicode_string("⁸"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_D)) { + send_unicode_string("₈"); + } else if (leader_sequence_three_keys(KC_U, KC_P, KC_L)) { + send_unicode_string("⁹"); + } else if (leader_sequence_three_keys(KC_D, KC_N, KC_L)) { + send_unicode_string("₉"); }; } -- cgit v1.2.3