aboutsummaryrefslogtreecommitdiff
path: root/keyboards/chimera_ortho/keymaps/gordon/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/chimera_ortho/keymaps/gordon/keymap.c')
-rw-r--r--keyboards/chimera_ortho/keymaps/gordon/keymap.c363
1 files changed, 0 insertions, 363 deletions
diff --git a/keyboards/chimera_ortho/keymaps/gordon/keymap.c b/keyboards/chimera_ortho/keymaps/gordon/keymap.c
deleted file mode 100644
index 5bd2019c2..000000000
--- a/keyboards/chimera_ortho/keymaps/gordon/keymap.c
+++ /dev/null
@@ -1,363 +0,0 @@
1// this is the style you want to emulate.
2// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
3
4#include QMK_KEYBOARD_H
5#include "version.h"
6#include "gordon.h"
7
8// Each layer gets a name for readability, which is then used in the keymap matrix below.
9// The underscores don't mean anything - you can have a layer called STUFF or any other name.
10// Layer names don't all need to be of the same length, obviously, and you can also skip them
11// entirely and just use numbers.
12
13#define CALTDEL LCTL(LALT(KC_DEL))
14#define TSKMGR LCTL(LSFT(KC_ESC))
15
16#define KC_SNAPLEFT LGUI(KC_LEFT)
17#define KC_SNAPRIGHT LGUI(KC_RIGHT)
18#define KC_SNAPUP LGUI(KC_UP)
19#define KC_SNAPDOWN LGUI(KC_DOWN)
20#define KC_PREVTAB LCTL(LSFT(KC_TAB))
21#define KC_NEXTTAB LCTL(KC_TAB)
22#define KC_WORKRIGHT LCTL(LGUI(KC_RIGHT))
23#define KC_WORKLEFT LCTL(LGUI(KC_LEFT))
24
25#define KC_NMPD TG(_NUMPAD)
26#define KC_SYMB TG(_SYMBOLS)
27
28#define KC_SCTL MT(MOD_LCTL, KC_LBRC)
29#define KC_SCTR MT(MOD_LCTL, KC_RBRC)
30#define KC_SPLT MT(MOD_LALT, KC_MINS)
31#define KC_SPRT MT(MOD_LALT, KC_1)
32#define KC_GBRC MT(MOD_RGUI, KC_8)
33#define KC_GQOT MT(MOD_LGUI, KC_QUOT)
34#define KC_CSHW MT(MOD_LCTL|MOD_LSFT,KC_W)
35
36#define KC_CDEL LCTL(KC_DEL)
37#define KC_AUDUP KC_AUDIO_VOL_UP
38#define KC_AUDOWN KC_AUDIO_VOL_DOWN
39
40
41#define KC_MEHS MEH_T(KC_S)
42#define KC_MEHL MEH_T(KC_L)
43#define KC_GWIN GUI_T(KC_G)
44#define KC_FCTL CTL_T(KC_F)
45#define KC_JCTL CTL_T(KC_J)
46#define KC_ZCTL CTL_T(KC_Z)
47#define KC_ALTV ALT_T(KC_V)
48#define KC_ALTN ALT_T(KC_N)
49#define KC_MEHX ALL_T(KC_X)
50#define KC_RESET RESET
51
52//LTs
53#define KC_MESC LT(_MACROS, KC_ESC)
54#define KC_DNUM LT(_NUMPAD, KC_D)
55#define KC_SPFN LT(_NAV,KC_EQL)
56#define KC_EMAUS LT(_MOUSE,KC_E)
57#define KC_ENAV LT(_NAV,KC_E)
58#define KC_INAV LT(_TEXTNAV,KC_I)
59#define KC_BSPSYM LT(_SYMBOLS,KC_BSPACE)
60#define KC_ENTSYM LT(_SYMBOLS,KC_ENTER)
61#define KC_CLNMAUS LT(_MOUSE,KC_SCOLON)
62
63#define KC_FUNC TT(_FUNCTION)
64
65//TAP DANCE
66#define KC_F6F7 TD(F6F7)
67#define KC_ALF4 TD(ALTF4)
68#define KC_TTT TD(TTT)
69#define KC_ENHM TD(HOME_END)
70#define KC_CLPS TD(CALC_PRINTSCREEN)
71
72
73#define KC_INCL M(0)
74#define KC_PULL M(1)
75#define KC_PUSH M(2)
76#define KC_SCAP M(3)
77#define KC_SCOF M(4)
78#define KC_CAD LALT(LCTL(KC_DEL))
79
80#define LONGPRESS_DELAY 150
81//#define LAYER_TOGGLE_DELAY 300
82
83// Fillers to make layering more clear
84#define KC_ KC_TRNS
85
86/* TODO:
87 *
88 * DONE: RESET and CAD into macro layer.
89 * DONE: WINUP AND WINDOWN in NAV layer
90 * DONE: Get rid of caps layer. not sure what it is even for.
91 * DONE: LMEH
92 * DONE: plus, divide, multiply on left hand for num layer
93 * DONE: F1 - F12 on a layer toggle (not a temp toggle but a one shot or something)
94 * DONE: Volume, page up and down for mouse layer.
95 * DONE: Add full user files - without using anything.
96 * DONE: Insert, ctrl delete
97 * DONE: Home and End
98 * DONE: Printscreen
99
100 * Easier way to open new terminal (instead of alt + F2)
101 * Intellij/text navigation layer (ctrl delete could be here).
102 * Macro for "System.exit(0)" probably macro layer and "c"
103 * Some sort of tap dance for comma, H, right pinky, and possibly other corners.
104 * Something more with the right hand. not sure what.
105 * Mouse: Left scroll, right scroll
106 * Passwords and any other macros.
107 * LED for control
108 * All modifiers reset
109 * Russain layer
110 * Hebrew layer
111 * Get rid of stupid git pull and push macros.
112 *
113*/
114
115enum {
116 TTT = 4,
117 HOME_END,
118 CALC_PRINTSCREEN
119};
120
121static xtap ttt_state = {
122 .is_press_action = true,
123 .state = 0
124};
125
126
127//Already exists in gordon.c, shouldn't need this anymore
128/*// To activate SINGLE_HOLD, you will need to hold for 200ms first.
129// This tap dance favors keys that are used frequently in typing like 'f'
130int cur_dance (qk_tap_dance_state_t *state) {
131 if (state->count == 1) {
132 if (state->interrupted) {
133 return SINGLE_TAP;
134 }
135 else {
136 if (!state->pressed) return SINGLE_TAP;
137 else return SINGLE_HOLD;
138 }
139 }
140 //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated
141 //with single tap.
142 else if (state->count == 2) {
143 if (state->interrupted) return DOUBLE_SINGLE_TAP;
144 else if (state->pressed) return DOUBLE_HOLD;
145 else return DOUBLE_TAP;
146 }
147 else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP;
148 else if (state->count == 3) return TRIPLE_HOLD;
149 else return 8; //magic number. At some point this method will expand to work for more presses
150}*/
151
152/* "Super tap toggle"
153 * Basically, TT but for two or more layers for a single key.
154 * This particular dance:
155 * Single tap/hold - TT for Function layer
156 * Double tap/hold - TT for Numpad layer
157 * Triple tap/hold - TT for Mouse layer
158 *
159*/
160void TTT_finished (qk_tap_dance_state_t *state, void *user_data) {
161 ttt_state.state = cur_dance(state);
162 switch (ttt_state.state) {
163 case SINGLE_TAP: layer_invert(_FUNCTION); break;
164 case SINGLE_HOLD: layer_on(_FUNCTION); break;
165 case DOUBLE_TAP: layer_invert(_NUMPAD); break;
166 case DOUBLE_HOLD: layer_on(_NUMPAD); break;
167 case DOUBLE_SINGLE_TAP: layer_invert(_NUMPAD); break;
168 case TRIPLE_TAP: layer_invert(_MOUSE); break;
169 case TRIPLE_HOLD: layer_on(_MOUSE); break;
170 }
171}
172
173void TTT_reset (qk_tap_dance_state_t *state, void *user_data) {
174 switch (ttt_state.state) {
175 case SINGLE_TAP: break;
176 case SINGLE_HOLD: layer_off(_FUNCTION); break;
177 case DOUBLE_TAP: break;
178 case DOUBLE_HOLD: layer_off(_NUMPAD); break;
179 case DOUBLE_SINGLE_TAP: break;
180 case TRIPLE_TAP: break;
181 case TRIPLE_HOLD: layer_off(_MOUSE); break;
182 }
183 ttt_state.state = 0;
184}
185
186const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
187
188 [_QWERTY] = LAYOUT_kc(
189 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
190 MESC, Q ,CSHW,ENAV, R , T ,SPC , CLPS, Y , U ,INAV, O , P ,TTT,
191 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
192 TAB , A , MEHS,DNUM,FCTL,GWIN,GRAVE, TILD, H ,JCTL, K ,MEHL,CLNMAUS,ENHM,
193 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
194 MINUS,ZCTL,MEHX, C ,ALTV, B ,DELETE, INS ,ALTN, M ,COMM,DOT ,SLSH,UNDS,
195 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
196 LSHIFT,BSPSYM, SPC ,ENTSYM
197 // \------------------+----+----+---/ \---+----+----+-------------------/
198 ),
199
200 [_NUMPAD] = LAYOUT_kc(
201 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
202 , , , ,ASTR, , , , , 7 , 8 , 9 ,ASTR,/**/,
203 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
204 ,MINS,PLUS,/**/,EQUAL, , , , , 4 , 5 , 6 ,PLUS, ,
205 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
206 , , , ,SLSH, , , , , 1 , 2 , 3 ,SLSH, ,
207 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
208 , , , 0
209 // \------------------+----+----+---/ \---+----+----+-------------------/
210 ),
211
212 [_SYMBOLS] = LAYOUT_kc(
213 //,----+----+-----+----+----+----+----. ,----+----+----+----+----+----+----.
214 ,EXLM, AT ,LCBR,RCBR,HASH, , ,CIRC,AMPR,ASTR,LPRN,RPRN,/**/,
215 //|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----|
216 ,EXLM,EXLM,LPRN,RPRN , , , , ,DQUO,EQUAL,QUOTE,RCBR, ,
217 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
218 ,DOLLAR, PERC,LBRACKET,RBRACKET, , , ,PIPE,BSLASH,PLUS, , , ,
219 //|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----|
220 UNDS,/**/, ,/**/
221 // \-------------------+----+----+---/ \---+----+----+-------------------/
222 ),
223
224 [_FUNCTION] = LAYOUT_kc(
225 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
226 F6F7 ,F1 ,F2 ,F3 ,ALF4,F5 ,F6 , F7 ,F8 ,F9 ,F10 ,F11 ,F12 ,/**/,
227 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
228 , , , , , , , , , , , , , ,
229 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
230 , , , , , , , , , , , , , ,
231 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
232 , , ,
233 // \------------------+----+----+---/ \---+----+----+-------------------/
234 ),
235
236 [_NAV] = LAYOUT_kc(
237 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
238 , ,SNAPLEFT,/**/,SNAPRIGHT,, , , , , UP , , , ,
239 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
240 ,SNAPUP,PREVTAB, ,NEXTTAB,SNAPDOWN,, , ,LEFT,DOWN,RGHT, , ,
241 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
242 , ,WORKLEFT, ,WORKRIGHT,, , , ,PGUP,PGDN, , , ,
243 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
244 CDEL ,DEL, ,
245 // \------------------+----+----+---/ \---+----+----+-------------------/
246 ),
247
248 [_TEXTNAV] = LAYOUT_kc(
249 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
250 , , , , , , , , , ,/**/, , , ,
251 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
252 , , , , , , , , , , , , , ,
253 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
254 , , , , , , , , , , , , , ,
255 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
256 , , ,
257 // \------------------+----+----+---/ \---+----+----+-------------------/
258 ),
259
260 [_MOUSE] = LAYOUT_kc(
261 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
262 , , ,MS_UP, , , , , , , UP , , , ,/**/
263 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
264 , ,MS_LEFT,MS_DOWN,MS_RIGHT, , , , ,LEFT,DOWN,RGHT,/**/, ,
265 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
266 , , , , , , , , , , , , , ,
267 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
268 ,MS_BTN1 ,MS_BTN2 ,
269 // \------------------+----+----+---/ \---+----+----+-------------------/
270 ),
271
272
273 [_MACROS] = LAYOUT_kc(
274 //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
275 /**/,RESET,SECRET_2,SECRET_3, , , ,SYSTEM_SLEEP, , ,INCL, , , ,
276 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
277 CAD ,SECRET_1, , , , , , , , , , , , ,
278 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
279 SCAP, , , , , , , , , , , , ,SCAP,
280 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
281 , , ,
282 // \------------------+----+----+---/ \---+----+----+-------------------/
283 )
284
285};
286
287const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
288{
289 switch(id) {
290 /* include some kind of library or header */
291 case 0:
292 if (record->event.pressed) {
293 SEND_STRING("#include <>");
294 return MACRO( T(LEFT), END);
295 }
296 break;
297 case 1:
298 if (record->event.pressed) {
299 SEND_STRING("git pull");
300 return MACRO( T(ENT), END );
301 }
302 break;
303 case 2:
304 if (record->event.pressed){
305 SEND_STRING("git push");
306 return MACRO( T(ENT), END );
307 }
308 break;
309 case 3:
310 if (record->event.pressed){
311 // layer_on(_CAPS);
312 // register_code(KC_CAPSLOCK);
313 // unregister_code(KC_CAPSLOCK);
314 }
315 break;
316 case 4:
317 if (record->event.pressed){
318 // layer_off(_CAPS);
319 // register_code(KC_CAPSLOCK);
320 // unregister_code(KC_CAPSLOCK);
321 }
322 break;
323 }
324 return MACRO_NONE;
325};
326
327
328void matrix_scan_user(void) {
329 uint8_t layer = biton32(layer_state);
330
331 switch (layer) {
332 case _QWERTY:
333 set_led_green;
334 break;
335 case _MOUSE:
336 set_led_yellow;
337 break;
338 case _NUMPAD:
339 set_led_blue;
340 break;
341 case _SYMBOLS:
342 set_led_red;
343 break;
344 case _NAV:
345 set_led_magenta;
346 break;
347 case _MACROS:
348 set_led_green;
349 _delay_ms(45);
350 set_led_red;
351 _delay_ms(45);
352 break;
353 case _FUNCTION:
354 set_led_green;
355 _delay_ms(45);
356 set_led_blue;
357 _delay_ms(45);
358 break;
359 default:
360 set_led_green;
361 break;
362 }
363};