aboutsummaryrefslogtreecommitdiff
path: root/users/danielo515/process_records.c
diff options
context:
space:
mode:
authorDaniel Rodríguez Rivero <rdanielo@gmail.com>2020-09-06 22:13:18 +0200
committerGitHub <noreply@github.com>2020-09-06 13:13:18 -0700
commit8ac9940a76f09d4a47be342fc123306ecbfb27f3 (patch)
treec7cf84279d073af479185c682fdb65991847cb0e /users/danielo515/process_records.c
parentac24f203cc4141d6d27f27dc173e04fc5edde741 (diff)
downloadqmk_firmware-8ac9940a76f09d4a47be342fc123306ecbfb27f3.tar.gz
qmk_firmware-8ac9940a76f09d4a47be342fc123306ecbfb27f3.zip
[Keymap] danielo515/redox-1 (#9935)
* chore: pulled the latest from master Bring my redox layout from my latest redox branch Bring my latest user stuff from my redox branch * Update users/danielo515/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * chore: small cleanup Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/danielo515/process_records.c')
-rw-r--r--users/danielo515/process_records.c247
1 files changed, 140 insertions, 107 deletions
diff --git a/users/danielo515/process_records.c b/users/danielo515/process_records.c
index b1a8b9255..22a46789a 100644
--- a/users/danielo515/process_records.c
+++ b/users/danielo515/process_records.c
@@ -4,11 +4,11 @@ extern bool onMac;
4// ======== INCREMENTAL MACROS STUFF ============= 4// ======== INCREMENTAL MACROS STUFF =============
5#define MAX_INCREMENTAL_MACRO 20 5#define MAX_INCREMENTAL_MACRO 20
6#define TAP_ROTATION_TIMEOUT 400 6#define TAP_ROTATION_TIMEOUT 400
7uint16_t latest_kc = 0; 7uint16_t latest_kc = 0;
8uint16_t latest_rotation = 0; 8uint16_t latest_rotation = 0;
9int key_count = 0; 9int key_count = 0;
10 10
11const char incremental_macros[][MAX_INCREMENTAL_MACRO] = { "String1"SS_TAP(X_HOME)"X-", "String2"SS_TAP(X_HOME) }; 11const char incremental_macros[][MAX_INCREMENTAL_MACRO] = {"String1" SS_TAP(X_HOME) "X-", "String2" SS_TAP(X_HOME)};
12 12
13bool process_incremental_macro(uint16_t kc) { 13bool process_incremental_macro(uint16_t kc) {
14 if (kc < INC_MACROS_START || kc > INC_MACROS_END) { 14 if (kc < INC_MACROS_START || kc > INC_MACROS_END) {
@@ -44,124 +44,157 @@ void refresh_incremental_macros(uint16_t kc) {
44} 44}
45// Send control or GUI depending if we are on windows or mac 45// Send control or GUI depending if we are on windows or mac
46bool CMD(uint16_t kc) { 46bool CMD(uint16_t kc) {
47 if(onMac){ tap_code16(LGUI(kc)); } else { tap_code16(LCTL(kc)); } 47 if (onMac) {
48 tap_code16(LGUI(kc));
49 } else {
50 tap_code16(LCTL(kc));
51 }
48 return false; 52 return false;
49} 53}
50 54
51bool process_record_user(uint16_t keycode, keyrecord_t *record) { 55bool process_record_user(uint16_t keycode, keyrecord_t *record) {
52 bool pressed = record->event.pressed; 56 bool pressed = record->event.pressed;
53 if(pressed){ 57 if (pressed) {
54 refresh_incremental_macros(keycode); 58 refresh_incremental_macros(keycode);
55 if(process_incremental_macro(keycode)){ 59 if (process_incremental_macro(keycode)) {
56 return false; 60 return false;
57 } 61 }
58 switch (keycode) { 62 switch (keycode) {
59 case MAC_TGL: 63 case MAC_TGL:
60 onMac = !onMac; 64 onMac = !onMac;
61 onMac ? SEND_STRING("On mac") : SEND_STRING("Not on MAC"); 65 onMac ? SEND_STRING("On mac") : SEND_STRING("Not on MAC");
62 return false; 66 return false;
63 } 67 }
64 } 68 }
65 69
66 switch (keycode) { 70 switch (keycode) {
67 case QWERTY: 71 case QWERTY:
68 if (record->event.pressed) { 72 if (record->event.pressed) {
69 #ifdef AUDIO_ENABLE 73#ifdef AUDIO_ENABLE
70 PLAY_SONG(tone_qwerty); 74 PLAY_SONG(tone_qwerty);
71 #endif 75#endif
72 layer_on(_QWERTY); 76 layer_on(_QWERTY);
73 } 77 }
74 return false; 78 return false;
75 case LOWER: 79 case LOWER:
76 if (record->event.pressed) { 80 if (record->event.pressed) {
77 layer_on(_LOWER); 81 layer_on(_LOWER);
78 } else { 82 } else {
79 layer_off(_LOWER); 83 layer_off(_LOWER);
80 } 84 }
81 return false; 85 return false;
82 case RAISE: 86 case RAISE:
83 if (record->event.pressed) { 87 if (record->event.pressed) {
84 layer_on(_RAISE); 88 layer_on(_RAISE);
85 } else { 89 } else {
86 layer_off(_RAISE); 90 layer_off(_RAISE);
87 } 91 }
88 return false; 92 return false;
89 case ADJUST: 93 case ADJUST:
90 if (record->event.pressed) { 94 if (record->event.pressed) {
91 layer_on(_ADJUST); 95 layer_on(_ADJUST);
92 } else { 96 } else {
93 layer_off(_ADJUST); 97 layer_off(_ADJUST);
94 } 98 }
95 return false; 99 return false;
96 // == Macros START === 100 // == Macros START ===
97 case IARROW: if (record->event.pressed) SEND_STRING("<-"); return false; 101 case IARROW:
98 case ARROW: if (record->event.pressed) SEND_STRING("->"); return false; 102 if (record->event.pressed) SEND_STRING("<-");
99 case F_ARROW: if (record->event.pressed) SEND_STRING("=>"); return false; 103 return false;
100 case GREP: if (record->event.pressed) SEND_STRING(" | grep "); return false; 104 case ARROW:
101 case CLN_EQ: if (record->event.pressed) SEND_STRING(":="); return false; 105 if (record->event.pressed) SEND_STRING("->");
102 // == Macros END === 106 return false;
103 // == Multi Os START === 107 case F_ARROW:
104 case KC_HOME:// make the home behave the same on OSX 108 if (record->event.pressed) SEND_STRING("=>");
105 if (record->event.pressed && onMac) { 109 return false;
106 SEND_STRING(SS_LCTRL("a")); 110 case GREP:
107 return false; 111 if (record->event.pressed) SEND_STRING(" | grep ");
108 } 112 return false;
109 case KC_END:// make the end behave the same on OSX 113 case CLN_EQ:
110 if (record->event.pressed && onMac) { 114 if (record->event.pressed) SEND_STRING(":=");
111 tap_code16(C(KC_E)); 115 return false;
112 return false; 116 // == Macros END ===
113 } 117 // == Multi Os START ===
114 case AC_A:// Accent á 118 case KC_HOME: // make the home behave the same on OSX
115 if (record->event.pressed) SEND_STRING(SS_LALT("e") "a"); return false; 119 if (record->event.pressed && onMac) {
116 case AC_E:// Accent é 120 SEND_STRING(SS_LCTRL("a"));
117 if (record->event.pressed) SEND_STRING(SS_LALT("e") "e"); return false; 121 return false;
118 case AC_I:// Accent í 122 }
119 if (record->event.pressed) SEND_STRING(SS_LALT("e") "i"); return false; 123 case KC_END: // make the end behave the same on OSX
120 case AC_O:// Accent ó 124 if (record->event.pressed && onMac) {
121 if (record->event.pressed) SEND_STRING(SS_LALT("e") "o"); return false; 125 tap_code16(C(KC_E));
122 case CUT: if (record->event.pressed) return CMD(KC_X); 126 return false;
123 case COPY: 127 }
124 if (record->event.pressed) { 128 case AC_A: // Accent á
125 onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c")); 129 if (record->event.pressed) SEND_STRING(SS_LALT("e") "a");
126 } 130 return false;
127 return false; 131 case AC_E: // Accent é
128 case PASTE: 132 if (record->event.pressed) SEND_STRING(SS_LALT("e") "e");
129 if (record->event.pressed) { 133 return false;
130 onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v")); 134 case AC_I: // Accent í
131 } 135 if (record->event.pressed) SEND_STRING(SS_LALT("e") "i");
132 return false; 136 return false;
133 case SAVE: 137 case AC_O: // Accent ó
134 if (record->event.pressed) { 138 if (record->event.pressed) SEND_STRING(SS_LALT("e") "o");
135 onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTRL("s")); 139 return false;
136 } 140 case CUT:
137 return false; 141 if (record->event.pressed) return CMD(KC_X);
138 case UNDO: 142 case COPY:
139 if (record->event.pressed) { 143 if (record->event.pressed) {
140 onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTRL("z")); 144 onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c"));
141 } 145 }
142 return false; 146 return false;
143 case FIND: 147 case PASTE:
144 if (record->event.pressed) { 148 if (record->event.pressed) {
145 onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTRL("f")); 149 onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v"));
146 } 150 }
147 return false; 151 return false;
148 case CHG_LAYOUT: 152 case SAVE:
149 if (record->event.pressed) { 153 if (record->event.pressed) {
150 onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f")); 154 onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTRL("s"));
151 } 155 }
152 return false; 156 return false;
153 // == Multi Os END === 157 case UNDO:
158 if (record->event.pressed) {
159 onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTRL("z"));
160 }
161 return false;
162 case REDO:
163 if (record->event.pressed) {
164 onMac ? SEND_STRING(SS_LGUI(SS_LSFT("z"))) : SEND_STRING(SS_LCTRL("y"));
165 }
166 return false;
167 case FIND:
168 if (record->event.pressed) {
169 onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTRL("f"));
170 }
171 return false;
172 case WIN_TO_RIGHT:
173 if (record->event.pressed) {
174 onMac ? tap_code16(SGUI(A(KC_RIGHT))) : tap_code16(G(KC_RIGHT));
175 }
176 return false;
177 case WIN_TO_LEFT:
178 if (record->event.pressed) {
179 onMac ? tap_code16(SGUI(A(KC_LEFT))) : tap_code16(G(KC_LEFT));
180 }
181 return false;
182 case CHG_LAYOUT:
183 if (record->event.pressed) {
184 onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f"));
185 }
186 return false;
187 // == Multi Os END ===
154#ifdef RGBLIGHT_ENABLE 188#ifdef RGBLIGHT_ENABLE
155 case RGB_SLD: 189 case RGB_SLD:
156 if (record->event.pressed) { rgblight_mode(1); } 190 if (record->event.pressed) {
157 return false; 191 rgblight_mode(1);
158 break; 192 }
159 //First time alt + tab, and alt stays sticky. Next press we just send tab. Any other key releases the alt 193 return false;
194 break;
195 // First time alt + tab, and alt stays sticky. Next press we just send tab. Any other key releases the alt
160#endif 196#endif
161 } 197 }
162// =============== ALT_TAB single key handling 198 // =============== ALT_TAB single key handling
163 return process_alt_tab(keycode, record); 199 return process_alt_tab(keycode, record);
164}; 200};
165
166
167