diff options
Diffstat (limited to 'layouts')
8 files changed, 291 insertions, 439 deletions
diff --git a/layouts/community/ergodox/coderkun_neo2/keymap.c b/layouts/community/ergodox/coderkun_neo2/keymap.c index b38c99f2e..b731ab495 100644 --- a/layouts/community/ergodox/coderkun_neo2/keymap.c +++ b/layouts/community/ergodox/coderkun_neo2/keymap.c | |||
@@ -215,12 +215,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
215 | ), | 215 | ), |
216 | }; | 216 | }; |
217 | 217 | ||
218 | const uint16_t PROGMEM fn_actions[] = { | ||
219 | [BASE] = ACTION_FUNCTION(BASE), | ||
220 | [PMQ] = ACTION_FUNCTION(PMQ), | ||
221 | [PMN] = ACTION_FUNCTION(PMN), | ||
222 | }; | ||
223 | |||
224 | // Runs just one time when the keyboard initializes. | 218 | // Runs just one time when the keyboard initializes. |
225 | void matrix_init_user(void) { | 219 | void matrix_init_user(void) { |
226 | set_unicode_input_mode(UC_LNX); | 220 | set_unicode_input_mode(UC_LNX); |
diff --git a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c index e94e6f219..b9986e0e9 100644 --- a/layouts/community/ergodox/colemak_osx_pc_no/keymap.c +++ b/layouts/community/ergodox/colemak_osx_pc_no/keymap.c | |||
@@ -9,6 +9,18 @@ | |||
9 | #define NUMB_SYMB_MAC 3 // numbers and symbols mac | 9 | #define NUMB_SYMB_MAC 3 // numbers and symbols mac |
10 | #define FUNCTION 4 // function keys | 10 | #define FUNCTION 4 // function keys |
11 | 11 | ||
12 | enum custom_keycodes { | ||
13 | TILDE_NO = SAFE_RANGE, | ||
14 | LESS_NO, | ||
15 | GRTR_NO, | ||
16 | CIRC_NO, | ||
17 | ACUT_NO, | ||
18 | GRV_NO, | ||
19 | LESS_NO_MAC, | ||
20 | GRTR_NO_MAC, | ||
21 | ACUT_NO_MAC | ||
22 | }; | ||
23 | |||
12 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 24 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
13 | 25 | ||
14 | /* Keymap 0: Basic layer PC | 26 | /* Keymap 0: Basic layer PC |
@@ -43,11 +55,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
43 | NO_PLUS, | 55 | NO_PLUS, |
44 | OSM(MOD_LSFT),CTL_T(KC_DOT),ALT_T(NO_MINS), | 56 | OSM(MOD_LSFT),CTL_T(KC_DOT),ALT_T(NO_MINS), |
45 | // right hand | 57 | // right hand |
46 | KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, | 58 | CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT, |
47 | NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE , | 59 | NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE , |
48 | KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR, | 60 | KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR, |
49 | NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS, | 61 | NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS, |
50 | KC_LEFT, KC_ESC, KC_FN7, KC_HASH, MO(2), | 62 | KC_LEFT, KC_ESC, GRV_NO, KC_HASH, MO(2), |
51 | KC_INSERT, NO_SLSH, | 63 | KC_INSERT, NO_SLSH, |
52 | KC_DEL, | 64 | KC_DEL, |
53 | KC_BSPC,KC_ENT,KC_SPC | 65 | KC_BSPC,KC_ENT,KC_SPC |
@@ -83,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
83 | KC_TRNS, | 95 | KC_TRNS, |
84 | KC_TRNS,GUI_T(KC_DOT) , KC_TRNS, | 96 | KC_TRNS,GUI_T(KC_DOT) , KC_TRNS, |
85 | // right hand | 97 | // right hand |
86 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_QUOT, | 98 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT, |
87 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 99 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
88 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 100 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
89 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 101 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
@@ -125,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
125 | KC_TRNS, KC_TRNS, KC_TRNS, | 137 | KC_TRNS, KC_TRNS, KC_TRNS, |
126 | // right hand | 138 | // right hand |
127 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 139 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
128 | KC_TRNS, KC_TRNS, KC_FN2, KC_FN6 , KC_TRNS, KC_TRNS, KC_TRNS, | 140 | KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO , KC_TRNS, KC_TRNS, KC_TRNS, |
129 | KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, | 141 | KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, |
130 | KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, | 142 | KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, |
131 | KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 143 | KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
@@ -166,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
166 | KC_TRNS, KC_TRNS, KC_TRNS, | 178 | KC_TRNS, KC_TRNS, KC_TRNS, |
167 | // right hand | 179 | // right hand |
168 | KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, | 180 | KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, |
169 | KC_TRNS, KC_TRNS, KC_FN2, KC_FN10, KC_TRNS, KC_TRNS, KC_TRNS, | 181 | KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO_MAC, KC_TRNS, KC_TRNS, KC_TRNS, |
170 | KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, | 182 | KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS, |
171 | KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, | 183 | KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, |
172 | KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 184 | KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
@@ -217,47 +229,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
217 | ) | 229 | ) |
218 | }; | 230 | }; |
219 | 231 | ||
220 | enum macro_id { | 232 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
221 | TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC | 233 | switch (keycode) { |
222 | }; | ||
223 | |||
224 | const uint16_t PROGMEM fn_actions[] = { | ||
225 | [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. | ||
226 | [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. | ||
227 | [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. | ||
228 | [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. | ||
229 | [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. | ||
230 | [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. | ||
231 | [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly | ||
232 | [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly | ||
233 | [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed | ||
234 | }; | ||
235 | |||
236 | |||
237 | |||
238 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
239 | { | ||
240 | keyevent_t event = record->event; | ||
241 | |||
242 | switch (id) { | ||
243 | case TILDE_NO: | 234 | case TILDE_NO: |
244 | return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); | 235 | if (record->event.pressed) { |
236 | tap_code16(ALGR(KC_RBRC)); | ||
237 | tap_code(KC_SPC); | ||
238 | } | ||
239 | return false; | ||
245 | case LESS_NO: | 240 | case LESS_NO: |
246 | return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); | 241 | if (record->event.pressed) { |
242 | tap_code(KC_NUBS); | ||
243 | } | ||
244 | return false; | ||
247 | case GRTR_NO: | 245 | case GRTR_NO: |
248 | return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); | 246 | if (record->event.pressed) { |
247 | tap_code16(S(KC_NUBS)); | ||
248 | } | ||
249 | return false; | ||
249 | case CIRC_NO: | 250 | case CIRC_NO: |
250 | return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); | 251 | if (record->event.pressed) { |
252 | tap_code16(S(KC_RBRC)); | ||
253 | tap_code(KC_SPC); | ||
254 | } | ||
255 | return false; | ||
251 | case ACUT_NO: | 256 | case ACUT_NO: |
252 | return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); | 257 | if (record->event.pressed) { |
258 | tap_code16(ALGR(KC_EQL)); | ||
259 | tap_code(KC_SPC); | ||
260 | } | ||
261 | return false; | ||
253 | case GRV_NO: | 262 | case GRV_NO: |
254 | return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); | 263 | if (record->event.pressed) { |
264 | SEND_STRING(SS_LSFT("= ")); | ||
265 | } | ||
266 | return false; | ||
255 | case LESS_NO_MAC: | 267 | case LESS_NO_MAC: |
256 | return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); | 268 | if (record->event.pressed) { |
269 | tap_code(KC_GRV); | ||
270 | } | ||
271 | return false; | ||
257 | case GRTR_NO_MAC: | 272 | case GRTR_NO_MAC: |
258 | return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); | 273 | if (record->event.pressed) { |
274 | tap_code16(S(KC_GRV)); | ||
275 | } | ||
276 | return false; | ||
259 | case ACUT_NO_MAC: | 277 | case ACUT_NO_MAC: |
260 | return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); | 278 | if (record->event.pressed) { |
279 | tap_code(KC_EQL); | ||
280 | tap_code(KC_SPC); | ||
281 | } | ||
282 | return false; | ||
261 | } | 283 | } |
262 | return MACRO_NONE; | 284 | return true; |
263 | }; | 285 | } |
diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c index 0ae1ef7fb..345e25e03 100644 --- a/layouts/community/ergodox/deadcyclo/keymap.c +++ b/layouts/community/ergodox/deadcyclo/keymap.c | |||
@@ -1,6 +1,4 @@ | |||
1 | #include QMK_KEYBOARD_H | 1 | #include QMK_KEYBOARD_H |
2 | #include "debug.h" | ||
3 | #include "action_layer.h" | ||
4 | #include "version.h" | 2 | #include "version.h" |
5 | 3 | ||
6 | #define BASE 0 // default layer | 4 | #define BASE 0 // default layer |
@@ -9,45 +7,19 @@ | |||
9 | #define UNI 3 // unicode 1 | 7 | #define UNI 3 // unicode 1 |
10 | #define UNI2 4 // unicode 2 | 8 | #define UNI2 4 // unicode 2 |
11 | 9 | ||
12 | enum macros { | 10 | enum custom_keycodes { |
13 | RUN | 11 | I3_RUN = SAFE_RANGE, |
14 | }; | ||
15 | |||
16 | enum function_ids { | ||
17 | EMOJI, | ||
18 | EMOJI2, | ||
19 | EPRM, | ||
20 | VRSN, | 12 | VRSN, |
21 | RGB_SLD, | 13 | I3_GO_GROUP_1, |
22 | GO_GROUP | 14 | I3_GO_GROUP_2, |
23 | }; | 15 | I3_GO_GROUP_3, |
24 | 16 | I3_GO_GROUP_4, | |
25 | /* opt can only be 0-15 */ | 17 | I3_GO_GROUP_5, |
26 | enum emojis { | 18 | I3_GO_GROUP_6, |
27 | SHRUG, | 19 | I3_GO_GROUP_7, |
28 | YAY, | 20 | I3_GO_GROUP_8, |
29 | HUG, | 21 | I3_GO_GROUP_9, |
30 | SMILE, | 22 | I3_GO_GROUP_10, |
31 | SMILE2, | ||
32 | HMM1, | ||
33 | HMM2, | ||
34 | BEAR1, | ||
35 | BEAR2, | ||
36 | FUU, | ||
37 | EGGY1, | ||
38 | EGGY2, | ||
39 | FACE1, | ||
40 | FACE2, | ||
41 | UHU, | ||
42 | SMRK1 | ||
43 | }; | ||
44 | |||
45 | enum emojis2 { | ||
46 | SMRK2, | ||
47 | LOVE | ||
48 | }; | ||
49 | |||
50 | enum progmem_ids { | ||
51 | EMOJI_SHRUG, | 23 | EMOJI_SHRUG, |
52 | EMOJI_YAY, | 24 | EMOJI_YAY, |
53 | EMOJI_HUG, | 25 | EMOJI_HUG, |
@@ -65,20 +37,7 @@ enum progmem_ids { | |||
65 | EMOJI_UHU, | 37 | EMOJI_UHU, |
66 | EMOJI_SMRK1, | 38 | EMOJI_SMRK1, |
67 | EMOJI_SMRK2, | 39 | EMOJI_SMRK2, |
68 | EMOJI_LOVE, | 40 | EMOJI_LOVE |
69 | F_EPRM, | ||
70 | F_VRSN, | ||
71 | F_RGB_SLD, | ||
72 | I3_GO_GROUP_10, | ||
73 | I3_GO_GROUP_1, | ||
74 | I3_GO_GROUP_2, | ||
75 | I3_GO_GROUP_3, | ||
76 | I3_GO_GROUP_4, | ||
77 | I3_GO_GROUP_5, | ||
78 | I3_GO_GROUP_6, | ||
79 | I3_GO_GROUP_7, | ||
80 | I3_GO_GROUP_8, | ||
81 | I3_GO_GROUP_9, | ||
82 | }; | 41 | }; |
83 | 42 | ||
84 | // TODO: Finish the macros for i3 (Macros should potentially be own function instead to make things easier? some of them at least, f. ex. the ones that use 1-0 keys so we can have a single switch) | 43 | // TODO: Finish the macros for i3 (Macros should potentially be own function instead to make things easier? some of them at least, f. ex. the ones that use 1-0 keys so we can have a single switch) |
@@ -163,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
163 | KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, | 122 | KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, |
164 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 123 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
165 | RGB_TOG,RGB_MOD, | 124 | RGB_TOG,RGB_MOD, |
166 | F(F_RGB_SLD), | 125 | RGB_M_P, |
167 | RGB_VAD,RGB_VAI,KC_TRNS, | 126 | RGB_VAD,RGB_VAI,KC_TRNS, |
168 | // right hand | 127 | // right hand |
169 | KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | 128 | KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, |
@@ -173,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
173 | KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, | 132 | KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, |
174 | RGB_HUD, RGB_HUI, | 133 | RGB_HUD, RGB_HUI, |
175 | KC_TRNS, | 134 | KC_TRNS, |
176 | F(F_EPRM), KC_DEL, KC_TRNS | 135 | EEP_RST, KC_DEL, KC_TRNS |
177 | ), | 136 | ), |
178 | /* Keymap 2: Media, mouse and navigation | 137 | /* Keymap 2: Media, mouse and navigation |
179 | * | 138 | * |
@@ -198,8 +157,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
198 | */ | 157 | */ |
199 | // MEDIA , MOUSE and NAVIGATION | 158 | // MEDIA , MOUSE and NAVIGATION |
200 | [MDIA] = LAYOUT_ergodox( | 159 | [MDIA] = LAYOUT_ergodox( |
201 | KC_TRNS, F(I3_GO_GROUP_1), F(I3_GO_GROUP_2), F(I3_GO_GROUP_3), F(I3_GO_GROUP_4), F(I3_GO_GROUP_5), F(I3_GO_GROUP_6), | 160 | KC_TRNS, I3_GO_GROUP_1, I3_GO_GROUP_2, I3_GO_GROUP_3, I3_GO_GROUP_4, I3_GO_GROUP_5, I3_GO_GROUP_6, |
202 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | 161 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS, |
203 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, | 162 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, |
204 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 163 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
205 | KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, | 164 | KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, |
@@ -207,7 +166,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
207 | KC_TRNS, | 166 | KC_TRNS, |
208 | KC_TRNS, KC_TRNS, KC_TRNS, | 167 | KC_TRNS, KC_TRNS, KC_TRNS, |
209 | // right hand | 168 | // right hand |
210 | F(I3_GO_GROUP_6), F(I3_GO_GROUP_7), F(I3_GO_GROUP_8), F(I3_GO_GROUP_9), F(I3_GO_GROUP_10), KC_TRNS, KC_TRNS, | 169 | I3_GO_GROUP_6, I3_GO_GROUP_7, I3_GO_GROUP_8, I3_GO_GROUP_9, I3_GO_GROUP_10, KC_TRNS, KC_TRNS, |
211 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, | 170 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, |
212 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY, | 171 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY, |
213 | KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, | 172 | KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, |
@@ -241,10 +200,10 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
241 | // Unicode | 200 | // Unicode |
242 | [UNI] = LAYOUT_ergodox( | 201 | [UNI] = LAYOUT_ergodox( |
243 | KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500), | 202 | KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500), |
244 | KC_TRNS, F(EMOJI_SHRUG), F(EMOJI_YAY), F(EMOJI_HUG), F(EMOJI_SMILE), F(EMOJI_SMILE2), KC_TRNS, | 203 | KC_TRNS, EMOJI_SHRUG, EMOJI_YAY, EMOJI_HUG, EMOJI_SMILE, EMOJI_SMILE2, KC_TRNS, |
245 | KC_TRNS, F(EMOJI_HMM1), F(EMOJI_HMM2), F(EMOJI_BEAR1), F(EMOJI_BEAR2), F(EMOJI_FUU), | 204 | KC_TRNS, EMOJI_HMM1, EMOJI_HMM2, EMOJI_BEAR1, EMOJI_BEAR2, EMOJI_FUU, |
246 | KC_TRNS, F(EMOJI_EGGY1), F(EMOJI_EGGY2), F(EMOJI_FACE1), F(EMOJI_FACE2), F(EMOJI_UHU), KC_TRNS, | 205 | KC_TRNS, EMOJI_EGGY1, EMOJI_EGGY2, EMOJI_FACE1, EMOJI_FACE2, EMOJI_UHU, KC_TRNS, |
247 | KC_TRNS, F(EMOJI_SMRK1), F(EMOJI_SMRK2), F(EMOJI_LOVE), F(F_VRSN), | 206 | KC_TRNS, EMOJI_SMRK1, EMOJI_SMRK2, EMOJI_LOVE, VRSN, |
248 | KC_TRNS, KC_TRNS, | 207 | KC_TRNS, KC_TRNS, |
249 | KC_TRNS, | 208 | KC_TRNS, |
250 | KC_TRNS, KC_TRNS, KC_TRNS, | 209 | KC_TRNS, KC_TRNS, KC_TRNS, |
@@ -302,220 +261,84 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
302 | ), | 261 | ), |
303 | }; | 262 | }; |
304 | 263 | ||
305 | const uint16_t PROGMEM fn_actions[] = { | 264 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
306 | [EMOJI_SHRUG] = ACTION_FUNCTION_OPT(EMOJI, SHRUG), | 265 | if (record->event.pressed) { |
307 | [EMOJI_YAY] = ACTION_FUNCTION_OPT(EMOJI, YAY), | 266 | switch (keycode) { |
308 | [EMOJI_HUG] = ACTION_FUNCTION_OPT(EMOJI,HUG), | 267 | case I3_RUN: |
309 | [EMOJI_SMILE] = ACTION_FUNCTION_OPT(EMOJI,SMILE), | 268 | tap_code16(C(KC_I)); |
310 | [EMOJI_SMILE2] = ACTION_FUNCTION_OPT(EMOJI,SMILE2), | 269 | tap_code(KC_R); |
311 | [EMOJI_HMM1] = ACTION_FUNCTION_OPT(EMOJI,HMM1), | 270 | return false; |
312 | [EMOJI_HMM2] = ACTION_FUNCTION_OPT(EMOJI,HMM2), | 271 | case VRSN: |
313 | [EMOJI_BEAR1] = ACTION_FUNCTION_OPT(EMOJI,BEAR1), | 272 | SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); |
314 | [EMOJI_BEAR2] = ACTION_FUNCTION_OPT(EMOJI,BEAR2), | 273 | return false; |
315 | [EMOJI_FUU] = ACTION_FUNCTION_OPT(EMOJI,FUU), | 274 | case I3_GO_GROUP_1 ... I3_GO_GROUP_10: |
316 | [EMOJI_EGGY1] = ACTION_FUNCTION_OPT(EMOJI,EGGY1), | 275 | tap_code16(C(KC_I)); |
317 | [EMOJI_EGGY2] = ACTION_FUNCTION_OPT(EMOJI,EGGY2), | 276 | tap_code(KC_G); |
318 | [EMOJI_FACE1] = ACTION_FUNCTION_OPT(EMOJI,FACE1), | 277 | if (keycode == I3_GO_GROUP_10) { |
319 | [EMOJI_FACE2] = ACTION_FUNCTION_OPT(EMOJI,FACE2), | 278 | tap_code(KC_0); |
320 | [EMOJI_UHU] = ACTION_FUNCTION_OPT(EMOJI,UHU), | 279 | } else { |
321 | [EMOJI_SMRK1] = ACTION_FUNCTION_OPT(EMOJI,SMRK1), | 280 | tap_code(KC_1 + (keycode - I3_GO_GROUP_1)); |
322 | [EMOJI_SMRK2] = ACTION_FUNCTION_OPT(EMOJI2,SMRK2), | 281 | } |
323 | [EMOJI_LOVE] = ACTION_FUNCTION_OPT(EMOJI2,LOVE), | 282 | return false; |
324 | [F_EPRM] = ACTION_FUNCTION(EPRM), | 283 | case EMOJI_SHRUG: |
325 | [F_VRSN] = ACTION_FUNCTION(VRSN), | 284 | send_unicode_string("¯\\_(ツ)_/¯"); |
326 | [F_RGB_SLD] = ACTION_FUNCTION(RGB_SLD), | 285 | return false; |
327 | [I3_GO_GROUP_10]= ACTION_FUNCTION_OPT(GO_GROUP,0), | 286 | case EMOJI_YAY: |
328 | [I3_GO_GROUP_1] = ACTION_FUNCTION_OPT(GO_GROUP,1), | 287 | SEND_STRING("\\o/"); |
329 | [I3_GO_GROUP_2] = ACTION_FUNCTION_OPT(GO_GROUP,2), | 288 | return false; |
330 | [I3_GO_GROUP_3] = ACTION_FUNCTION_OPT(GO_GROUP,3), | 289 | case EMOJI_HUG: |
331 | [I3_GO_GROUP_4] = ACTION_FUNCTION_OPT(GO_GROUP,4), | 290 | send_unicode_string("༼ つ ◕_◕ ༽つ"); |
332 | [I3_GO_GROUP_5] = ACTION_FUNCTION_OPT(GO_GROUP,5), | 291 | return false; |
333 | [I3_GO_GROUP_6] = ACTION_FUNCTION_OPT(GO_GROUP,6), | 292 | case EMOJI_SMILE: |
334 | [I3_GO_GROUP_7] = ACTION_FUNCTION_OPT(GO_GROUP,7), | 293 | send_unicode_string("ʘ‿ʘ"); |
335 | [I3_GO_GROUP_8] = ACTION_FUNCTION_OPT(GO_GROUP,8), | 294 | return false; |
336 | [I3_GO_GROUP_9] = ACTION_FUNCTION_OPT(GO_GROUP,9), | 295 | case EMOJI_SMILE2: |
337 | }; | 296 | send_unicode_string("(ʘ‿ʘ)"); |
338 | 297 | return false; | |
339 | #define TAP_ONCE(code) \ | 298 | case EMOJI_HMM1: |
340 | register_code (code); \ | 299 | send_unicode_string("ಠ_ಠ"); |
341 | unregister_code (code) | 300 | return false; |
342 | 301 | case EMOJI_HMM2: | |
343 | void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | 302 | send_unicode_string("(ಠ_ಠ)"); |
344 | if (record->event.pressed) { | 303 | return false; |
345 | switch(id) { | 304 | case EMOJI_BEAR1: |
346 | case EPRM: | 305 | send_unicode_string("ʕ•ᴥ•ʔ"); |
347 | eeconfig_init(); | 306 | return false; |
348 | break; | 307 | case EMOJI_BEAR2: |
349 | case VRSN: | 308 | send_unicode_string("(ᵔᴥᵔ)"); |
350 | SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | 309 | return false; |
351 | break; | 310 | case EMOJI_FUU: |
352 | case RGB_SLD: | 311 | send_unicode_string("╭∩╮(-_-)╭∩╮"); |
353 | #ifdef RGBLIGHT_ENABLE | 312 | return false; |
354 | rgblight_mode(1); | 313 | case EMOJI_EGGY1: |
355 | #endif | 314 | send_unicode_string("(╯°□°)╯"); |
356 | break; | 315 | return false; |
357 | case GO_GROUP: | 316 | case EMOJI_EGGY2: |
358 | register_code(KC_LCTL); TAP_ONCE(KC_I); unregister_code(KC_LCTL); | 317 | send_unicode_string("ノ( ゜-゜ノ)"); |
359 | TAP_ONCE(KC_G); | 318 | return false; |
360 | if (opt == 0) { | 319 | case EMOJI_FACE1: |
361 | TAP_ONCE(39); | 320 | SEND_STRING("(-_-)"); |
362 | } else { | 321 | return false; |
363 | TAP_ONCE(29+opt); | 322 | case EMOJI_FACE2: |
364 | } | 323 | send_unicode_string("(•_•)"); |
365 | break; | 324 | return false; |
366 | case EMOJI: | 325 | case EMOJI_UHU: |
367 | switch(opt) { | 326 | send_unicode_string("⊙﹏⊙"); |
368 | case SHRUG: | 327 | return false; |
369 | unicode_input_start(); register_hex(0xaf); unicode_input_finish(); | 328 | case EMOJI_SMRK1: |
370 | TAP_ONCE (KC_BSLS); | 329 | send_unicode_string("^̮^"); |
371 | register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); | 330 | return false; |
372 | unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); | 331 | case EMOJI_SMRK2: |
373 | register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); | 332 | send_unicode_string("(^̮^)"); |
374 | TAP_ONCE (KC_SLSH); | 333 | return false; |
375 | unicode_input_start (); register_hex(0xaf); unicode_input_finish(); | 334 | case EMOJI_LOVE: |
376 | break; | 335 | send_unicode_string("♥‿♥"); |
377 | case YAY: | 336 | return false; |
378 | SEND_STRING ("\\o/"); | 337 | } |
379 | break; | ||
380 | case HUG: | ||
381 | unicode_input_start(); register_hex(0x0f3c); unicode_input_finish(); | ||
382 | TAP_ONCE (KC_SPC); | ||
383 | unicode_input_start(); register_hex(0x3064); unicode_input_finish(); | ||
384 | TAP_ONCE (KC_SPC); | ||
385 | unicode_input_start(); register_hex(0x25d5); unicode_input_finish(); | ||
386 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
387 | unicode_input_start(); register_hex(0x25d5); unicode_input_finish(); | ||
388 | TAP_ONCE (KC_SPC); | ||
389 | unicode_input_start(); register_hex(0x0f3d); unicode_input_finish(); | ||
390 | unicode_input_start(); register_hex(0x3064); unicode_input_finish(); | ||
391 | break; | ||
392 | case SMILE: | ||
393 | unicode_input_start(); register_hex(0x0298); unicode_input_finish(); | ||
394 | unicode_input_start(); register_hex(0x203f); unicode_input_finish(); | ||
395 | unicode_input_start(); register_hex(0x0298); unicode_input_finish(); | ||
396 | break; | ||
397 | case SMILE2: | ||
398 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
399 | unicode_input_start(); register_hex(0x0298); unicode_input_finish(); | ||
400 | unicode_input_start(); register_hex(0x203f); unicode_input_finish(); | ||
401 | unicode_input_start(); register_hex(0x0298); unicode_input_finish(); | ||
402 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
403 | break; | ||
404 | case HMM1: | ||
405 | unicode_input_start(); register_hex(0x0ca0); unicode_input_finish(); | ||
406 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
407 | unicode_input_start(); register_hex(0x0ca0); unicode_input_finish(); | ||
408 | break; | ||
409 | case HMM2: | ||
410 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
411 | unicode_input_start(); register_hex(0x0ca0); unicode_input_finish(); | ||
412 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
413 | unicode_input_start(); register_hex(0x0ca0); unicode_input_finish(); | ||
414 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
415 | break; | ||
416 | case BEAR1: | ||
417 | unicode_input_start(); register_hex(0x0295); unicode_input_finish(); | ||
418 | unicode_input_start(); register_hex(0x2022); unicode_input_finish(); | ||
419 | unicode_input_start(); register_hex(0x1d25); unicode_input_finish(); | ||
420 | unicode_input_start(); register_hex(0x2022); unicode_input_finish(); | ||
421 | unicode_input_start(); register_hex(0x0294); unicode_input_finish(); | ||
422 | break; | ||
423 | case BEAR2: | ||
424 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
425 | unicode_input_start(); register_hex(0x1d54); unicode_input_finish(); | ||
426 | unicode_input_start(); register_hex(0x1d25); unicode_input_finish(); | ||
427 | unicode_input_start(); register_hex(0x1d54); unicode_input_finish(); | ||
428 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
429 | break; | ||
430 | case FUU: | ||
431 | unicode_input_start(); register_hex(0x256d); unicode_input_finish(); | ||
432 | unicode_input_start(); register_hex(0x2229); unicode_input_finish(); | ||
433 | unicode_input_start(); register_hex(0x256e); unicode_input_finish(); | ||
434 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
435 | unicode_input_start(); register_hex(0x002d); unicode_input_finish(); | ||
436 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
437 | unicode_input_start(); register_hex(0x002d); unicode_input_finish(); | ||
438 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
439 | unicode_input_start(); register_hex(0x256d); unicode_input_finish(); | ||
440 | unicode_input_start(); register_hex(0x2229); unicode_input_finish(); | ||
441 | unicode_input_start(); register_hex(0x256e); unicode_input_finish(); | ||
442 | break; | ||
443 | case EGGY1: | ||
444 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
445 | unicode_input_start(); register_hex(0x256f); unicode_input_finish(); | ||
446 | unicode_input_start(); register_hex(0x00b0); unicode_input_finish(); | ||
447 | unicode_input_start(); register_hex(0x25a1); unicode_input_finish(); | ||
448 | unicode_input_start(); register_hex(0x00b0); unicode_input_finish(); | ||
449 | unicode_input_start(); register_hex(0xff09); unicode_input_finish(); | ||
450 | unicode_input_start(); register_hex(0x256f); unicode_input_finish(); | ||
451 | break; | ||
452 | case EGGY2: | ||
453 | unicode_input_start(); register_hex(0x30ce); unicode_input_finish(); | ||
454 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
455 | unicode_input_start(); register_hex(0x0020); unicode_input_finish(); | ||
456 | unicode_input_start(); register_hex(0x309c); unicode_input_finish(); | ||
457 | unicode_input_start(); register_hex(0x002d); unicode_input_finish(); | ||
458 | unicode_input_start(); register_hex(0x309c); unicode_input_finish(); | ||
459 | unicode_input_start(); register_hex(0x30ce); unicode_input_finish(); | ||
460 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
461 | break; | ||
462 | case FACE1: | ||
463 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
464 | unicode_input_start(); register_hex(0x002d); unicode_input_finish(); | ||
465 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
466 | unicode_input_start(); register_hex(0x002d); unicode_input_finish(); | ||
467 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
468 | break; | ||
469 | case FACE2: | ||
470 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
471 | unicode_input_start(); register_hex(0x2022); unicode_input_finish(); | ||
472 | unicode_input_start(); register_hex(0x005f); unicode_input_finish(); | ||
473 | unicode_input_start(); register_hex(0x2022); unicode_input_finish(); | ||
474 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
475 | break; | ||
476 | case UHU: | ||
477 | unicode_input_start(); register_hex(0x2299); unicode_input_finish(); | ||
478 | unicode_input_start(); register_hex(0xfe4f); unicode_input_finish(); | ||
479 | unicode_input_start(); register_hex(0x2299); unicode_input_finish(); | ||
480 | break; | ||
481 | case SMRK1: | ||
482 | unicode_input_start(); register_hex(0x005e); unicode_input_finish(); | ||
483 | unicode_input_start(); register_hex(0x032e); unicode_input_finish(); | ||
484 | unicode_input_start(); register_hex(0x005e); unicode_input_finish(); | ||
485 | break; | ||
486 | } | ||
487 | break; | ||
488 | case EMOJI2: | ||
489 | switch(opt) { | ||
490 | case SMRK2: | ||
491 | unicode_input_start(); register_hex(0x0028); unicode_input_finish(); | ||
492 | unicode_input_start(); register_hex(0x005e); unicode_input_finish(); | ||
493 | unicode_input_start(); register_hex(0x032e); unicode_input_finish(); | ||
494 | unicode_input_start(); register_hex(0x005e); unicode_input_finish(); | ||
495 | unicode_input_start(); register_hex(0x0029); unicode_input_finish(); | ||
496 | break; | ||
497 | case LOVE: | ||
498 | unicode_input_start(); register_hex(0x2665); unicode_input_finish(); | ||
499 | unicode_input_start(); register_hex(0x203f); unicode_input_finish(); | ||
500 | unicode_input_start(); register_hex(0x2665); unicode_input_finish(); | ||
501 | break; | ||
502 | } | ||
503 | break; | ||
504 | } | 338 | } |
505 | } | 339 | return true; |
506 | } | 340 | } |
507 | 341 | ||
508 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
509 | if (record->event.pressed) { | ||
510 | switch(id) { | ||
511 | case RUN: | ||
512 | return MACRO( D(LCTL), T(I), U(LCTL), T(R), END ); | ||
513 | break; | ||
514 | } | ||
515 | } | ||
516 | return MACRO_NONE; | ||
517 | }; | ||
518 | |||
519 | // Runs just one time when the keyboard initializes. | 342 | // Runs just one time when the keyboard initializes. |
520 | void matrix_init_user(void) { | 343 | void matrix_init_user(void) { |
521 | set_unicode_input_mode(UC_LNX); | 344 | set_unicode_input_mode(UC_LNX); |
diff --git a/layouts/community/ergodox/guni/keymap.c b/layouts/community/ergodox/guni/keymap.c index 0707bcf77..cc67fbdea 100644 --- a/layouts/community/ergodox/guni/keymap.c +++ b/layouts/community/ergodox/guni/keymap.c | |||
@@ -1,7 +1,4 @@ | |||
1 | #include QMK_KEYBOARD_H | 1 | #include QMK_KEYBOARD_H |
2 | #include "debug.h" | ||
3 | #include "action_layer.h" | ||
4 | #include "bootloader.h" | ||
5 | 2 | ||
6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
7 | LAYOUT_ergodox( // layer 0 : default | 4 | LAYOUT_ergodox( // layer 0 : default |
@@ -13,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
13 | KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT, | 10 | KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT, |
14 | KC_NO , KC_NO , | 11 | KC_NO , KC_NO , |
15 | KC_NO , | 12 | KC_NO , |
16 | KC_BSPC,KC_DEL ,KC_FN23, | 13 | KC_BSPC,KC_DEL ,TO(3), |
17 | // right hand | 14 | // right hand |
18 | KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS, | 15 | KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS, |
19 | KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, MT(MOD_RCTL, KC_BSLS), | 16 | KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, MT(MOD_RCTL, KC_BSLS), |
@@ -34,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
34 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 31 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
35 | KC_TRNS,KC_TRNS, | 32 | KC_TRNS,KC_TRNS, |
36 | KC_TRNS, | 33 | KC_TRNS, |
37 | KC_TRNS,KC_TRNS,KC_FN1, | 34 | KC_TRNS,KC_TRNS,TO(0), |
38 | // right hand | 35 | // right hand |
39 | KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, | 36 | KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, |
40 | KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS, | 37 | KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS, |
@@ -55,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
55 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 52 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
56 | KC_TRNS,KC_TRNS, | 53 | KC_TRNS,KC_TRNS, |
57 | KC_TRNS, | 54 | KC_TRNS, |
58 | KC_TRNS,KC_TRNS,KC_FN1 , | 55 | KC_TRNS,KC_TRNS,TO(0) , |
59 | // right hand | 56 | // right hand |
60 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 57 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
61 | KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS, | 58 | KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS, |
@@ -68,14 +65,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
68 | ), | 65 | ), |
69 | LAYOUT_ergodox( // layer 3 : teensy bootloader functions | 66 | LAYOUT_ergodox( // layer 3 : teensy bootloader functions |
70 | // left hand | 67 | // left hand |
71 | KC_FN0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 68 | RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
72 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 69 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
73 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 70 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
74 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 71 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
75 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 72 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
76 | KC_TRNS,KC_TRNS, | 73 | KC_TRNS,KC_TRNS, |
77 | KC_TRNS, | 74 | KC_TRNS, |
78 | KC_TRNS,KC_TRNS,KC_FN1 , | 75 | KC_TRNS,KC_TRNS,TO(0) , |
79 | // right hand | 76 | // right hand |
80 | KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 77 | KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
81 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 78 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
@@ -110,31 +107,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
110 | ), | 107 | ), |
111 | 108 | ||
112 | }; | 109 | }; |
113 | |||
114 | /* id for user defined functions */ | ||
115 | enum function_id { | ||
116 | TEENSY_KEY, | ||
117 | }; | ||
118 | |||
119 | /* | ||
120 | * Fn action definition | ||
121 | */ | ||
122 | const uint16_t PROGMEM fn_actions[] = { | ||
123 | [0] = ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key | ||
124 | [1] = ACTION_LAYER_SET(0, ON_PRESS), | ||
125 | [23] = ACTION_LAYER_SET(3, ON_PRESS), | ||
126 | [24] = ACTION_LAYER_SET(2, ON_PRESS), | ||
127 | [26] = ACTION_LAYER_SET(1, ON_PRESS), | ||
128 | }; | ||
129 | |||
130 | void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) | ||
131 | { | ||
132 | |||
133 | if (id == TEENSY_KEY) { | ||
134 | clear_keyboard(); | ||
135 | print("\n\nJump to bootloader... "); | ||
136 | wait_ms(250); | ||
137 | bootloader_jump(); // should not return | ||
138 | print("not supported.\n"); | ||
139 | } | ||
140 | } | ||
diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c index 231528449..2ddd7ab20 100644 --- a/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c +++ b/layouts/community/ergodox/norwegian_programmer_osx_pc/keymap.c | |||
@@ -7,6 +7,18 @@ | |||
7 | #define BASE_MAC 1 // default layer mac | 7 | #define BASE_MAC 1 // default layer mac |
8 | #define NUMB_FUNC 2 // numbers and function keys | 8 | #define NUMB_FUNC 2 // numbers and function keys |
9 | 9 | ||
10 | enum custom_keycodes { | ||
11 | TILDE_NO = SAFE_RANGE, | ||
12 | LESS_NO, | ||
13 | GRTR_NO, | ||
14 | CIRC_NO, | ||
15 | ACUT_NO, | ||
16 | GRV_NO, | ||
17 | LESS_NO_MAC, | ||
18 | GRTR_NO_MAC, | ||
19 | ACUT_NO_MAC | ||
20 | }; | ||
21 | |||
10 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
11 | 23 | ||
12 | /* Keymap 0: Basic layer PC | 24 | /* Keymap 0: Basic layer PC |
@@ -32,16 +44,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
32 | */ | 44 | */ |
33 | [BASE] = LAYOUT_ergodox( | 45 | [BASE] = LAYOUT_ergodox( |
34 | // left hand | 46 | // left hand |
35 | KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), | 47 | KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, TILDE_NO, TG(1), |
36 | KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_DQUO, | 48 | KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_DQUO, |
37 | KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G, | 49 | KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G, |
38 | KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, | 50 | KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, |
39 | ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, | 51 | ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, |
40 | KC_HASH, KC_FN7, | 52 | KC_HASH, GRV_NO, |
41 | KC_FN6, | 53 | ACUT_NO, |
42 | OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), | 54 | OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), |
43 | // right hand | 55 | // right hand |
44 | KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, | 56 | CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT, |
45 | NO_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_ARNG, | 57 | NO_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_ARNG, |
46 | KC_H, KC_J, KC_K, KC_L, NO_OSTR, NO_AE, | 58 | KC_H, KC_J, KC_K, KC_L, NO_OSTR, NO_AE, |
47 | NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, | 59 | NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, |
@@ -78,10 +90,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
78 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 90 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
79 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 91 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
80 | KC_TRNS, ALGR(NO_BSLS), | 92 | KC_TRNS, ALGR(NO_BSLS), |
81 | KC_FN10, | 93 | ACUT_NO_MAC, |
82 | KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), | 94 | KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), |
83 | // right hand | 95 | // right hand |
84 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_QUOT, | 96 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT, |
85 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 97 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
86 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 98 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
87 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)), | 99 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)), |
@@ -133,47 +145,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
133 | ) | 145 | ) |
134 | }; | 146 | }; |
135 | 147 | ||
136 | enum macro_id { | 148 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
137 | TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC | 149 | switch (keycode) { |
138 | }; | ||
139 | |||
140 | const uint16_t PROGMEM fn_actions[] = { | ||
141 | [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. | ||
142 | [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. | ||
143 | [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. | ||
144 | [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. | ||
145 | [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. | ||
146 | [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. | ||
147 | [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly | ||
148 | [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly | ||
149 | [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed | ||
150 | }; | ||
151 | |||
152 | |||
153 | |||
154 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
155 | { | ||
156 | keyevent_t event = record->event; | ||
157 | |||
158 | switch (id) { | ||
159 | case TILDE_NO: | 150 | case TILDE_NO: |
160 | return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); | 151 | if (record->event.pressed) { |
152 | tap_code16(ALGR(KC_RBRC)); | ||
153 | tap_code(KC_SPC); | ||
154 | } | ||
155 | return false; | ||
161 | case LESS_NO: | 156 | case LESS_NO: |
162 | return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); | 157 | if (record->event.pressed) { |
158 | tap_code(KC_NUBS); | ||
159 | } | ||
160 | return false; | ||
163 | case GRTR_NO: | 161 | case GRTR_NO: |
164 | return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); | 162 | if (record->event.pressed) { |
163 | tap_code16(S(KC_NUBS)); | ||
164 | } | ||
165 | return false; | ||
165 | case CIRC_NO: | 166 | case CIRC_NO: |
166 | return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); | 167 | if (record->event.pressed) { |
168 | tap_code16(S(KC_RBRC)); | ||
169 | tap_code(KC_SPC); | ||
170 | } | ||
171 | return false; | ||
167 | case ACUT_NO: | 172 | case ACUT_NO: |
168 | return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); | 173 | if (record->event.pressed) { |
174 | tap_code16(ALGR(KC_EQL)); | ||
175 | tap_code(KC_SPC); | ||
176 | } | ||
177 | return false; | ||
169 | case GRV_NO: | 178 | case GRV_NO: |
170 | return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); | 179 | if (record->event.pressed) { |
180 | SEND_STRING(SS_LSFT("= ")); | ||
181 | } | ||
182 | return false; | ||
171 | case LESS_NO_MAC: | 183 | case LESS_NO_MAC: |
172 | return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); | 184 | if (record->event.pressed) { |
185 | tap_code(KC_GRV); | ||
186 | } | ||
187 | return false; | ||
173 | case GRTR_NO_MAC: | 188 | case GRTR_NO_MAC: |
174 | return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); | 189 | if (record->event.pressed) { |
190 | tap_code16(S(KC_GRV)); | ||
191 | } | ||
192 | return false; | ||
175 | case ACUT_NO_MAC: | 193 | case ACUT_NO_MAC: |
176 | return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); | 194 | if (record->event.pressed) { |
195 | tap_code(KC_EQL); | ||
196 | tap_code(KC_SPC); | ||
197 | } | ||
198 | return false; | ||
177 | } | 199 | } |
178 | return MACRO_NONE; | 200 | return true; |
179 | }; | 201 | } |
diff --git a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c index b9ddefb67..5ca8d40db 100644 --- a/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c +++ b/layouts/community/ergodox/norwegian_programmer_osx_pc_colemak/keymap.c | |||
@@ -7,6 +7,18 @@ | |||
7 | #define BASE_MAC 1 // default layer mac | 7 | #define BASE_MAC 1 // default layer mac |
8 | #define NUMB_FUNC 2 // numbers and function keys | 8 | #define NUMB_FUNC 2 // numbers and function keys |
9 | 9 | ||
10 | enum custom_keycodes { | ||
11 | TILDE_NO = SAFE_RANGE, | ||
12 | LESS_NO, | ||
13 | GRTR_NO, | ||
14 | CIRC_NO, | ||
15 | ACUT_NO, | ||
16 | GRV_NO, | ||
17 | LESS_NO_MAC, | ||
18 | GRTR_NO_MAC, | ||
19 | ACUT_NO_MAC | ||
20 | }; | ||
21 | |||
10 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
11 | 23 | ||
12 | /* Keymap 0: Basic layer PC | 24 | /* Keymap 0: Basic layer PC |
@@ -32,16 +44,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
32 | */ | 44 | */ |
33 | [BASE] = LAYOUT_ergodox( | 45 | [BASE] = LAYOUT_ergodox( |
34 | // left hand | 46 | // left hand |
35 | KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), | 47 | KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, TILDE_NO, TG(1), |
36 | KC_PPLS, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_DQUO, | 48 | KC_PPLS, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_DQUO, |
37 | KC_PSLS, KC_A, KC_R, KC_S, KC_T, KC_D, | 49 | KC_PSLS, KC_A, KC_R, KC_S, KC_T, KC_D, |
38 | KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, | 50 | KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, |
39 | ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, | 51 | ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, |
40 | KC_HASH, KC_FN7, | 52 | KC_HASH, GRV_NO, |
41 | KC_FN6, | 53 | ACUT_NO, |
42 | OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), | 54 | OSM(MOD_LSFT),CTL_T(KC_DOT),GUI_T(KC_COMMA), |
43 | // right hand | 55 | // right hand |
44 | KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, | 56 | CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT, |
45 | NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE , | 57 | NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE , |
46 | KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR, | 58 | KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR, |
47 | NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, | 59 | NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, |
@@ -78,10 +90,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
78 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 90 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
79 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 91 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
80 | KC_TRNS, ALGR(NO_BSLS), | 92 | KC_TRNS, ALGR(NO_BSLS), |
81 | KC_FN10, | 93 | ACUT_NO_MAC, |
82 | KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), | 94 | KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), |
83 | // right hand | 95 | // right hand |
84 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_QUOT, | 96 | KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT, |
85 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 97 | NO_LABK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
86 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 98 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
87 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)), | 99 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(ALGR(NO_7)), |
@@ -133,47 +145,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
133 | ) | 145 | ) |
134 | }; | 146 | }; |
135 | 147 | ||
136 | enum macro_id { | 148 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
137 | TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC | 149 | switch (keycode) { |
138 | }; | ||
139 | |||
140 | const uint16_t PROGMEM fn_actions[] = { | ||
141 | [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. | ||
142 | [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. | ||
143 | [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. | ||
144 | [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. | ||
145 | [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. | ||
146 | [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. | ||
147 | [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly | ||
148 | [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly | ||
149 | [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed | ||
150 | }; | ||
151 | |||
152 | |||
153 | |||
154 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
155 | { | ||
156 | keyevent_t event = record->event; | ||
157 | |||
158 | switch (id) { | ||
159 | case TILDE_NO: | 150 | case TILDE_NO: |
160 | return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); | 151 | if (record->event.pressed) { |
152 | tap_code16(ALGR(KC_RBRC)); | ||
153 | tap_code(KC_SPC); | ||
154 | } | ||
155 | return false; | ||
161 | case LESS_NO: | 156 | case LESS_NO: |
162 | return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); | 157 | if (record->event.pressed) { |
158 | tap_code(KC_NUBS); | ||
159 | } | ||
160 | return false; | ||
163 | case GRTR_NO: | 161 | case GRTR_NO: |
164 | return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); | 162 | if (record->event.pressed) { |
163 | tap_code16(S(KC_NUBS)); | ||
164 | } | ||
165 | return false; | ||
165 | case CIRC_NO: | 166 | case CIRC_NO: |
166 | return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); | 167 | if (record->event.pressed) { |
168 | tap_code16(S(KC_RBRC)); | ||
169 | tap_code(KC_SPC); | ||
170 | } | ||
171 | return false; | ||
167 | case ACUT_NO: | 172 | case ACUT_NO: |
168 | return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); | 173 | if (record->event.pressed) { |
174 | tap_code16(ALGR(KC_EQL)); | ||
175 | tap_code(KC_SPC); | ||
176 | } | ||
177 | return false; | ||
169 | case GRV_NO: | 178 | case GRV_NO: |
170 | return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); | 179 | if (record->event.pressed) { |
180 | SEND_STRING(SS_LSFT("= ")); | ||
181 | } | ||
182 | return false; | ||
171 | case LESS_NO_MAC: | 183 | case LESS_NO_MAC: |
172 | return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); | 184 | if (record->event.pressed) { |
185 | tap_code(KC_GRV); | ||
186 | } | ||
187 | return false; | ||
173 | case GRTR_NO_MAC: | 188 | case GRTR_NO_MAC: |
174 | return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); | 189 | if (record->event.pressed) { |
190 | tap_code16(S(KC_GRV)); | ||
191 | } | ||
192 | return false; | ||
175 | case ACUT_NO_MAC: | 193 | case ACUT_NO_MAC: |
176 | return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); | 194 | if (record->event.pressed) { |
195 | tap_code(KC_EQL); | ||
196 | tap_code(KC_SPC); | ||
197 | } | ||
198 | return false; | ||
177 | } | 199 | } |
178 | return MACRO_NONE; | 200 | return true; |
179 | }; | 201 | } |
diff --git a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c index 729810705..6bf0285ab 100644 --- a/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c +++ b/layouts/community/ergodox/osx_whiskey_tango_foxtrot_capslock/keymap.c | |||
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
49 | M(KC_CAPS), M(KC_A), M(KC_S), M(KC_D), M(KC_F), M(KC_G), | 49 | M(KC_CAPS), M(KC_A), M(KC_S), M(KC_D), M(KC_F), M(KC_G), |
50 | KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), MO(SYMB), | 50 | KC_LSFT, M(KC_Z), M(KC_X), M(KC_C), M(KC_V), M(KC_B), MO(SYMB), |
51 | KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, | 51 | KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, |
52 | KC_TRNS, KC_FN1, | 52 | KC_TRNS, F(1), |
53 | KC_HOME, | 53 | KC_HOME, |
54 | KC_BSPC, KC_DEL, KC_END, | 54 | KC_BSPC, KC_DEL, KC_END, |
55 | // right hand | 55 | // right hand |
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
91 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 91 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
92 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 92 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
93 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 93 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
94 | KC_FN3, KC_FN2, | 94 | F(3), F(2), |
95 | KC_TRNS, | 95 | KC_TRNS, |
96 | KC_TRNS,KC_TRNS,KC_TRNS, | 96 | KC_TRNS,KC_TRNS,KC_TRNS, |
97 | // right hand | 97 | // right hand |
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
132 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 132 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
133 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 133 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
134 | KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, | 134 | KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, |
135 | KC_FN4, KC_NO, | 135 | F(4), KC_NO, |
136 | KC_TRNS, | 136 | KC_TRNS, |
137 | KC_TRNS, KC_TRNS, KC_TRNS, | 137 | KC_TRNS, KC_TRNS, KC_TRNS, |
138 | // right hand | 138 | // right hand |
diff --git a/layouts/community/ergodox/workman_osx_mdw/keymap.c b/layouts/community/ergodox/workman_osx_mdw/keymap.c index 81fd3984b..f14d9cf4c 100644 --- a/layouts/community/ergodox/workman_osx_mdw/keymap.c +++ b/layouts/community/ergodox/workman_osx_mdw/keymap.c | |||
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
55 | TG(1), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS, | 55 | TG(1), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS, |
56 | KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, | 56 | KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, |
57 | MEH_T(KC_NO),KC_K, KC_L, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, | 57 | MEH_T(KC_NO),KC_K, KC_L, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, |
58 | KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, KC_FN4, | 58 | KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, F(4), |
59 | KC_NO, KC_NO, | 59 | KC_NO, KC_NO, |
60 | KC_PGUP, | 60 | KC_PGUP, |
61 | KC_PGDN,KC_SPC,KC_ENT | 61 | KC_PGDN,KC_SPC,KC_ENT |