summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Rumpf <max.rumpf1998@gmail.com>2020-05-16 08:43:10 +0200
committerGitHub <noreply@github.com>2020-05-15 23:43:10 -0700
commitd89e552419822c565805bd95b992b8e7dfdf47d9 (patch)
treeb3e930a3cb764cb571c5185e73a513bafc95a323
parent9cf69a199715a2aa7ba2ca7ab8f5553bbeb1dcd5 (diff)
[Phoebe] Keymap improvements (#9092)
Enable leader key with some useful macros, use fancier design for keymap previews in code, other smaller tweaks
-rw-r--r--keyboards/maxr1998/phoebe/config.h4
-rw-r--r--keyboards/maxr1998/phoebe/keymaps/default/keymap.c115
-rw-r--r--keyboards/maxr1998/phoebe/rules.mk1
3 files changed, 71 insertions, 49 deletions
diff --git a/keyboards/maxr1998/phoebe/config.h b/keyboards/maxr1998/phoebe/config.h
index 2be26c6fdb..e530bc46ef 100644
--- a/keyboards/maxr1998/phoebe/config.h
+++ b/keyboards/maxr1998/phoebe/config.h
@@ -57,6 +57,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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 b1a37a2f19..11df63bb17 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 335e575364..f60274e515 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