From d89e552419822c565805bd95b992b8e7dfdf47d9 Mon Sep 17 00:00:00 2001 From: Max Rumpf Date: Sat, 16 May 2020 08:43:10 +0200 Subject: [PATCH] [Phoebe] Keymap improvements (#9092) Enable leader key with some useful macros, use fancier design for keymap previews in code, other smaller tweaks --- keyboards/maxr1998/phoebe/config.h | 4 + .../maxr1998/phoebe/keymaps/default/keymap.c | 115 ++++++++++-------- keyboards/maxr1998/phoebe/rules.mk | 1 + 3 files changed, 71 insertions(+), 49 deletions(-) diff --git a/keyboards/maxr1998/phoebe/config.h b/keyboards/maxr1998/phoebe/config.h index 2be26c6fd..e530bc46e 100644 --- a/keyboards/maxr1998/phoebe/config.h +++ b/keyboards/maxr1998/phoebe/config.h @@ -57,6 +57,10 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 +/* Leader key setup */ +#define LEADER_PER_KEY_TIMING +#define LEADER_TIMEOUT 250 + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c index b1a37a2f1..11df63bb1 100644 --- a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c +++ b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c @@ -1,6 +1,7 @@ #include QMK_KEYBOARD_H #include "keymap_german.h" +#include "sendstring_german.h" enum layers { _QWERTZ, @@ -16,40 +17,40 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwertz - * ,-----------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ? | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ^ ° | Q | W | E | R | T | Z | U | I | O | P | Bspc | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | A | S | D | F | G | H | J | K | L | +* ~ | Enter| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Y | X | C | V | B | N | M | , | . | Up | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Sup | Alt | Alt | SpCh | Space | AltGr| Fun | Left | Down | Right| - * `-----------------------------------------------------------------------------------' +/* QWERTZ + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ? │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ ^ ° │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │Bkspc│ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ +*~ │Enter│ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ Y │ X │ C │ V │ B │ N │ M │ , │ . │ ↑ │Shift│ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Ctl │ Sup │ Alt │LeadK│SpcCh│ Space │AltGr│ Fun │ ← │ ↓ │ → │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘ */ [_QWERTZ] = LAYOUT( KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_QST, KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_LEAD, KC_SC, KC_SPC, KC_ALGR, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT ), /* Special characters - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ´ ` | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | #' | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | <> | | | | | | | | | | -_ | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | ---- | ---- | | | ---- | | | | - * `-----------------------------------------------------------------------------------' - */ + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ ´ ` │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ # ' │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ <>| │ │ │ │ │ │ │ │ │ - _ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ X │ │ │ │ X │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘ +*/ [_SC] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_ACUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -59,17 +60,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Function layer - * ,-----------------------------------------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F10 | F11 | F12 | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Ü | F9 | Ö | | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | ---- | ---- | | ---- | ---- | Home | PgDn | End | - * `-----------------------------------------------------------------------------------' + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F10 │ F11 │ F12 │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ Ü │ F9 │ Ö │ │ Del │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Lck │ Ä │ ß │ │ │ GAME│ │RGB S│RGB B│RGB S│ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │RGBH-│RGB T│RGBH+│ Pg↑ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┤ + * │ X │ │ X │ X │ X │ │ X │ X │ Home│ Pg↓ │ End │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘ */ [_FN] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F10, KC_F11, KC_F12, @@ -80,24 +81,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Gaming - * ,-----------------------------------------------------------------------------------. - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Space| | | | | | | Leave| | | | - * `-----------------------------------------------------------------------------------' - */ + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┤ + * │Space│ │ │ │ │ Ctl │ │Leave│ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘ +*/ [_GAMING] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - KC_SPC, XXXXXXX, _______, _______, _______, _______, _______, G_0, _______, _______, _______ + KC_SPC, XXXXXXX, _______, _______, _______, KC_LCTL, _______, G_0, _______, _______, _______ ) }; @@ -128,3 +129,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; }; + +LEADER_EXTERNS(); + +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_end(); + + SEQ_TWO_KEYS(KC_G, KC_P) { + SEND_STRING("git push"); + } + SEQ_THREE_KEYS(KC_G, KC_F, KC_P) { + SEND_STRING("git push --force-with-lease"); + } + } +} diff --git a/keyboards/maxr1998/phoebe/rules.mk b/keyboards/maxr1998/phoebe/rules.mk index 335e57536..f60274e51 100644 --- a/keyboards/maxr1998/phoebe/rules.mk +++ b/keyboards/maxr1998/phoebe/rules.mk @@ -29,5 +29,6 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. KEY_LOCK_ENABLE = yes +LEADER_ENABLE = yes # Enable leader key API_SYSEX_ENABLE = no SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend