From fe57dd5103efcf77f78cc8b910c55c8dcdea4687 Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Fri, 19 Jan 2024 21:44:50 +0200 Subject: All the macro keys --- keyboards/ergodox_ez/glow/keymaps/jworthe/config.h | 2 +- keyboards/ergodox_ez/glow/keymaps/jworthe/keymap.c | 221 ++++++++++++++++----- 2 files changed, 171 insertions(+), 52 deletions(-) (limited to 'keyboards') diff --git a/keyboards/ergodox_ez/glow/keymaps/jworthe/config.h b/keyboards/ergodox_ez/glow/keymaps/jworthe/config.h index a413175688..26c3c0f514 100644 --- a/keyboards/ergodox_ez/glow/keymaps/jworthe/config.h +++ b/keyboards/ergodox_ez/glow/keymaps/jworthe/config.h @@ -5,7 +5,7 @@ #define ORYX_CONFIGURATOR #define IGNORE_MOD_TAP_INTERRUPT #define USB_SUSPEND_WAKEUP_DELAY 0 -#define FIRMWARE_VERSION u8"65O6n/NPlra" +#define FIRMWARE_VERSION u8"65O6n/MEpmb" #define RAW_USAGE_PAGE 0xFF60 #define RAW_USAGE_ID 0x61 #define LAYER_STATE_8BIT diff --git a/keyboards/ergodox_ez/glow/keymaps/jworthe/keymap.c b/keyboards/ergodox_ez/glow/keymaps/jworthe/keymap.c index 7303e0274d..60f3967c8c 100644 --- a/keyboards/ergodox_ez/glow/keymaps/jworthe/keymap.c +++ b/keyboards/ergodox_ez/glow/keymaps/jworthe/keymap.c @@ -49,29 +49,43 @@ enum custom_keycodes { RGB_SLD = EZ_SAFE_RANGE, - ST_MACRO_0, - ST_MACRO_1, - ST_MACRO_2, - ST_MACRO_3, - ST_MACRO_4, + SMALL_ARROW, + FAT_ARROW, + EMAIL, + WHILE, + ENUM, + BOOL, + IFELSE, + PUB, + ASYNC, + SELF, + IMPL, + FN, + LET, + BYE, + STRUCT, + CRATE, + BREAK, + MUT, + RETURN }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ergodox_pretty( KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESCAPE, KC_TRANSPARENT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, - KC_TRANSPARENT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRANSPARENT, MO(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH, + MO(3), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRANSPARENT, MO(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRANSPARENT, MO(2), KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSHIFT, - KC_LCTRL, KC_LGUI, KC_LALT, KC_AMPR, KC_EQUAL, ST_MACRO_0, ST_MACRO_1, KC_RALT, KC_RGUI, KC_RCTRL, + KC_LCTRL, KC_LGUI, KC_LALT, KC_AMPR, KC_EQUAL, SMALL_ARROW, FAT_ARROW, KC_RALT, KC_RGUI, KC_RCTRL, KC_DELETE, KC_F13, KC_LEFT, KC_RIGHT, KC_TRANSPARENT, KC_UP, KC_SPACE, KC_BSPACE, KC_TRANSPARENT, KC_DOWN, KC_TAB, KC_ENTER ), [1] = LAYOUT_ergodox_pretty( KC_SYSTEM_POWER,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRANSPARENT, - KC_TRANSPARENT, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRANSPARENT, KC_TRANSPARENT, ST_MACRO_2, KC_7, KC_8, KC_9, KC_ASTR, KC_SLASH, - KC_TRANSPARENT, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE, ST_MACRO_3, KC_4, KC_5, KC_6, KC_PLUS, KC_MINUS, + KC_TRANSPARENT, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRANSPARENT, KC_TRANSPARENT, SMALL_ARROW, KC_7, KC_8, KC_9, KC_ASTR, KC_SLASH, + KC_TRANSPARENT, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE, FAT_ARROW, KC_4, KC_5, KC_6, KC_PLUS, KC_MINUS, KC_TRANSPARENT, KC_PERC, KC_CIRC, KC_LBRACKET, KC_RBRACKET, KC_TILD, KC_TRANSPARENT, KC_TRANSPARENT, KC_AMPR, KC_1, KC_2, KC_3, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_0, KC_DOT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_HOME, KC_END, @@ -80,8 +94,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT_ergodox_pretty( KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_MS_UP, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, KC_TRANSPARENT, KC_MS_UP, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK, @@ -89,34 +103,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MS_BTN1, KC_MS_BTN2, KC_TRANSPARENT, KC_AUDIO_VOL_DOWN,KC_MEDIA_STOP, KC_MEDIA_PLAY_PAUSE ), [3] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, ST_MACRO_4, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [4] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, KC_TRANSPARENT, EMAIL, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, KC_TRANSPARENT, WHILE, ENUM, KC_TRANSPARENT, BOOL, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, IFELSE, KC_TRANSPARENT, PUB, KC_TRANSPARENT, + KC_TRANSPARENT, ASYNC, SELF, IMPL, FN, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, LET, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, BYE, STRUCT, CRATE, KC_TRANSPARENT, BREAK, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, MUT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT - ), - [5] = LAYOUT_ergodox_pretty( - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, - KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT + KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, RETURN ), }; @@ -166,37 +160,162 @@ void rgb_matrix_indicators_user(void) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case ST_MACRO_0: + case SMALL_ARROW: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MINUS) SS_DELAY(100) SS_RSFT(SS_TAP(X_DOT))); + SEND_STRING("->"); } break; - case ST_MACRO_1: + case FAT_ARROW: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_EQUAL) SS_DELAY(100) SS_RSFT(SS_TAP(X_DOT))); + SEND_STRING("=>"); } break; - case ST_MACRO_2: + case EMAIL: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_MINUS) SS_DELAY(100) SS_RSFT(SS_TAP(X_DOT))); + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("justin.worthe@gmail.com"); + } else { + SEND_STRING("justin@worthe-it.co.za"); + } } break; - case ST_MACRO_3: + case WHILE: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_EQUAL) SS_DELAY(100) SS_RSFT(SS_TAP(X_DOT))); + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("for"); + } else { + SEND_STRING("while"); + } + SEND_STRING(); } break; - case ST_MACRO_4: + case ENUM: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_K)); + SEND_STRING("enum"); } break; - - case RGB_SLD: - if (record->event.pressed) { - rgblight_mode(1); + case BOOL: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("false"); + } else { + SEND_STRING("true"); + } + } + break; + case IFELSE: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("else"); + } else { + SEND_STRING("if"); + } + } + break; + case PUB: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("pub(crate)"); + } else { + SEND_STRING("pub"); + } + } + break; + case ASYNC: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("await"); + } else { + SEND_STRING("async"); + } + } + break; + case SELF: + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("Self"); + } else { + SEND_STRING("self"); + } + break; + case IMPL: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("dyn"); + } else { + SEND_STRING("impl"); + } + } + break; + case FN: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("function"); + } else { + SEND_STRING("fn"); + } + } + break; + case LET: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("const"); + } else { + SEND_STRING("let"); } - return false; + } + break; + case BYE: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("Cheers," SS_TAP(X_ENTER) "Justin"); + } else { + SEND_STRING("Kind regards," SS_TAP(X_ENTER) "Justin Wernick"); + } + } + break; + case STRUCT: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("trait"); + } else { + SEND_STRING("struct"); + } + } + break; + case CRATE: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("super"); + } else { + SEND_STRING("crate"); + } + } + break; + case BREAK: + if (record->event.pressed) { + if (get_mods() == MOD_BIT(MOD_MASK_SHIFT)) { + SEND_STRING("continue"); + } else { + SEND_STRING("break"); + } + } + break; + case MUT: + if (record->event.pressed) { + SEND_STRING("mut"); + } + break; + case RETURN: + if (record->event.pressed) { + SEND_STRING("return"); + } + break; + + case RGB_SLD: + if (record->event.pressed) { + rgblight_mode(1); + } + return false; } return true; } -- cgit v1.2.3