aboutsummaryrefslogtreecommitdiff
path: root/users
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
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')
-rw-r--r--users/danielo515/combo.c44
-rw-r--r--users/danielo515/config.h4
-rw-r--r--users/danielo515/process_records.c247
-rw-r--r--users/danielo515/process_records.h94
4 files changed, 216 insertions, 173 deletions
diff --git a/users/danielo515/combo.c b/users/danielo515/combo.c
index 1c8414377..b33cb838b 100644
--- a/users/danielo515/combo.c
+++ b/users/danielo515/combo.c
@@ -6,31 +6,39 @@ enum combos {
6 UI_COM, 6 UI_COM,
7 IO_COM, 7 IO_COM,
8 QW_COM, 8 QW_COM,
9 COM_SLS, 9 DOT_SLS,
10 COM_DOT, 10 COM_DOT,
11 M_COMM, 11 M_COMM,
12 N_M, 12 N_M,
13 OP_COM, 13 OP_COM,
14 M_CM_DOT,
14}; 15};
15 16
16const uint16_t PROGMEM ui_combo[] = {KC_U, KC_I, COMBO_END}; 17const uint16_t PROGMEM ui_combo[] = {KC_U, KC_I, COMBO_END};
17const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; 18const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
18const uint16_t PROGMEM yu_combo[] = {KC_Y, KC_U, COMBO_END}; 19const uint16_t PROGMEM yu_combo[] = {KC_Y, KC_U, COMBO_END};
19const uint16_t PROGMEM io_combo[] = {KC_I, KC_O, COMBO_END}; 20const uint16_t PROGMEM io_combo[] = {KC_I, KC_O, COMBO_END};
20const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END}; 21const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
21const uint16_t PROGMEM com_sls[] = {KC_COMMA, KC_SLSH, COMBO_END}; 22const uint16_t PROGMEM dot_sls[] = {KC_DOT, KC_SLSH, COMBO_END};
22const uint16_t PROGMEM com_dot[] = {KC_COMMA, KC_DOT, COMBO_END}; 23const uint16_t PROGMEM com_dot[] = {KC_COMMA, KC_DOT, COMBO_END};
23const uint16_t PROGMEM m_comm[] = {KC_M,KC_COMMA, COMBO_END}; 24const uint16_t PROGMEM m_comm[] = {KC_M, KC_COMMA, COMBO_END};
24const uint16_t PROGMEM n_m[] = {KC_N, KC_M,COMBO_END}; 25const uint16_t PROGMEM n_m[] = {KC_N, KC_M, COMBO_END};
26const uint16_t PROGMEM o_p_combo[] = {KC_O, KC_P, COMBO_END};
27const uint16_t PROGMEM m_cm_dot_combo[] = {KC_M, KC_COMMA, KC_DOT, COMBO_END};
25 28
26combo_t key_combos[COMBO_COUNT] = { 29combo_t key_combos[COMBO_COUNT] = {
27 [JK_ESC] = COMBO(jk_combo, KC_ESC), 30 [JK_ESC] = COMBO(jk_combo, KC_ESC),
28 [YU_COM] = COMBO(yu_combo, KC_CIRC), 31 [YU_COM] = COMBO(yu_combo, KC_AMPR),
29 [UI_COM] = COMBO(ui_combo, KC_DLR), 32 [UI_COM] = COMBO(ui_combo, KC_CIRC),
30 [IO_COM] = COMBO(io_combo, KC_TILD), 33 [IO_COM] = COMBO(io_combo, KC_TILD),
34 [DOT_SLS] = COMBO(dot_sls, KC_EXLM),
35 [COM_DOT] = COMBO(com_dot, KC_QUES),
36 [N_M] = COMBO(n_m, KC_DLR),
37 [OP_COM] = COMBO(o_p_combo, KC_HASH),
38 // m + , = {
39 [M_COMM] = COMBO(m_comm, KC_LCBR),
40 // m + , + . = }
41 // [M_CM_DOT] = COMBO(m_cm_dot_combo, KC_RCBR),
42 // Right hand side combos
31 [QW_COM] = COMBO(qw_combo, KC_AT), 43 [QW_COM] = COMBO(qw_combo, KC_AT),
32 [COM_SLS] = COMBO(com_sls, KC_QUES),
33 [COM_DOT] = COMBO(com_dot, KC_QUES),
34 [M_COMM] = COMBO(m_comm, KC_ESC),
35 [N_M] = COMBO(n_m, KC_DLR),
36}; 44};
diff --git a/users/danielo515/config.h b/users/danielo515/config.h
index fb2472645..d7efcd536 100644
--- a/users/danielo515/config.h
+++ b/users/danielo515/config.h
@@ -1,8 +1,8 @@
1#pragma once 1#pragma once
2 2
3#if defined(COMBO_ENABLE) 3#if defined(COMBO_ENABLE)
4 #define COMBO_COUNT 9 4# define COMBO_COUNT 11
5 #define COMBO_TERM 40 5# define COMBO_TERM 25
6#endif // !COMBO_ENABLE 6#endif // !COMBO_ENABLE
7// Timeout settings for leader key 7// Timeout settings for leader key
8#undef LEADER_TIMEOUT 8#undef LEADER_TIMEOUT
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
diff --git a/users/danielo515/process_records.h b/users/danielo515/process_records.h
index c994511a5..0efd690d4 100644
--- a/users/danielo515/process_records.h
+++ b/users/danielo515/process_records.h
@@ -1,35 +1,36 @@
1#pragma once 1#pragma once
2#include "quantum.h" 2#include "quantum.h"
3 3
4enum custom_keycodes 4enum custom_keycodes {
5{ 5 RGB_SLD = SAFE_RANGE,
6 EPRM = SAFE_RANGE,
7 RGB_SLD,
8 ALT_TAB, 6 ALT_TAB,
9 QWERTY, 7 QWERTY,
10 SYM, 8 SYM,
11 NAV, 9 NAV,
12 ADJUST, 10 ADJUST,
13// Macros 11 // Macros
14 ARROW, 12 ARROW,
15 IARROW, 13 IARROW,
16 CLN_EQ, 14 CLN_EQ,
17 F_ARROW, 15 F_ARROW,
18 GREP, 16 GREP,
19// Accented characters 17 // Accented characters
20 AC_A, 18 AC_A,
21 AC_E, 19 AC_E,
22 AC_I, 20 AC_I,
23 AC_O, 21 AC_O,
24// Custom multi-os key-codes 22 // Custom multi-os key-codes
25 CUT, 23 CUT,
26 COPY, 24 COPY,
27 PASTE, 25 PASTE,
28 SAVE, 26 SAVE,
29 UNDO, 27 UNDO,
28 REDO,
30 CHG_LAYOUT, 29 CHG_LAYOUT,
31 FIND, 30 FIND,
32// OTHER OLD STUFF 31 WIN_TO_LEFT,
32 WIN_TO_RIGHT,
33 // OTHER OLD STUFF
33 LOWER, 34 LOWER,
34 RAISE, 35 RAISE,
35 MAC_TGL, 36 MAC_TGL,
@@ -57,48 +58,49 @@ enum layers {
57}; 58};
58 59
59//===== Function letters 60//===== Function letters
60# define FN_F LT(_F,KC_F) 61#define FN_F LT(_F, KC_F)
61# define FN_D LT(_D,KC_D) 62#define FN_D LT(_D, KC_D)
62# define FN_S LT(_S,KC_S) 63#define FN_S LT(_S, KC_S)
63# define FN_A LT(_A,KC_A) 64#define FN_A LT(_A, KC_A)
64# define FN_K LT(_K,KC_K) 65#define FN_K LT(_K, KC_K)
65# define FN_J LT(_J,KC_J) 66#define FN_J LT(_J, KC_J)
66# define KC_FN_D FN_D 67#define KC_FN_D FN_D
67# define KC_FN_S FN_S 68#define KC_FN_S FN_S
68# define KC_FN_F FN_F 69#define KC_FN_F FN_F
69 70
70# define KC_MACROS OSL(_MACROS) 71#define KC_MACROS OSL(_MACROS)
71 72
72 73#define KC_E_COLN LSFT(KC_DOT)
73# define KC_E_COLN LSFT(KC_DOT) 74#define KC_E_EQL ES_EQL
74# define KC_E_EQL ES_EQL 75#define KC_GUI OSM(MOD_RGUI)
75# define KC_GUI OSM(MOD_RGUI) 76#define KC_R_NUB S(KC_NUBS)
76# define KC_R_NUB S(KC_NUBS) 77#define KC_E_LT KC_NUBS
77# define KC_E_LT KC_NUBS 78#define KC_E_GT S(KC_NUBS)
78# define KC_E_GT S(KC_NUBS) 79#define KC_E_TILD ES_TILD
79# define KC_E_TILD ES_TILD 80#define KC_E_MINS ES_MINS
80# define KC_E_MINS ES_MINS 81#define KC_E_OVRR ES_OVRR
81# define KC_E_OVRR ES_OVRR 82#define KC_E_APOS ES_APOS
82# define KC_E_APOS ES_APOS 83#define KC_E_IEXL ES_IEXL
83# define KC_E_IEXL ES_IEXL
84//========== Short hand for complex key combinations 84//========== Short hand for complex key combinations
85# define WIN_LEFT_HALF LALT(LGUI(KC_LEFT)) 85#define WIN_LEFT_HALF LALT(LGUI(KC_LEFT))
86# define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT)) 86#define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT))
87# define WIN_TO_LEFT LALT(LSFT( LGUI(KC_LEFT) )) 87#define ALL_WIN LCTL(KC_DOWN)
88# define WIN_TO_RIGHT LALT(LSFT( LGUI(KC_RIGHT) )) 88#define EXPOSE LGUI(KC_DOWN)
89# define ALL_WIN LCTL(KC_DOWN)
90# define EXPOSE LGUI(KC_DOWN)
91// ========== Modifiers!! 89// ========== Modifiers!!
92# define SHIFT OSM(MOD_LSFT) 90#define SHIFT OSM(MOD_LSFT)
93//=============== tap for key hold for mod 91//=============== tap for key hold for mod
94# define HYPR_H HYPR_T(KC_H) 92#define HYPR_H HYPR_T(KC_H)
95# define CTL_K RCTL_T(KC_K) 93#define CTL_K RCTL_T(KC_K)
96# define ALT_J ALT_T(KC_J) 94#define ALT_J ALT_T(KC_J)
97# define SFT_MINS LSFT_T(KC_MINS) // tap - hold shift 95#define SFT_MINS LSFT_T(KC_MINS) // tap - hold shift
98# define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd 96#define CMD_MINS GUI_T(KC_MINS) // tap - hold cmd
97#define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd
98#define SFT_QUOT LSFT_T(KC_QUOTE) // tap ' hold shift
99//=============== Movement modified 99//=============== Movement modified
100# define CTL_LEFT LCTL(KC_LEFT) 100#define CTL_LEFT LCTL(KC_LEFT)
101# define CTL_RIGHT LCTL(KC_RIGHT) 101#define CTL_RIGHT LCTL(KC_RIGHT)
102 102
103# define SFT_LEFT LSFT(KC_LEFT) 103#define SFT_LEFT LSFT(KC_LEFT)
104# define SFT_RIGHT LSFT(KC_RIGHT) 104#define SFT_RIGHT LSFT(KC_RIGHT)
105#define SFT_LEFT_END LGUI(LSFT(KC_LEFT))
106#define SFT_RIGHT_END LGUI(LSFT(KC_RIGHT))