diff options
| -rw-r--r-- | keyboards/ergodox_infinity/keymaps/gordon/config.h | 31 | ||||
| -rw-r--r-- | keyboards/ergodox_infinity/keymaps/gordon/keymap.c | 497 | ||||
| -rw-r--r-- | keyboards/ergodox_infinity/keymaps/gordon/rules.mk | 2 | ||||
| -rw-r--r-- | users/gordon/gordon.c | 241 | ||||
| -rw-r--r-- | users/gordon/gordon.h | 192 | ||||
| -rw-r--r-- | users/gordon/rules.mk | 4 |
6 files changed, 656 insertions, 311 deletions
diff --git a/keyboards/ergodox_infinity/keymaps/gordon/config.h b/keyboards/ergodox_infinity/keymaps/gordon/config.h new file mode 100644 index 000000000..88d495b12 --- /dev/null +++ b/keyboards/ergodox_infinity/keymaps/gordon/config.h | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2018 Daniel Gordon <Dgordon8765@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #define PREVENT_STUCK_MODIFIERS | ||
| 19 | |||
| 20 | #undef IGNORE_MOD_TAP_INTERRUPT | ||
| 21 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 22 | |||
| 23 | #undef PERMISSIVE_HOLD | ||
| 24 | // #define PERMISSIVE_HOLD | ||
| 25 | |||
| 26 | #define ONESHOT_TAP_TOGGLE 2 | ||
| 27 | |||
| 28 | #undef TAPPING_TERM | ||
| 29 | #define TAPPING_TERM 200 | ||
| 30 | |||
| 31 | #define FORCE_NKRO | ||
diff --git a/keyboards/ergodox_infinity/keymaps/gordon/keymap.c b/keyboards/ergodox_infinity/keymaps/gordon/keymap.c index 7e3e51cdd..73dd3b325 100644 --- a/keyboards/ergodox_infinity/keymaps/gordon/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/gordon/keymap.c | |||
| @@ -10,16 +10,6 @@ | |||
| 10 | #include "keymap_nordic.h" | 10 | #include "keymap_nordic.h" |
| 11 | 11 | ||
| 12 | 12 | ||
| 13 | #define TLSLSH M(TIL_SLASH) | ||
| 14 | #define F1_F13 TD(F1F13) | ||
| 15 | #define F2_F14 TD(F2F14) | ||
| 16 | #define F5_F15 TD(F5F15) | ||
| 17 | #define F4_ALTF4 TD(ALTF4) | ||
| 18 | #define END_ESC TD(ENDESC) | ||
| 19 | #define SHF6_AF7 TD(F6F7) | ||
| 20 | #define F12_RUN TD(F12ETAPS) | ||
| 21 | #define COMMA_TD TD(COMMA) | ||
| 22 | |||
| 23 | enum custom_keycodes { | 13 | enum custom_keycodes { |
| 24 | PLACEHOLDER = SAFE_RANGE, // can always be here | 14 | PLACEHOLDER = SAFE_RANGE, // can always be here |
| 25 | EPRM, | 15 | EPRM, |
| @@ -27,129 +17,94 @@ enum custom_keycodes { | |||
| 27 | RGB_SLD, | 17 | RGB_SLD, |
| 28 | }; | 18 | }; |
| 29 | 19 | ||
| 30 | //Tap dance enums | ||
| 31 | enum { | ||
| 32 | F12TAP = 0, | ||
| 33 | F12ETAPS, | ||
| 34 | CALCCOMP, | ||
| 35 | REFRESH, //send R, or Control+R if double tapped. | ||
| 36 | ENDESC, | ||
| 37 | XESC, //'quad function'. x, control, escape, alt | ||
| 38 | ALY2, //'quad function': a, Hyper, ctrl+a, layer 2 | ||
| 39 | PRLOCK, | ||
| 40 | F6F7, // Shift F6 or Alt F7 | ||
| 41 | TABCOMBO, | ||
| 42 | FCTRL, | ||
| 43 | F3D, | ||
| 44 | ALTF4, | ||
| 45 | COMMA, | ||
| 46 | AT, | ||
| 47 | HTAB, | ||
| 48 | F1F13, | ||
| 49 | F2F14, | ||
| 50 | F5F15 | ||
| 51 | }; | ||
| 52 | |||
| 53 | |||
| 54 | 20 | ||
| 55 | // Custom tapping terms for each key. | 21 | // Custom tapping terms for each key. |
| 56 | // Requires changes to action_taping.c | 22 | // Requires changes to action_taping.c |
| 57 | /* uint16_t get_tapping_term(keyevent_t* event) { | 23 | // uint16_t get_tapping_term(keyevent_t* event) { |
| 58 | uint16_t keycode = keymap_key_to_keycode(layer_switch_get_layer(event->key), event->key); | 24 | // uint16_t keycode = keymap_key_to_keycode(layer_switch_get_layer(event->key), event->key); |
| 59 | if (keycode == LT(3,KC_E) ) { | 25 | // if (keycode == NAV_E ) { |
| 60 | return TAPPING_TERM + 50; | 26 | // return TAPPING_TERM + 50; |
| 61 | } | 27 | // } |
| 62 | return TAPPING_TERM; | 28 | // return TAPPING_TERM; |
| 63 | } */ | 29 | // } |
| 64 | 30 | ||
| 65 | 31 | ||
| 66 | // Tap Dance Definitions | 32 | // _XXXXXX_ is a symbol that means, "DO NOT ASSIGN THIS KEY TO ANTYING", because the key |
| 67 | qk_tap_dance_action_t tap_dance_actions[] = { | 33 | // underneath this layer is the key that sends you to/from this layer. |
| 68 | // simple tap dance | 34 | // Meaning, if you were to put something here - then you will be stuck in this layer. |
| 69 | [F12ETAPS] = ACTION_TAP_DANCE_DOUBLE(KC_F12,LSFT(LCTL(KC_F10))), | 35 | // It is simply a visual reminder not to use that key for this layer. |
| 70 | [REFRESH] = ACTION_TAP_DANCE_DOUBLE(KC_R,LCTL(KC_R)), | 36 | // Example: On the numpad layer, under the letter `D` is `_XXXXXXX_`, because pressing and holding |
| 71 | [ENDESC] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_ESC), | 37 | // `D` sends you to the numpad layer |
| 72 | [CALCCOMP] = ACTION_TAP_DANCE_DOUBLE(KC_CALCULATOR, KC_MY_COMPUTER), | ||
| 73 | [ALTF4] = ACTION_TAP_DANCE_DOUBLE(KC_F4,LALT(KC_F4)), | ||
| 74 | [F6F7] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_F6), LALT(KC_F7)), | ||
| 75 | [F1F13] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F13), | ||
| 76 | [F2F14] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F14), | ||
| 77 | [F5F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15), | ||
| 78 | [TABCOMBO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tab_finished, tab_reset), | ||
| 79 | [F3D] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, bt_finished, bt_reset), | ||
| 80 | [COMMA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, comma_finished, comma_reset), | ||
| 81 | [HTAB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,h_finished, h_reset) | ||
| 82 | }; | ||
| 83 | 38 | ||
| 84 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 39 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 85 | 40 | ||
| 86 | 41 | ||
| 87 | //**************************FIRST LAYER - LAYER ZERO ************************************** | 42 | //**************************FIRST LAYER - LAYER ZERO ************************************** |
| 88 | [_QWERTY] = KEYMAP( | 43 | [_QWERTY] = KEYMAP( |
| 89 | 44 | ||
| 90 | SHF6_AF7, F1_F13, F2_F14, TD(F3D), F4_ALTF4, F5_F15, KC_F11, | 45 | SHF6_AF7, F1_F13 , F2_F14, TD(F3D), F4_ALTF4, F5_F15, KC_F11, |
| 91 | ________, KC_Q, CTR_SH_W, NAV_E, CTR_AL_R, KC_T, PRINTSCR, | 46 | SPRK_TCK , Q_ESC , CTR_SH_W, NAV_E, ALT_SH_R, KC_T, PRINTSCR, |
| 92 | KC_TAB, KC_A, MEH_S, NUMPAD_D, CTRL_F, WIN_G, | 47 | KC_TAB , KC_A , MEH_S, NUMPAD_D, CTRL_F, WIN_G, |
| 93 | ALT_SHFT, CTRL_Z, HYPER_X, MOUSE_C, ALT_V, KC_B, TT(_MOUSE), | 48 | OSL(_ONESHOT), CTRL_Z , HYPER_X, MOUSE_C, ALT_V, KC_B, OSL(_MOUSE), |
| 94 | KC_MINUS, KC_GRAVE, KC_DELETE, KC_LEFT, KC_RIGHT, | 49 | KC_MINUS, KC_GRAVE, KC_DELETE, KC_LEFT, KC_RIGHT, |
| 95 | 50 | ||
| 96 | KC_INSERT, KC_DELETE, | 51 | LSFT(KC_INSERT), TT(_QWERTY_KIDS), |
| 97 | ALT_HOME, | 52 | ________ , |
| 98 | KC_LSHIFT, SYMB_BSP, END_ESC, | 53 | KC_LSHIFT, SYMB_BSP, KC_INSERT , |
| 99 | 54 | ||
| 100 | F12_RUN, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, TD(CALCCOMP), | 55 | F12_RUN, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, TD(CALCCOMP), |
| 101 | ________, KC_Y, KC_U, KC_I, KC_O, KC_P, ________, | 56 | CALTDEL , KC_Y, KC_U, KC_I, KC_O, KC_P, MODRESET, |
| 102 | WIN_H, CTRL_J, KC_K, MEH_L, COL_MOUS, ________, | 57 | WIN_H, CTRL_J, APP_SW_K, MEH_L, COL_MOUS, END_HOME, |
| 103 | KC_LEAD, KC_N, ALT_M, COMMA_TD, HYPE_DOT, KC_SLASH, TD(TABCOMBO), | 58 | OSL(_ONESHOT), KC_N, ALT_M, COMMA_TD, HYPE_DOT, KC_SLASH, ID_MAN_IP, |
| 104 | KC_UP, KC_DOWN, KC_ESC, KC_TILD, KC_UNDS, | 59 | KC_UP, KC_DOWN,KC_DELETE, KC_TILD, KC_UNDS, |
| 105 | 60 | ||
| 106 | KC_ESCAPE, KC_DELETE, | 61 | TT(_STREET_FIGHTER), ________, |
| 107 | ALT_T(KC_PGUP), | 62 | KC_PGUP, |
| 108 | RCTL_T(KC_PGDOWN), LT(_NAV,KC_ENTER), SPAC_SYM), | 63 | KC_PGDOWN, LT(_NAV,KC_ENTER), SPAC_TXT), |
| 109 | 64 | ||
| 110 | 65 | ||
| 111 | //**************************SYMBOLS LAYER************************** | 66 | //**************************SYMBOLS LAYER************************** |
| 112 | [_SYMBOLS] = KEYMAP( | 67 | [_SYMBOLS] = KEYMAP( |
| 113 | ________, ________, ________, ________, ________, ________, ________, | 68 | ________, ________, ________, ________, ________, ________, ________, |
| 114 | ________, TLSLSH, KC_AT, KC_LCBR, KC_RCBR, KC_CIRC, ________, | 69 | ________, DEREF , KC_AT, KC_LCBR, KC_RCBR, KC_CIRC, ________, |
| 115 | ________, KC_EXLM, KC_PIPE, KC_LPRN, KC_RPRN, M(DEREF), | 70 | ________, KC_EXLM, KC_HASH, KC_LPRN, KC_RPRN, ________, |
| 116 | ________,KC_DOLLAR, KC_PERC, LSQUIGLY, RSQUIGLY, ________, ________, | 71 | ________,KC_DOLLAR, KC_PERC, LSQUIGLY, RSQUIGLY, ________, ________, |
| 117 | ________, M(TICK3), ________, ________, ________, | 72 | ________,TICK3 , ________, ________, ________, |
| 118 | 73 | ||
| 119 | ________,________, | 74 | ________,________, |
| 120 | ________, | 75 | ________, |
| 121 | ________,________,________, | 76 | ________,_XXXXXX_,________, |
| 122 | 77 | ||
| 123 | 78 | ||
| 124 | ________, ________, ________, ________, ________, ________, NUMLOCK, | 79 | ________, ________, ________, ________, ________, ________, NUMLOCK, |
| 125 | ________, TLSLSH, KC_PIPE, KC_PLUS, KC_AMPR, ________, CAPLOCK, | 80 | ________,TIL_SLASH, KC_PIPE, KC_PLUS, KC_AMPR, ________, CAPLOCK, |
| 126 | M(EQRIGHT), KC_DQUO, KC_EQUAL, KC_QUOTE,KC_SCOLON, ________, | 81 | EQRIGHT, KC_DQUO, KC_EQUAL, KC_QUOTE,KC_SCOLON, ________, |
| 127 | ________, KC_PIPE, BK_SLASH, ASTERSK, KC_DOT, KC_SLASH, ________, | 82 | ________, KC_M, BK_SLASH, ASTERSK, KC_DOT, KC_SLASH, ________, |
| 128 | ________,________,________,M(TILD3),________, | 83 | ________,________ ,________,TILD3,________, |
| 129 | ________,________, | 84 | ________,________, |
| 130 | ________, | 85 | ________, |
| 131 | ________,________,________), | 86 | ________,________,_XXXXXX_), |
| 132 | 87 | ||
| 133 | //**************************MOUSE MOVEMENT LAYER************************** | 88 | //**************************MOUSE MOVEMENT LAYER************************** |
| 134 | [_MOUSE] = KEYMAP(RESET,________,________,________,________,________,________, | 89 | [_MOUSE] = KEYMAP(UP_ENTER_RESET,________,________,________,________,________,MODRESET, |
| 135 | RESET,________,________,KC_MS_UP,________,KC_MS_WH_UP,CALTDEL, | 90 | RESET,KC_SECRET_5,________,KC_MS_UP,KC_SECRET_4,KC_MS_WH_UP,________, |
| 136 | ________,________,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_MS_WH_DOWN, | 91 | ________,________,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_MS_WH_DOWN, |
| 137 | KC_SECRET_1,________,HYPR(KC_F13),________,HYPR(KC_F14),KC_SECRET_2,________, | 92 | KC_SECRET_5,KC_SECRET_4,KC_SECRET_3,_XXXXXX_,KC_SECRET_2,KC_SECRET_1,_XXXXXX_, |
| 138 | ________,________,HYPR(KC_F15),KC_MS_WH_LEFT,KC_MS_WH_RIGHT, | 93 | ________,________,HYPR(KC_F15),KC_MS_WH_LEFT,KC_MS_WH_RIGHT, |
| 139 | 94 | ||
| 140 | ________,________, | 95 | ________,________, |
| 141 | ________, | 96 | ________, |
| 142 | KC_MS_BTN1,KC_MS_BTN2,________, | 97 | KC_MS_BTN1,KC_MS_BTN2,________, |
| 143 | 98 | ||
| 144 | 99 | ||
| 145 | ________,________,________,________,________,________,________, | 100 | ________,________,________,________,________,________,________, |
| 146 | KC_MS_WH_UP,________,________,KC_UP,________,________,________, | 101 | ________,________,________,KC_UP,________,KC_MEDIA_PLAY_PAUSE,________, |
| 147 | ________,KC_LEFT,KC_DOWN,KC_RIGHT,________,________, | 102 | ________,KC_LEFT,KC_DOWN,KC_RIGHT,_XXXXXX_,________, |
| 148 | KC_MS_WH_DOWN,________,KC_PGUP,KC_PGDOWN,KC_MEDIA_NEXT_TRACK,________,________, | 103 | ________,KC_MEDIA_NEXT_TRACK,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_MUTE,________,________, |
| 149 | KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_MEDIA_PLAY_PAUSE,________, | 104 | KC_MS_WH_UP,KC_MS_WH_DOWN,________,________,________, |
| 150 | ________,________, | 105 | ________,________, |
| 151 | ________, | 106 | ________, |
| 152 | ________,________,KC_WWW_BACK), | 107 | ________,KC_WWW_BACK,KC_WWW_FORWARD), |
| 153 | 108 | ||
| 154 | 109 | ||
| 155 | 110 | ||
| @@ -157,23 +112,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 157 | //**************************WINDOWS NAVIGATION LAYER************************** | 112 | //**************************WINDOWS NAVIGATION LAYER************************** |
| 158 | 113 | ||
| 159 | [_NAV] = KEYMAP(________,________,________,________,________,________,________, | 114 | [_NAV] = KEYMAP(________,________,________,________,________,________,________, |
| 160 | ________,________,SNAPLEFT,________,SNAPRGHT,LALT(KC_LEFT),________, | 115 | ________,________,SNAPLEFT,_XXXXXX_,SNAPRGHT,________,________, |
| 161 | ________,LCTL(KC_W),PREVTAB,LGUI(KC_D),NEXTTAB,________, | 116 | ________,KC_WWW_BACK,PREVTAB,________,NEXTTAB,SNAPUP, |
| 162 | ________,________,WORKLEFT,________,WORKRIGHT,________,________, | 117 | ________,________,WORKLEFT,________,WORKRIGHT,SNAPDOWN,________, |
| 163 | ________,________,________,________,________, | 118 | ________,________,________,________,________, |
| 164 | 119 | ||
| 165 | ________,________, | 120 | ________,________, |
| 166 | ________, | 121 | ________, |
| 167 | ________,________,________, | 122 | ________,________,________, |
| 168 | 123 | ||
| 169 | 124 | ||
| 170 | ________,________,________,________,________,________,________, | 125 | ________,________,________,________,________,________,________, |
| 171 | ________,________,SNAPUP ,KC_UP ,SNAPDOWN,________,________, | 126 | ________,________,SNAPUP ,KC_UP ,SNAPDOWN,________,________, |
| 172 | ________,KC_LEFT ,KC_DOWN ,KC_RIGHT,________,________, | 127 | ________,KC_LEFT ,KC_DOWN ,KC_RIGHT,________,________, |
| 173 | ________,________,________,________,________,________,________, | 128 | ________,________,________,________,________,________,________, |
| 174 | ________,________,________,________,________, | 129 | ________,________,________,________,________, |
| 175 | 130 | ||
| 176 | 131 | ||
| 177 | ________,________, | 132 | ________,________, |
| 178 | ________, | 133 | ________, |
| 179 | ________,________,________), | 134 | ________,________,________), |
| @@ -181,95 +136,207 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 181 | //****************************NUMPAD LAYER**************************** | 136 | //****************************NUMPAD LAYER**************************** |
| 182 | [_NUMPAD] = KEYMAP(________,________,________,________,________,________,________, | 137 | [_NUMPAD] = KEYMAP(________,________,________,________,________,________,________, |
| 183 | ________,________,________,________,________,________,________, | 138 | ________,________,________,________,________,________,________, |
| 184 | ________,________,________,________,________,________, | 139 | ________,KC_DOT ,KC_SPACE,_XXXXXX_, KC_ESC ,________, |
| 185 | ________,________,________,________,________,________,________, | 140 | ________,DBMS_OUT,________,________,________,________,________, |
| 186 | ________,________,________,________,________, | 141 | ________,________,________,________,________, |
| 187 | 142 | ||
| 188 | ________,________, | 143 | ________,________, |
| 189 | ________, | 144 | ________, |
| 190 | ________,________,________, | 145 | KC_PLUS,KC_MINUS,________, |
| 191 | 146 | ||
| 192 | BL_TOGG ,BL_STEP ,________,________,________,________,________, | 147 | BL_TOGG ,BL_STEP ,________,________,________,________,________, |
| 193 | ________,________,KC_7 ,KC_8 ,KC_9 ,________,________, | 148 | ________,________,KC_7 ,KC_8 ,KC_9 ,________,________, |
| 194 | ________,KC_4 ,KC_5 ,KC_6 ,________,________, | 149 | ________,KC_4 ,KC_5 ,KC_6 ,________,________, |
| 195 | ________,________,KC_1 ,KC_2 ,KC_3 ,________,________, | 150 | ________,KC_DOT, KC_1 ,KC_2 ,KC_3 ,________,________, |
| 196 | KC_0 ,KC_0 , KC_DOT ,________,________, | 151 | KC_0 ,KC_DOT , KC_DOT ,________,________, |
| 197 | 152 | ||
| 198 | ________,________, | 153 | ________,________, |
| 199 | ________, | 154 | ________, |
| 200 | ________,________,KC_0), | 155 | ________,________,KC_0), |
| 156 | |||
| 157 | //****************************APP SWITCH LAYER**************************** | ||
| 158 | [_APPSWITCH] = KEYMAP(________,________,________,________,________,________,________, | ||
| 159 | ________,________ , ________ , ________ ,________ ,________,________, | ||
| 160 | ________,APP_5,APP_6,APP_7,APP_8,________, | ||
| 161 | ________,DBMS_OUT,________,________,________,________,________, | ||
| 162 | ________,________,________,________,________, | ||
| 163 | |||
| 164 | ________,________, | ||
| 165 | ________, | ||
| 166 | KC_PLUS,________,________, | ||
| 167 | |||
| 168 | ________,________,________,________,________,________,________, | ||
| 169 | ________,________,APP_3 ,________,APP_4 ,________,________, | ||
| 170 | ________,APP_1 ,_XXXXXX_,APP_2 ,________,________, | ||
| 171 | ________,________,________,________,________,________,________, | ||
| 172 | ________,________,________,________,________, | ||
| 173 | |||
| 174 | ________,________, | ||
| 175 | ________, | ||
| 176 | ________,________,________), | ||
| 177 | |||
| 178 | |||
| 179 | [_ONESHOT] = KEYMAP( UP_ENTER_RESET , ________, ________, ________, ________, ________, ________, | ||
| 180 | ________, ________, ________, KC_UP , ________, ________, ________, | ||
| 181 | ________, ________, KC_LEFT , KC_DOWN , KC_RIGHT, ________, | ||
| 182 | MAGIC_TOGGLE_NKRO, ________, ________, ________, ________, ________, ________, | ||
| 183 | ________, ________, ________, ________, ________, | ||
| 184 | |||
| 185 | ________, ________, | ||
| 186 | ________, | ||
| 187 | ________, ________, ________, | ||
| 188 | |||
| 189 | ________, ________, ________, ________, ________, ________, ________, | ||
| 190 | ________, ________, KC_7, KC_8, KC_9, KC_PLUS, ________, | ||
| 191 | ________, KC_4, KC_5, KC_6, KC_EQUAL, ________, | ||
| 192 | ________, ________, KC_1, KC_2, KC_3, KC_ASTR, ________, | ||
| 193 | ________, ________, KC_0, ________, ________, | ||
| 194 | |||
| 195 | ________, ________, | ||
| 196 | ________, | ||
| 197 | ________, ________, ________), | ||
| 201 | //****************************TEXT/INTELLIJ NAVIGATION LAYER**************************** | 198 | //****************************TEXT/INTELLIJ NAVIGATION LAYER**************************** |
| 202 | [_TEXTNAV] = KEYMAP(________,________,________,________,________,________,________, | 199 | [_TEXTNAV] = KEYMAP(________,________,________,________,________,________,________, |
| 203 | ________,MEH(KC_Q),LSFT(KC_ESCAPE),MEH(KC_D),MEH(KC_2),LALT(LSFT(KC_UP)),________, | 200 | ________,MEH(KC_Q),LSFT(KC_ESCAPE),MEH(KC_D),MEH(KC_2),LALT(LSFT(KC_UP)),________, |
| 204 | ________,LALT(KC_F7),LCTL(KC_LEFT),LCTL(KC_B),LCTL(KC_RIGHT),LALT(LSFT(KC_DOWN)), | 201 | ________,________,LCTL(KC_LEFT),LCTL(KC_B),LCTL(KC_RIGHT),LALT(LSFT(KC_DOWN)), |
| 205 | ________,________,________,LCTL(LSFT(KC_COMMA)),MEH(KC_DOT),LALT(KC_MS_WH_UP),________,________,________,________,________,________,________,________,________,________,LCTL(KC_DELETE),________,LALT(LSFT(KC_F9)),________,________,________,________,________,________,________,MEH(KC_5),LALT(LSFT(KC_Z)),________,LALT(KC_Z),________,________,________,LCTL(LSFT(KC_LEFT)),LALT(LCTL(KC_S)),LCTL(LSFT(KC_RIGHT)),LCTL(LSFT(KC_COMMA)),________,________,________,________,________,________,________,________,________,________,________,________,________,________,________,________,________,________,________) | 202 | ________,________,________,LCTL(LSFT(KC_COMMA)),MEH(KC_DOT),LALT(KC_MS_WH_UP),________, |
| 203 | ________,________,________,________,________, | ||
| 204 | |||
| 205 | ________,________,________,________,________,________, | ||
| 206 | |||
| 207 | LALT(LSFT(KC_F9)),________,________,________,________,________,________,________,MEH(KC_5),LALT(LSFT(KC_Z)), | ||
| 208 | ________,LALT(KC_Z),________,________,________,LCTL(LSFT(KC_LEFT)),LALT(LCTL(KC_S)),LCTL(LSFT(KC_RIGHT)), | ||
| 209 | LCTL(LSFT(KC_COMMA)),________,________,________,________,________,________,________,________,________, | ||
| 210 | ________,________,________,________,________,________,________,________,________,_XXXXXX_), | ||
| 211 | [_QWERTY_KIDS] = KEYMAP( | ||
| 212 | |||
| 213 | KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , | ||
| 214 | KC_NO , KC_Q , KC_W, KC_E, KC_R, KC_T, KC_NO , | ||
| 215 | KC_NO , KC_A , KC_S, KC_D, KC_F, KC_G , | ||
| 216 | KC_NO , KC_Z , KC_X, KC_C, KC_V, KC_B, KC_NO , | ||
| 217 | KC_MINUS, KC_GRAVE, KC_DELETE, KC_LEFT, KC_RIGHT, | ||
| 218 | |||
| 219 | KC_NO , TT(_QWERTY_KIDS) , | ||
| 220 | KC_NO , | ||
| 221 | KC_LSHIFT, KC_BSPACE, KC_NO , | ||
| 222 | |||
| 223 | KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , | ||
| 224 | KC_NO , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO , | ||
| 225 | KC_H, KC_J, KC_K, KC_L, KC_SCOLON , KC_NO, | ||
| 226 | KC_NO , KC_N, KC_M, KC_COMMA , KC_DOT , KC_SLASH, KC_NO , | ||
| 227 | KC_UP, KC_DOWN, KC_DELETE, KC_TILD, KC_UNDS, | ||
| 228 | |||
| 229 | KC_NO , KC_NO , | ||
| 230 | KC_NO, | ||
| 231 | KC_NO, KC_ENTER, KC_SPACE), | ||
| 232 | |||
| 233 | [_STREET_FIGHTER] = KEYMAP( | ||
| 234 | |||
| 235 | KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , | ||
| 236 | KC_NO , KC_NO , DIE_1000X_LEFT, KC_UP, DIE_1000X_RIGHT, KC_NO, KC_NO , | ||
| 237 | KC_NO , KC_NO , KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO , | ||
| 238 | KC_NO , KC_NO , KC_NO, KC_NO, KC_NO, KC_NO, KC_NO , | ||
| 239 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 240 | |||
| 241 | ________ , ________ , | ||
| 242 | ________ , | ||
| 243 | ________, ________, ________ , | ||
| 244 | |||
| 245 | KC_NO, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , | ||
| 246 | KC_NO , KC_NO, KC_G, KC_H, KC_J, KC_NO, KC_NO , | ||
| 247 | KC_NO, KC_B, KC_N, KC_M, KC_K , KC_NO, | ||
| 248 | KC_NO , KC_NO, KC_NO, KC_NO , KC_NO , KC_NO, KC_NO , | ||
| 249 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 250 | |||
| 251 | TT(_STREET_FIGHTER) , ________ , | ||
| 252 | ________, | ||
| 253 | ________, ________, ________), | ||
| 254 | |||
| 255 | |||
| 256 | //************************Windows navigation to directories************************* | ||
| 257 | [_DIRNAV] = KEYMAP( | ||
| 258 | ________,________,________,________,________,________,________, | ||
| 259 | ________,________,________,________,________,________,________, | ||
| 260 | ________,________,KC_A,________,________,________, | ||
| 261 | ________,________,________,________,________,________,________, | ||
| 262 | ________,________,________,________,________, | ||
| 263 | |||
| 264 | ________,________, | ||
| 265 | ________, | ||
| 266 | ________,________,________, | ||
| 267 | |||
| 268 | |||
| 269 | ________,________,________,________,________,________,________, | ||
| 270 | ________,________,________,________,________,________,________, | ||
| 271 | ________,________,_______,________,________,________, | ||
| 272 | ________,________,________,________,________,________,________, | ||
| 273 | ________,________,________,________,________, | ||
| 274 | |||
| 275 | |||
| 276 | ________,________, | ||
| 277 | ________, | ||
| 278 | ________,________,________), | ||
| 279 | |||
| 280 | |||
| 281 | [_TEXT_MACROS] = KEYMAP( | ||
| 282 | ________,________,________,________,________,________,________, | ||
| 283 | ________,________,________,________,________,________,________, | ||
| 284 | ________,________,KC_A,________,________,________, | ||
| 285 | ________,________,________,________,________,________,________, | ||
| 286 | ________,________,________,________,________, | ||
| 287 | |||
| 288 | ________,________, | ||
| 289 | ________, | ||
| 290 | ________,________,________, | ||
| 291 | |||
| 292 | |||
| 293 | ________,________,________,________,________,________,________, | ||
| 294 | ________,________,________,________,________,________,________, | ||
| 295 | ________,________,_______,________,________,________, | ||
| 296 | ________,________,________,________,________,________,________, | ||
| 297 | ________,________,________,________,________, | ||
| 298 | |||
| 299 | |||
| 300 | ________,________, | ||
| 301 | ________, | ||
| 302 | ________,________,________) | ||
| 303 | |||
| 304 | |||
| 305 | /* FOR FORMATTING FUTURE LAYERS | ||
| 306 | NO KEY CODES SHOULD BE MORE THAN 8 CHARACTERS | ||
| 307 | GOES LEFT HAND THEN RIGHT HAND | ||
| 308 | [_DIRNAV] = KEYMAP( | ||
| 309 | ________,________,________,________,________,________,________, | ||
| 310 | ________,________,________,________,________,________,________, | ||
| 311 | ________,________,________,________,________,________, | ||
| 312 | ________,________,________,________,________,________,________, | ||
| 313 | ________,________,________,________,________, | ||
| 314 | |||
| 315 | ________,________, | ||
| 316 | ________, | ||
| 317 | ________,________,________, | ||
| 318 | |||
| 319 | |||
| 320 | ________,________,________,________,________,________,________, | ||
| 321 | ________,________,________,________,________,________,________, | ||
| 322 | ________,________,________,________,________,________, | ||
| 323 | ________,________,________,________,________,________,________, | ||
| 324 | ________,________,________,________,________, | ||
| 325 | |||
| 326 | |||
| 327 | ________,________, | ||
| 328 | ________, | ||
| 329 | ________,________,________), */ | ||
| 330 | |||
| 331 | |||
| 332 | |||
| 333 | |||
| 206 | }; | 334 | }; |
| 207 | 335 | ||
| 208 | const uint16_t PROGMEM fn_actions[] = { | 336 | const uint16_t PROGMEM fn_actions[] = { |
| 209 | [1] = ACTION_LAYER_TAP_TOGGLE(1) | 337 | [1] = ACTION_LAYER_TAP_TOGGLE(1) |
| 210 | }; | 338 | }; |
| 211 | 339 | ||
| 212 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
| 213 | { | ||
| 214 | switch(id) { | ||
| 215 | case INFOQM: { | ||
| 216 | if (record->event.pressed) { | ||
| 217 | SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 218 | } | ||
| 219 | break; | ||
| 220 | } | ||
| 221 | |||
| 222 | case TIL_SLASH: { | ||
| 223 | if (record->event.pressed) { | ||
| 224 | SEND_STRING ("~/."); | ||
| 225 | } | ||
| 226 | break; | ||
| 227 | } | ||
| 228 | |||
| 229 | case DEREF: { | ||
| 230 | if (record->event.pressed) { | ||
| 231 | SEND_STRING ("->"); | ||
| 232 | } | ||
| 233 | break; | ||
| 234 | } | ||
| 235 | |||
| 236 | case EQRIGHT: { | ||
| 237 | if (record->event.pressed) { | ||
| 238 | SEND_STRING ("=>"); | ||
| 239 | } | ||
| 240 | break; | ||
| 241 | } | ||
| 242 | |||
| 243 | case TICK3: { | ||
| 244 | if (record->event.pressed) { | ||
| 245 | SEND_STRING ("```"); | ||
| 246 | } | ||
| 247 | break; | ||
| 248 | } | ||
| 249 | |||
| 250 | case TILD3: { | ||
| 251 | if (record->event.pressed) { | ||
| 252 | SEND_STRING ("~~~"); | ||
| 253 | } | ||
| 254 | break; | ||
| 255 | } | ||
| 256 | |||
| 257 | case ALTTAB_START: { | ||
| 258 | register_code(KC_LALT); | ||
| 259 | layer_on(8); | ||
| 260 | } | ||
| 261 | |||
| 262 | case ALTTAB_END: { | ||
| 263 | unregister_code(KC_LALT); | ||
| 264 | layer_off(8); | ||
| 265 | } | ||
| 266 | |||
| 267 | |||
| 268 | |||
| 269 | } | ||
| 270 | return MACRO_NONE; | ||
| 271 | }; | ||
| 272 | |||
| 273 | void matrix_scan_user(void) { | 340 | void matrix_scan_user(void) { |
| 274 | 341 | ||
| 275 | uint8_t layer = biton32(layer_state); | 342 | uint8_t layer = biton32(layer_state); |
| @@ -281,35 +348,51 @@ void matrix_scan_user(void) { | |||
| 281 | ergodox_right_led_1_off(); | 348 | ergodox_right_led_1_off(); |
| 282 | ergodox_right_led_2_off(); | 349 | ergodox_right_led_2_off(); |
| 283 | ergodox_right_led_3_off(); | 350 | ergodox_right_led_3_off(); |
| 284 | switch (layer) { | 351 | // _delay_ms(45); |
| 285 | case _SYMBOLS: | 352 | |
| 286 | ergodox_right_led_1_on(); | 353 | switch (layer) |
| 287 | break; | 354 | { |
| 288 | case _MOUSE: | 355 | case _SYMBOLS: |
| 289 | ergodox_right_led_2_on(); | 356 | ergodox_right_led_1_on(); |
| 290 | break; | 357 | break; |
| 291 | case _NUMPAD: | 358 | case _MOUSE: |
| 292 | ergodox_right_led_3_on(); | 359 | ergodox_right_led_2_on(); |
| 293 | break; | 360 | break; |
| 294 | case _NAV: | 361 | case _NUMPAD: |
| 295 | ergodox_right_led_1_on(); | 362 | ergodox_right_led_3_on(); |
| 296 | ergodox_right_led_2_on(); | 363 | break; |
| 297 | break; | 364 | case _NAV: |
| 298 | case 5: | 365 | ergodox_right_led_1_on(); |
| 299 | ergodox_right_led_1_on(); | 366 | ergodox_right_led_2_on(); |
| 300 | ergodox_right_led_3_on(); | 367 | break; |
| 301 | break; | 368 | case _MACROS: |
| 302 | case 6: | 369 | //layer unused right now |
| 303 | ergodox_right_led_2_on(); | 370 | break; |
| 304 | ergodox_right_led_3_on(); | 371 | case _FUNCTION: |
| 305 | break; | 372 | //layer unused right nowex |
| 306 | case 7: | 373 | break; |
| 307 | ergodox_right_led_1_on(); | 374 | case _APPSWITCH: |
| 308 | ergodox_right_led_2_on(); | 375 | ergodox_right_led_2_on(); |
| 309 | ergodox_right_led_3_on(); | 376 | ergodox_right_led_3_on(); |
| 310 | break; | 377 | break; |
| 311 | default: | 378 | case _ONESHOT: |
| 312 | break; | 379 | ergodox_right_led_1_on(); |
| 380 | ergodox_right_led_2_on(); | ||
| 381 | ergodox_right_led_3_on(); | ||
| 382 | break; | ||
| 383 | case _TEXTNAV: | ||
| 384 | ergodox_right_led_1_on(); | ||
| 385 | ergodox_right_led_3_on(); | ||
| 386 | break; | ||
| 387 | case _QWERTY_KIDS: | ||
| 388 | ergodox_right_led_1_on(); | ||
| 389 | ergodox_right_led_2_on(); | ||
| 390 | ergodox_right_led_3_on(); | ||
| 391 | break; | ||
| 392 | case _STREET_FIGHTER: | ||
| 393 | ergodox_right_led_2_on(); | ||
| 394 | ergodox_right_led_3_on(); | ||
| 395 | default: | ||
| 396 | break; | ||
| 313 | } | 397 | } |
| 314 | |||
| 315 | }; | 398 | }; |
diff --git a/keyboards/ergodox_infinity/keymaps/gordon/rules.mk b/keyboards/ergodox_infinity/keymaps/gordon/rules.mk new file mode 100644 index 000000000..9a56408f8 --- /dev/null +++ b/keyboards/ergodox_infinity/keymaps/gordon/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | TAP_DANCE_ENABLE = yes | ||
| 2 | |||
diff --git a/users/gordon/gordon.c b/users/gordon/gordon.c index 056012a21..3115e1c32 100644 --- a/users/gordon/gordon.c +++ b/users/gordon/gordon.c | |||
| @@ -15,20 +15,17 @@ const char secret[][64] = { | |||
| 15 | }; | 15 | }; |
| 16 | #endif | 16 | #endif |
| 17 | 17 | ||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | void register_hyper (void) { //Helper function to invoke Hyper | 18 | void register_hyper (void) { //Helper function to invoke Hyper |
| 22 | register_code (KC_LSFT); | 19 | register_code (KC_LSFT); |
| 23 | register_code (KC_LCTL); | 20 | register_code (KC_LCTL); |
| 24 | register_code (KC_LALT); | 21 | register_code (KC_LALT); |
| 25 | register_code (KC_LGUI); | 22 | register_code (KC_LGUI); |
| 26 | } | 23 | } |
| 27 | void unregister_hyper (void) { //Helper function to invoke Hyper | 24 | void unregister_hyper (void) { //Helper function to invoke Hyper |
| 28 | unregister_code (KC_LSFT); | 25 | unregister_code (KC_LSFT); |
| 29 | unregister_code (KC_LCTL); | 26 | unregister_code (KC_LCTL); |
| 30 | unregister_code (KC_LALT); | 27 | unregister_code (KC_LALT); |
| 31 | unregister_code (KC_LGUI); | 28 | unregister_code (KC_LGUI); |
| 32 | } | 29 | } |
| 33 | 30 | ||
| 34 | void register_ctrl_a (void) { | 31 | void register_ctrl_a (void) { |
| @@ -41,55 +38,55 @@ void unregister_ctrl_a (void) { | |||
| 41 | unregister_code(KC_A); | 38 | unregister_code(KC_A); |
| 42 | } | 39 | } |
| 43 | 40 | ||
| 44 | void register_alt_f7 (void) { | 41 | void register_alt_f7 (void) { |
| 45 | register_code (KC_LALT); | 42 | register_code (KC_LALT); |
| 46 | register_code (KC_F7); | 43 | register_code (KC_F7); |
| 47 | } | 44 | } |
| 48 | 45 | ||
| 49 | void unregister_alt_f7 (void) { | 46 | void unregister_alt_f7 (void) { |
| 50 | unregister_code (KC_LALT); | 47 | unregister_code (KC_LALT); |
| 51 | unregister_code (KC_F7); | 48 | unregister_code (KC_F7); |
| 52 | } | 49 | } |
| 53 | 50 | ||
| 54 | void register_shift_f6 (void) { | 51 | void register_shift_f6 (void) { |
| 55 | register_code (KC_LSFT); | 52 | register_code (KC_LSFT); |
| 56 | register_code (KC_F6); | 53 | register_code (KC_F6); |
| 57 | } | 54 | } |
| 58 | 55 | ||
| 59 | void unregister_shift_f6 (void) { | 56 | void unregister_shift_f6 (void) { |
| 60 | unregister_code (KC_LSFT); | 57 | unregister_code (KC_LSFT); |
| 61 | unregister_code (KC_F6); | 58 | unregister_code (KC_F6); |
| 62 | } | 59 | } |
| 63 | 60 | ||
| 64 | void register_ctrl_shift (void) { | 61 | void register_ctrl_shift (void) { |
| 65 | register_code (KC_LSFT); | 62 | register_code (KC_LSFT); |
| 66 | register_code (KC_LCTRL); | 63 | register_code (KC_LCTRL); |
| 67 | } | 64 | } |
| 68 | 65 | ||
| 69 | void unregister_ctrl_shift (void) { | 66 | void unregister_ctrl_shift (void) { |
| 70 | unregister_code (KC_LSFT); | 67 | unregister_code (KC_LSFT); |
| 71 | unregister_code (KC_LCTRL); | 68 | unregister_code (KC_LCTRL); |
| 72 | } | 69 | } |
| 73 | 70 | ||
| 74 | void register_alt_shift (void) { | 71 | void register_alt_shift (void) { |
| 75 | register_code (KC_LSFT); | 72 | register_code (KC_LSFT); |
| 76 | register_code (KC_LALT); | 73 | register_code (KC_LALT); |
| 77 | } | 74 | } |
| 78 | 75 | ||
| 79 | void unregister_alt_shift (void) { | 76 | void unregister_alt_shift (void) { |
| 80 | unregister_code (KC_LSFT); | 77 | unregister_code (KC_LSFT); |
| 81 | unregister_code (KC_LALT); | 78 | unregister_code (KC_LALT); |
| 82 | } | 79 | } |
| 83 | 80 | ||
| 84 | // To activate SINGLE_HOLD, you will need to hold for 200ms first. | 81 | // To activate SINGLE_HOLD, you will need to hold for 200ms first. |
| 85 | // This tap dance favors keys that are used frequently in typing like 'f' | 82 | // This tap dance favors keys that are used frequently in typing like 'f' |
| 86 | int cur_dance (qk_tap_dance_state_t *state) { | 83 | int cur_dance (qk_tap_dance_state_t *state) { |
| 87 | if (state->count == 1) { | 84 | if (state->count == 1) { |
| 88 | //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP | 85 | //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP |
| 89 | if (state->interrupted) { | 86 | if (state->interrupted) { |
| 90 | // if (!state->pressed) return SINGLE_TAP; | 87 | // if (!state->pressed) return SINGLE_TAP; |
| 91 | //need "permissive hold" here. | 88 | //need "permissive hold" here. |
| 92 | // else return SINsGLE_HOLD; | 89 | // else return SINsGLE_HOLD; |
| 93 | //If the interrupting key is released before the tap-dance key, then it is a single HOLD | 90 | //If the interrupting key is released before the tap-dance key, then it is a single HOLD |
| 94 | //However, if the tap-dance key is released first, then it is a single TAP | 91 | //However, if the tap-dance key is released first, then it is a single TAP |
| 95 | //But how to get access to the state of the interrupting key???? | 92 | //But how to get access to the state of the interrupting key???? |
| @@ -105,8 +102,8 @@ int cur_dance (qk_tap_dance_state_t *state) { | |||
| 105 | else if (state->count == 2) { | 102 | else if (state->count == 2) { |
| 106 | if (state->interrupted) return DOUBLE_SINGLE_TAP; | 103 | if (state->interrupted) return DOUBLE_SINGLE_TAP; |
| 107 | else if (state->pressed) return DOUBLE_HOLD; | 104 | else if (state->pressed) return DOUBLE_HOLD; |
| 108 | else return DOUBLE_TAP; | 105 | else return DOUBLE_TAP; |
| 109 | } | 106 | } |
| 110 | else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP; | 107 | else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP; |
| 111 | else if (state->count == 3) return TRIPLE_HOLD; | 108 | else if (state->count == 3) return TRIPLE_HOLD; |
| 112 | else return 8; //magic number. At some point this method will expand to work for more presses | 109 | else return 8; //magic number. At some point this method will expand to work for more presses |
| @@ -116,8 +113,8 @@ int cur_dance (qk_tap_dance_state_t *state) { | |||
| 116 | int hold_cur_dance (qk_tap_dance_state_t *state) { | 113 | int hold_cur_dance (qk_tap_dance_state_t *state) { |
| 117 | if (state->count == 1) { | 114 | if (state->count == 1) { |
| 118 | if (state->interrupted) { | 115 | if (state->interrupted) { |
| 119 | if (!state->pressed) return SINGLE_TAP; | 116 | if (!state->pressed) return SINGLE_TAP; |
| 120 | else return SINGLE_HOLD; | 117 | else return SINGLE_HOLD; |
| 121 | } | 118 | } |
| 122 | else { | 119 | else { |
| 123 | if (!state->pressed) return SINGLE_TAP; | 120 | if (!state->pressed) return SINGLE_TAP; |
| @@ -128,8 +125,8 @@ int hold_cur_dance (qk_tap_dance_state_t *state) { | |||
| 128 | //with single tap. | 125 | //with single tap. |
| 129 | else if (state->count == 2) { | 126 | else if (state->count == 2) { |
| 130 | if (state->pressed) return DOUBLE_HOLD; | 127 | if (state->pressed) return DOUBLE_HOLD; |
| 131 | else return DOUBLE_TAP; | 128 | else return DOUBLE_TAP; |
| 132 | } | 129 | } |
| 133 | else if (state->count == 3) { | 130 | else if (state->count == 3) { |
| 134 | if (!state->pressed) return TRIPLE_TAP; | 131 | if (!state->pressed) return TRIPLE_TAP; |
| 135 | else return TRIPLE_HOLD; | 132 | else return TRIPLE_HOLD; |
| @@ -138,7 +135,7 @@ int hold_cur_dance (qk_tap_dance_state_t *state) { | |||
| 138 | } | 135 | } |
| 139 | 136 | ||
| 140 | 137 | ||
| 141 | static xtap htap_state = { | 138 | static xtap htap_state = { |
| 142 | .is_press_action = true, | 139 | .is_press_action = true, |
| 143 | .state = 0 | 140 | .state = 0 |
| 144 | }; | 141 | }; |
| @@ -168,7 +165,7 @@ void h_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 168 | 165 | ||
| 169 | /**************** QUAD FUNCTION FOR TAB ****************/ | 166 | /**************** QUAD FUNCTION FOR TAB ****************/ |
| 170 | // TAB, ALT + SHIFT, TAB TAB, CTRL + SHIFT | 167 | // TAB, ALT + SHIFT, TAB TAB, CTRL + SHIFT |
| 171 | static xtap tab_state = { | 168 | static xtap tab_state = { |
| 172 | .is_press_action = true, | 169 | .is_press_action = true, |
| 173 | .state = 0 | 170 | .state = 0 |
| 174 | }; | 171 | }; |
| @@ -183,7 +180,7 @@ void tab_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 183 | case TRIPLE_TAP: register_code(KC_LSHIFT) ;register_code(KC_ESC); break; | 180 | case TRIPLE_TAP: register_code(KC_LSHIFT) ;register_code(KC_ESC); break; |
| 184 | case TRIPLE_HOLD: register_code(KC_LSHIFT); register_code(KC_LGUI); break; | 181 | case TRIPLE_HOLD: register_code(KC_LSHIFT); register_code(KC_LGUI); break; |
| 185 | } | 182 | } |
| 186 | } | 183 | } |
| 187 | 184 | ||
| 188 | void tab_reset (qk_tap_dance_state_t *state, void *user_data) { | 185 | void tab_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 189 | switch (tab_state.state) { | 186 | switch (tab_state.state) { |
| @@ -201,7 +198,7 @@ void tab_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 201 | //*************** SUPER COMMA *******************// | 198 | //*************** SUPER COMMA *******************// |
| 202 | // Assumption: we don't care about trying to hit ,, quickly | 199 | // Assumption: we don't care about trying to hit ,, quickly |
| 203 | //*************** SUPER COMMA *******************// | 200 | //*************** SUPER COMMA *******************// |
| 204 | static xtap comma_state = { | 201 | static xtap comma_state = { |
| 205 | .is_press_action = true, | 202 | .is_press_action = true, |
| 206 | .state = 0 | 203 | .state = 0 |
| 207 | }; | 204 | }; |
| @@ -209,19 +206,19 @@ static xtap comma_state = { | |||
| 209 | void comma_finished (qk_tap_dance_state_t *state, void *user_data) { | 206 | void comma_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 210 | comma_state.state = hold_cur_dance(state); //Use the dance that favors being held | 207 | comma_state.state = hold_cur_dance(state); //Use the dance that favors being held |
| 211 | switch (comma_state.state) { | 208 | switch (comma_state.state) { |
| 212 | case SINGLE_TAP: register_code(KC_COMMA); break; | 209 | case SINGLE_TAP: register_code(KC_COMMA); break; |
| 213 | case SINGLE_HOLD: layer_on(1); break; //turn on symbols layer | 210 | case SINGLE_HOLD: layer_on(1); break; //turn on symbols layer |
| 214 | case DOUBLE_TAP: layer_invert(4); break; //toggle numbers layer | 211 | case DOUBLE_TAP: layer_invert(4); break; //toggle numbers layer |
| 215 | case DOUBLE_HOLD: layer_on(2); break; | 212 | case DOUBLE_HOLD: layer_on(2); break; |
| 216 | case TRIPLE_TAP: register_code(KC_CALCULATOR); break; | 213 | case TRIPLE_TAP: register_code(KC_CALCULATOR); break; |
| 217 | case TRIPLE_HOLD: layer_on(3); | 214 | case TRIPLE_HOLD: layer_on(3); |
| 218 | } | 215 | } |
| 219 | } | 216 | } |
| 220 | 217 | ||
| 221 | void comma_reset (qk_tap_dance_state_t *state, void *user_data) { | 218 | void comma_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 222 | switch (comma_state.state) { | 219 | switch (comma_state.state) { |
| 223 | case SINGLE_TAP: unregister_code(KC_COMMA); break; //unregister comma | 220 | case SINGLE_TAP: unregister_code(KC_COMMA); break; //unregister comma |
| 224 | case SINGLE_HOLD: layer_off(1); break; | 221 | case SINGLE_HOLD: layer_off(1); break; |
| 225 | case DOUBLE_TAP: ;break; | 222 | case DOUBLE_TAP: ;break; |
| 226 | case DOUBLE_HOLD: layer_off(2); break; | 223 | case DOUBLE_HOLD: layer_off(2); break; |
| 227 | case TRIPLE_TAP: unregister_code(KC_CALCULATOR); break; | 224 | case TRIPLE_TAP: unregister_code(KC_CALCULATOR); break; |
| @@ -235,7 +232,7 @@ void comma_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 235 | 232 | ||
| 236 | //*************** F3 TAP DANCE *******************// | 233 | //*************** F3 TAP DANCE *******************// |
| 237 | //Good example for accessing multiple layers from the same key. | 234 | //Good example for accessing multiple layers from the same key. |
| 238 | static xtap S1_state = { | 235 | static xtap S1_state = { |
| 239 | .is_press_action = true, | 236 | .is_press_action = true, |
| 240 | .state = 0 | 237 | .state = 0 |
| 241 | }; | 238 | }; |
| @@ -244,17 +241,17 @@ void bt_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 244 | S1_state.state = cur_dance(state); | 241 | S1_state.state = cur_dance(state); |
| 245 | switch (S1_state.state) { | 242 | switch (S1_state.state) { |
| 246 | case SINGLE_TAP: register_code(KC_F3); break; | 243 | case SINGLE_TAP: register_code(KC_F3); break; |
| 247 | case SINGLE_HOLD: layer_on(4); break; | 244 | case SINGLE_HOLD: layer_on(_MACROS); break; |
| 248 | case DOUBLE_TAP: layer_invert(4); break; | 245 | case DOUBLE_TAP: layer_invert(_MACROS); break; |
| 249 | case DOUBLE_HOLD: layer_on(5); break; | 246 | case DOUBLE_HOLD: layer_on(5); break; |
| 250 | case DOUBLE_SINGLE_TAP: layer_invert(4); break; | 247 | case DOUBLE_SINGLE_TAP: layer_invert(_MACROS); break; |
| 251 | } | 248 | } |
| 252 | } | 249 | } |
| 253 | 250 | ||
| 254 | void bt_reset (qk_tap_dance_state_t *state, void *user_data) { | 251 | void bt_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 255 | switch (S1_state.state) { | 252 | switch (S1_state.state) { |
| 256 | case SINGLE_TAP: unregister_code(KC_F3); break; | 253 | case SINGLE_TAP: unregister_code(KC_F3); break; |
| 257 | case SINGLE_HOLD: layer_off(4); break; | 254 | case SINGLE_HOLD: layer_off(_MACROS); break; |
| 258 | case DOUBLE_TAP: break; //already inverted. Don't do anything. | 255 | case DOUBLE_TAP: break; //already inverted. Don't do anything. |
| 259 | case DOUBLE_HOLD: layer_off(5); break; | 256 | case DOUBLE_HOLD: layer_off(5); break; |
| 260 | case DOUBLE_SINGLE_TAP: break; | 257 | case DOUBLE_SINGLE_TAP: break; |
| @@ -262,14 +259,152 @@ void bt_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 262 | S1_state.state = 0; | 259 | S1_state.state = 0; |
| 263 | } | 260 | } |
| 264 | 261 | ||
| 262 | // Tap Dance Definitions | ||
| 263 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 264 | // simple tap dance | ||
| 265 | [F12ETAPS] = ACTION_TAP_DANCE_DOUBLE(KC_F12,LSFT(LCTL(KC_F10))), | ||
| 266 | [REFRESH] = ACTION_TAP_DANCE_DOUBLE(KC_R,LCTL(KC_R)), | ||
| 267 | [ENDESC] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_ESC), | ||
| 268 | [Q_ESCAPE] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC), | ||
| 269 | [ENDHOME] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_HOME), | ||
| 270 | [CALCCOMP] = ACTION_TAP_DANCE_DOUBLE(KC_CALCULATOR, KC_MY_COMPUTER), | ||
| 271 | [ALTF4] = ACTION_TAP_DANCE_DOUBLE(KC_F4,LALT(KC_F4)), | ||
| 272 | [F6F7] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_F6), LALT(KC_F7)), | ||
| 273 | [F1F13] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F13), | ||
| 274 | [F2F14] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F14), | ||
| 275 | [F5F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15), | ||
| 276 | [TABCOMBO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tab_finished, tab_reset), | ||
| 277 | [F3D] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, bt_finished, bt_reset), | ||
| 278 | [COMMA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, comma_finished, comma_reset), | ||
| 279 | [HTAB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,h_finished, h_reset) | ||
| 280 | }; | ||
| 281 | |||
| 282 | // bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 283 | // if (!record->event.pressed) { | ||
| 284 | // switch (keycode) { | ||
| 285 | |||
| 286 | // case KC_SECRET_1 ... KC_SECRET_5: | ||
| 287 | // send_string(secret[keycode - KC_SECRET_1]); | ||
| 288 | // // clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); | ||
| 289 | // return true; break; | ||
| 290 | |||
| 291 | // case UP_ENTER_RESET: | ||
| 292 | // register_code(KC_UP); | ||
| 293 | // unregister_code(KC_UP); | ||
| 294 | // register_code(KC_ENTER); | ||
| 295 | // unregister_code(KC_ENTER); | ||
| 296 | // reset_keyboard(); | ||
| 297 | // return false; break; | ||
| 298 | |||
| 299 | // case TIL_SLASH: | ||
| 300 | // SEND_STRING ("~/."); | ||
| 301 | // return false; break; | ||
| 302 | |||
| 303 | // case DBMS_OUT: | ||
| 304 | // SEND_STRING ("dbms_output.put_line('');"); | ||
| 305 | // SEND_STRING (SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); | ||
| 306 | // return false; break; | ||
| 307 | |||
| 308 | // case ID_MAN_IP: | ||
| 309 | // SEND_STRING ("http://dev-1967110238.us-east-1.elb.amazonaws.com"); | ||
| 310 | // return false; break; | ||
| 311 | |||
| 312 | // case MODRESET: | ||
| 313 | // clear_mods(); | ||
| 314 | // return false; break; | ||
| 315 | |||
| 316 | // case DEREF: | ||
| 317 | // SEND_STRING ("->"); | ||
| 318 | // return false; break; | ||
| 319 | |||
| 320 | // case EQRIGHT: | ||
| 321 | // SEND_STRING ("=>"); | ||
| 322 | // return false; break; | ||
| 323 | |||
| 324 | // case TICK3: | ||
| 325 | // SEND_STRING ("```"); | ||
| 326 | // return false; break; | ||
| 327 | |||
| 328 | // case TILD3: | ||
| 329 | // SEND_STRING ("~~~"); | ||
| 330 | // return false; break; | ||
| 331 | // } | ||
| 332 | // } | ||
| 333 | // return true; | ||
| 334 | // }; | ||
| 335 | |||
| 336 | |||
| 337 | |||
| 338 | |||
| 265 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 339 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 266 | switch (keycode) { | 340 | if (!record->event.pressed) { |
| 267 | case KC_SECRET_1 ... KC_SECRET_5: | 341 | switch (keycode) { |
| 268 | if (!record->event.pressed) { | 342 | case KC_SECRET_1 ... KC_SECRET_5: |
| 269 | send_string(secret[keycode - KC_SECRET_1]); | 343 | send_string(secret[keycode - KC_SECRET_1]); |
| 344 | // clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); | ||
| 345 | return true; break; | ||
| 346 | case UP_ENTER_RESET: | ||
| 347 | SEND_STRING("make ergodox_infinity:gordon:dfu-util"); | ||
| 348 | register_code(KC_ENTER); | ||
| 349 | unregister_code(KC_ENTER); | ||
| 350 | reset_keyboard(); | ||
| 351 | return false; break; | ||
| 352 | |||
| 353 | case TIL_SLASH: | ||
| 354 | SEND_STRING ("~/."); | ||
| 355 | return false; break; | ||
| 356 | |||
| 357 | case DBMS_OUT: | ||
| 358 | SEND_STRING ("dbms_output.put_line('');"); | ||
| 359 | SEND_STRING (SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); | ||
| 360 | return false; break; | ||
| 361 | case DIE_1000X_RIGHT: | ||
| 362 | SEND_STRING (SS_TAP(X_G) SS_TAP(X_G) SS_TAP(X_RIGHT) SS_TAP(X_B) SS_TAP(X_J)); | ||
| 363 | return false; break; | ||
| 364 | case DIE_1000X_LEFT: | ||
| 365 | SEND_STRING (SS_TAP(X_GRAVE) SS_TAP(X_G) SS_TAP(X_LEFT) SS_TAP(X_B) SS_TAP(X_J)); | ||
| 366 | return false; break; | ||
| 367 | case ID_MAN_IP: | ||
| 368 | SEND_STRING ("http://dev-1967110238.us-east-1.elb.amazonaws.com"); | ||
| 369 | return false; break; | ||
| 370 | |||
| 371 | case MODRESET: | ||
| 372 | clear_mods(); | ||
| 373 | return false; break; | ||
| 374 | |||
| 375 | case DEREF: | ||
| 376 | SEND_STRING ("->"); | ||
| 377 | return false; break; | ||
| 378 | |||
| 379 | case EQRIGHT: | ||
| 380 | SEND_STRING ("=>"); | ||
| 381 | return false; break; | ||
| 382 | |||
| 383 | case TICK3: | ||
| 384 | SEND_STRING ("```"); | ||
| 385 | |||
| 386 | return false; break; | ||
| 387 | |||
| 388 | case SPRK_TCK: | ||
| 389 | SEND_STRING ("```"); | ||
| 390 | SEND_STRING (SS_DOWN(X_LSHIFT) SS_TAP(X_ENTER) SS_UP(X_LSHIFT)); | ||
| 391 | SEND_STRING (SS_DOWN(X_LSHIFT) SS_TAP(X_ENTER) SS_UP(X_LSHIFT)); | ||
| 392 | SEND_STRING ("```"); | ||
| 393 | SEND_STRING (SS_TAP(X_UP)); | ||
| 394 | return false; break; | ||
| 395 | |||
| 396 | case TILD3: | ||
| 397 | SEND_STRING ("~~~"); | ||
| 398 | return false; break; | ||
| 399 | } | ||
| 400 | } | ||
| 401 | else { //On key being pressed | ||
| 402 | switch (keycode) { | ||
| 403 | case KC_SECRET_1 ... KC_SECRET_5: | ||
| 404 | clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); | ||
| 405 | return false; break; | ||
| 270 | } | 406 | } |
| 271 | return false; | ||
| 272 | break; | ||
| 273 | } | 407 | } |
| 274 | return true; | 408 | return true; |
| 275 | } \ No newline at end of file | 409 | }; |
| 410 | |||
diff --git a/users/gordon/gordon.h b/users/gordon/gordon.h index 548c63049..92641a8aa 100644 --- a/users/gordon/gordon.h +++ b/users/gordon/gordon.h | |||
| @@ -6,20 +6,21 @@ | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | // Fillers to make layering more clear | 8 | // Fillers to make layering more clear |
| 9 | #define _______ KC_TRNS | 9 | #define _______ KC_TRNS |
| 10 | #define ________ KC_TRNS | 10 | #define ________ KC_TRNS |
| 11 | #define _________ KC_TRNS | 11 | #define _________ KC_TRNS |
| 12 | #define XXXXXXX KC_NO | 12 | #define _XXXXXX_ KC_TRNS |
| 13 | #define XXXXXXX KC_NO | ||
| 13 | 14 | ||
| 14 | // KC codes that are too long | 15 | // KC codes that are too long |
| 15 | #define DOLLAR KC_DOLLAR | 16 | #define DOLLAR KC_DOLLAR |
| 16 | #define LSQUIGLY KC_LBRACKET | 17 | #define LSQUIGLY KC_LBRACKET |
| 17 | #define RSQUIGLY KC_RBRACKET | 18 | #define RSQUIGLY KC_RBRACKET |
| 18 | #define NUMLOCK KC_NUMLOCK | 19 | #define NUMLOCK KC_NUMLOCK |
| 19 | #define CAPLOCK KC_CAPSLOCK | 20 | #define CAPLOCK KC_CAPSLOCK |
| 20 | #define BK_SLASH KC_BSLASH | 21 | #define BK_SLASH KC_BSLASH |
| 21 | #define ASTERSK KC_KP_ASTERISK | 22 | #define ASTERSK KC_KP_ASTERISK |
| 22 | 23 | ||
| 23 | // Navigation | 24 | // Navigation |
| 24 | #define SNAPLEFT LGUI(KC_LEFT) | 25 | #define SNAPLEFT LGUI(KC_LEFT) |
| 25 | #define SNAPRGHT LGUI(KC_RIGHT) | 26 | #define SNAPRGHT LGUI(KC_RIGHT) |
| @@ -30,19 +31,28 @@ | |||
| 30 | #define WORKRIGHT LCTL(LGUI(KC_RIGHT)) | 31 | #define WORKRIGHT LCTL(LGUI(KC_RIGHT)) |
| 31 | #define WORKLEFT LCTL(LGUI(KC_LEFT)) | 32 | #define WORKLEFT LCTL(LGUI(KC_LEFT)) |
| 32 | 33 | ||
| 34 | #define APP_1 LCTL(LGUI(KC_1)) | ||
| 35 | #define APP_2 LCTL(LGUI(KC_2)) | ||
| 36 | #define APP_3 LCTL(LGUI(KC_3)) | ||
| 37 | #define APP_4 LCTL(LGUI(KC_4)) | ||
| 38 | #define APP_5 LCTL(LGUI(KC_5)) | ||
| 39 | #define APP_6 LCTL(LGUI(KC_6)) | ||
| 40 | #define APP_7 LCTL(LGUI(KC_7)) | ||
| 41 | #define APP_8 LCTL(LGUI(KC_8)) | ||
| 42 | |||
| 33 | // KC/modifier hold | 43 | // KC/modifier hold |
| 34 | #define CTRL_F CTL_T(KC_F) | 44 | #define CTRL_F CTL_T(KC_F) |
| 35 | #define CTRL_J CTL_T(KC_J) | 45 | #define CTRL_J CTL_T(KC_J) |
| 36 | #define CTRL_Z CTL_T(KC_Z) | 46 | #define CTRL_Z CTL_T(KC_Z) |
| 37 | #define ALT_V ALT_T(KC_V) | 47 | #define ALT_V ALT_T(KC_V) |
| 38 | #define ALT_M ALT_T(KC_M) | 48 | #define ALT_M ALT_T(KC_M) |
| 39 | #define WIN_G GUI_T(KC_G) | 49 | #define WIN_G GUI_T(KC_G) |
| 40 | #define WIN_H GUI_T(KC_H) | 50 | #define WIN_H GUI_T(KC_H) |
| 41 | #define HYPER_X ALL_T(KC_X) | 51 | #define HYPER_X ALL_T(KC_X) |
| 42 | #define HYPE_DOT ALL_T(KC_DOT) | 52 | #define HYPE_DOT ALL_T(KC_DOT) |
| 43 | #define MEH_S MEH_T(KC_S) | 53 | #define MEH_S MEH_T(KC_S) |
| 44 | #define MEH_L MEH_T(KC_L) | 54 | #define MEH_L MEH_T(KC_L) |
| 45 | #define ALT_HOME ALT_T(KC_HOME) | 55 | #define ALT_HOME ALT_T(KC_HOME) |
| 46 | 56 | ||
| 47 | 57 | ||
| 48 | // KC/Layer Hold | 58 | // KC/Layer Hold |
| @@ -52,6 +62,15 @@ | |||
| 52 | #define SYMB_BSP LT(_SYMBOLS,KC_BSPACE) | 62 | #define SYMB_BSP LT(_SYMBOLS,KC_BSPACE) |
| 53 | #define COL_MOUS LT(_MOUSE,KC_SCOLON) | 63 | #define COL_MOUS LT(_MOUSE,KC_SCOLON) |
| 54 | #define SPAC_SYM LT(_SYMBOLS,KC_SPACE) | 64 | #define SPAC_SYM LT(_SYMBOLS,KC_SPACE) |
| 65 | #define SPAC_TXT LT(_TEXTNAV,KC_SPACE) | ||
| 66 | |||
| 67 | #define APP_SW_I LT(_APPSWITCH,KC_I) | ||
| 68 | #define APP_SW_K LT(_APPSWITCH,KC_K) | ||
| 69 | |||
| 70 | // #define TLSLSH TIL_SLASH | ||
| 71 | // #define TILDA_3x TILD3 | ||
| 72 | // #define _RESET_ UP_ENTER_RESET | ||
| 73 | |||
| 55 | 74 | ||
| 56 | // Double Modifier ONLY hold | 75 | // Double Modifier ONLY hold |
| 57 | #define ALT_SHFT LSFT(KC_LALT) | 76 | #define ALT_SHFT LSFT(KC_LALT) |
| @@ -60,6 +79,7 @@ | |||
| 60 | // KC/Double modifier Hold | 79 | // KC/Double modifier Hold |
| 61 | #define CTR_SH_W MT(MOD_LCTL|MOD_LSFT,KC_W) | 80 | #define CTR_SH_W MT(MOD_LCTL|MOD_LSFT,KC_W) |
| 62 | #define CTR_AL_R MT(MOD_LCTL|MOD_LALT,KC_R) | 81 | #define CTR_AL_R MT(MOD_LCTL|MOD_LALT,KC_R) |
| 82 | #define ALT_SH_R MT(MOD_LSFT|MOD_LALT,KC_R) | ||
| 63 | 83 | ||
| 64 | //MISC | 84 | //MISC |
| 65 | #define PRINTSCR KC_PSCREEN | 85 | #define PRINTSCR KC_PSCREEN |
| @@ -82,16 +102,77 @@ enum { | |||
| 82 | TRIPLE_HOLD = 7 | 102 | TRIPLE_HOLD = 7 |
| 83 | }; | 103 | }; |
| 84 | 104 | ||
| 105 | //Tap dance enums | ||
| 106 | enum | ||
| 107 | { | ||
| 108 | F12TAP = 0, | ||
| 109 | F12ETAPS, | ||
| 110 | CALCCOMP, | ||
| 111 | REFRESH, //send R, or Control+R if double tapped. | ||
| 112 | ENDESC, | ||
| 113 | XESC, //'quad function'. x, control, escape, alt | ||
| 114 | ALY2, //'quad function': a, Hyper, ctrl+a, layer 2 | ||
| 115 | PRLOCK, | ||
| 116 | F6F7, // Shift F6 or Alt F7 | ||
| 117 | TABCOMBO, | ||
| 118 | FCTRL, | ||
| 119 | F3D, | ||
| 120 | ALTF4, | ||
| 121 | COMMA, | ||
| 122 | AT, | ||
| 123 | HTAB, | ||
| 124 | F1F13, | ||
| 125 | F2F14, | ||
| 126 | F5F15, | ||
| 127 | ENDHOME, | ||
| 128 | Q_ESCAPE | ||
| 129 | }; | ||
| 130 | |||
| 131 | #ifdef TAP_DANCE_ENABLE | ||
| 132 | #define F1_F13 TD(F1F13) | ||
| 133 | #define F2_F14 TD(F2F14) | ||
| 134 | #define F5_F15 TD(F5F15) | ||
| 135 | #define F4_ALTF4 TD(ALTF4) | ||
| 136 | #define END_ESC TD(ENDESC) | ||
| 137 | #define Q_ESC TD(Q_ESCAPE) | ||
| 138 | #define END_HOME TD(ENDHOME) | ||
| 139 | #define SHF6_AF7 TD(F6F7) | ||
| 140 | #define F12_RUN TD(F12ETAPS) | ||
| 141 | #define COMMA_TD TD(COMMA) | ||
| 142 | #define CALC_COM TD(CALCCOMP) | ||
| 143 | #else //just to make things compile | ||
| 144 | #define F1_F13 KC_1 | ||
| 145 | #define F2_F14 KC_1 | ||
| 146 | #define F5_F15 KC_1 | ||
| 147 | #define F4_ALTF4 KC_1 | ||
| 148 | #define END_ESC KC_1 | ||
| 149 | #define END_HOME KC_1 | ||
| 150 | #define SHF6_AF7 KC_1 | ||
| 151 | #define F12_RUN KC_1 | ||
| 152 | #define COMMA_TD KC_1 | ||
| 153 | #define CALC_COM KC_1 | ||
| 154 | #endif | ||
| 155 | |||
| 85 | enum gordon_layers | 156 | enum gordon_layers |
| 86 | { | 157 | { |
| 87 | _QWERTY = 0, | 158 | _QWERTY = 0, |
| 88 | _SYMBOLS, | 159 | _SYMBOLS, // Programming and all other commonlye used symbols |
| 89 | _MOUSE, | 160 | _MOUSE, // Mouse movement and also a few macros |
| 90 | _NUMPAD, | 161 | _NUMPAD, // For getting a numpad under the right hand, and a few helpful things under the left |
| 91 | _NAV, | 162 | _NAV, // Windows navigation. Windows snapping, changing workspaces, and ARROWS |
| 92 | _MACROS, | 163 | _MACROS, // Non-text related Macros. |
| 93 | _FUNCTION, | 164 | _FUNCTION, // Not sure what I had in mind for this one |
| 94 | _TEXTNAV | 165 | _APPSWITCH, // For switching between apps using the `ctrl + Win + [num]` shortcut. |
| 166 | // This allows for toggling windows of the same app with one button. | ||
| 167 | // Example: Press and hold `I`, then tap `j` multiple times to cycle through all | ||
| 168 | // Intellij windows (and only Intellij). This requires the app to be pinned to the Windows bar | ||
| 169 | _ONESHOT, // A layer I use for shortcuts that require multiple modifiers and a button not on my home layer | ||
| 170 | // Example: If I need to hit `alt + shift + 5` | ||
| 171 | _TEXTNAV, // Navigate through text | ||
| 172 | _QWERTY_KIDS, // So my kids can do nothing but type. Could also be a `speed typing` layer with no LT or MTs | ||
| 173 | _STREET_FIGHTER, // For Street Fighter 5. Die 1000x Deaths!!!! | ||
| 174 | _DIRNAV, // For navigating to different directories. | ||
| 175 | _TEXT_MACROS // For text-manipulation macros. Passwords, saved strings, pre-formatting | ||
| 95 | }; | 176 | }; |
| 96 | 177 | ||
| 97 | 178 | ||
| @@ -99,23 +180,23 @@ enum gordon_layers | |||
| 99 | void register_hyper (void); | 180 | void register_hyper (void); |
| 100 | void unregister_hyper (void); | 181 | void unregister_hyper (void); |
| 101 | 182 | ||
| 102 | void register_ctrl_a (void); | 183 | void register_ctrl_a (void); |
| 103 | void unregister_ctrl_a (void); | 184 | void unregister_ctrl_a (void); |
| 104 | 185 | ||
| 105 | void register_alt_f7 (void); | 186 | void register_alt_f7 (void); |
| 106 | void unregister_alt_f7 (void); | 187 | void unregister_alt_f7 (void); |
| 107 | 188 | ||
| 108 | void register_shift_f6 (void); | 189 | void register_shift_f6 (void); |
| 109 | void unregister_shift_f6 (void); | 190 | void unregister_shift_f6 (void); |
| 110 | 191 | ||
| 111 | void register_ctrl_shift (void); | 192 | void register_ctrl_shift (void); |
| 112 | void unregister_ctrl_shift (void); | 193 | void unregister_ctrl_shift (void); |
| 113 | 194 | ||
| 114 | void register_alt_shift (void); | 195 | void register_alt_shift (void); |
| 115 | void unregister_alt_shift (void); | 196 | void unregister_alt_shift (void); |
| 116 | 197 | ||
| 117 | int cur_dance (qk_tap_dance_state_t *state); | 198 | int cur_dance (qk_tap_dance_state_t *state); |
| 118 | int hold_cur_dance (qk_tap_dance_state_t *state); | 199 | int hold_cur_dance (qk_tap_dance_state_t *state); |
| 119 | 200 | ||
| 120 | void x_finished (qk_tap_dance_state_t *state, void *user_data); | 201 | void x_finished (qk_tap_dance_state_t *state, void *user_data); |
| 121 | void x_reset (qk_tap_dance_state_t *state, void *user_data); | 202 | void x_reset (qk_tap_dance_state_t *state, void *user_data); |
| @@ -132,26 +213,37 @@ void comma_reset (qk_tap_dance_state_t *state, void *user_data); | |||
| 132 | void bt_finished (qk_tap_dance_state_t *state, void *user_data); | 213 | void bt_finished (qk_tap_dance_state_t *state, void *user_data); |
| 133 | void bt_reset (qk_tap_dance_state_t *state, void *user_data); | 214 | void bt_reset (qk_tap_dance_state_t *state, void *user_data); |
| 134 | 215 | ||
| 216 | enum secret_strings { | ||
| 217 | KC_SECRET_1 = SAFE_RANGE, | ||
| 218 | KC_SECRET_2, | ||
| 219 | KC_SECRET_3, | ||
| 220 | KC_SECRET_4, | ||
| 221 | KC_SECRET_5, | ||
| 222 | END_SECRET_SAFE_RANGE | ||
| 223 | }; | ||
| 224 | |||
| 225 | |||
| 135 | // Macro Declarations | 226 | // Macro Declarations |
| 136 | enum { | 227 | enum { |
| 137 | INFOQM, | 228 | INFOQM = END_SECRET_SAFE_RANGE, |
| 229 | MODRESET, | ||
| 138 | TIL_SLASH, | 230 | TIL_SLASH, |
| 139 | DEREF, | 231 | DEREF, |
| 140 | EQRIGHT, | 232 | EQRIGHT, |
| 141 | TILD3, | 233 | TILD3, |
| 142 | TICK3, | 234 | TICK3, |
| 235 | SPRK_TCK, | ||
| 143 | ALTTAB_START, | 236 | ALTTAB_START, |
| 144 | ALTTAB_END | 237 | ALTTAB_END, |
| 238 | UP_ENTER_RESET, | ||
| 239 | DBMS_OUT, | ||
| 240 | DIE_1000X_RIGHT, | ||
| 241 | DIE_1000X_LEFT, | ||
| 242 | ID_MAN_IP | ||
| 145 | }; | 243 | }; |
| 146 | 244 | ||
| 147 | enum secret_strings { | 245 | |
| 148 | KC_SECRET_1 = SAFE_RANGE, | ||
| 149 | KC_SECRET_2, | ||
| 150 | KC_SECRET_3, | ||
| 151 | KC_SECRET_4, | ||
| 152 | KC_SECRET_5, | ||
| 153 | }; | ||
| 154 | 246 | ||
| 155 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); | 247 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); |
| 156 | 248 | ||
| 157 | #endif \ No newline at end of file | 249 | #endif |
diff --git a/users/gordon/rules.mk b/users/gordon/rules.mk index 359478912..19e77b01b 100644 --- a/users/gordon/rules.mk +++ b/users/gordon/rules.mk | |||
| @@ -1,2 +1,4 @@ | |||
| 1 | TAP_DANCE_ENABLE = yes | 1 | TAP_DANCE_ENABLE = yes |
| 2 | SRC += gordon.c \ No newline at end of file | 2 | SRC += gordon.c |
| 3 | |||
| 4 | # BOOTMAGIC_ENABLE = yes | ||
