diff options
author | Daniel Gordon <Dgordon8765@gmail.com> | 2018-05-30 10:10:22 -0500 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-05-30 08:10:22 -0700 |
commit | a75bd221f2b6ca5b67b05b3284389b0721475acd (patch) | |
tree | e1d9e072273cf60b12ab116a0f04c2c961a04c65 | |
parent | 805b42275b400f7e61a5aa0c6974f00de77dc42d (diff) | |
download | qmk_firmware-a75bd221f2b6ca5b67b05b3284389b0721475acd.tar.gz qmk_firmware-a75bd221f2b6ca5b67b05b3284389b0721475acd.zip |
Updates to gordon keymaps (#3082)
Added rules.mk for the infinity
* Moved tap dance enums to gordon.h
* Moved tap dance aliases to gordon.h
Moved TD to user space
* Added config file with preventing mods sticking
* Added a few keys to keymap
-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 | ||