qmk-config
qmk configs for my open-source keyboards
git clone https://9o.is/git/qmk-config.git
commit bed85731c365456bfedf516b510543155b4ab7cb parent b17260d43ea17c98e1431deb03728269660a7f37 Author: Jul <jul@9o.is> Date: Sun, 26 May 2024 21:34:32 +0800 set home row mods Diffstat:
| M | config.h | | | 4 | ++-- |
| M | keymaps/default/keymap.c | | | 134 | ++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- |
| M | rules.mk | | | 2 | -- |
3 files changed, 80 insertions(+), 60 deletions(-)
diff --git a/config.h b/config.h @@ -3,7 +3,7 @@ //#define MASTER_LEFT #define MASTER_RIGHT -#define BOOTMAGIC_ROW_RIGHT 4 -#define BOOTMAGIC_COLUMN_RIGHT 4 #define SOFT_SERIAL_PIN D2 #define FORCE_NKRO +#define TAPPING_TERM 175 +#define QUICK_TAP_TERM 175 diff --git a/keymaps/default/keymap.c b/keymaps/default/keymap.c @@ -2,14 +2,52 @@ #include QMK_KEYBOARD_H -#define _Q 0 -#define _N 1 -#define _K 2 -#define _C 3 -#define _S 4 +// Layers +#define _QWERTY 0 +#define _NORMAN 1 +#define _SYMBOL 2 +#define _STENOG 3 + +// Layer Actions +#define MO_SYMB MO(_SYMBOL) +#define TO_STEN TO(_STENOG) +#define TO_QWTY TO(_QWERTY) +#define DF_QWTY DF(_QWERTY) +#define DF_NORM DF(_NORMAN) + +// Qwerty Home Row Mods +#define ALT_A LALT_T(KC_A) +#define GUI_S LGUI_T(KC_S) +#define SFT_D LSFT_T(KC_D) +#define CTL_F LCTL_T(KC_F) +#define CTL_J RCTL_T(KC_J) +#define SFT_K RSFT_T(KC_K) +#define GUI_L RGUI_T(KC_L) +#define ALT_SCLN RALT_T(KC_SCLN) + +// Norman Home Row Mods +#define ALT_A LALT_T(KC_A) +#define GUI_S LGUI_T(KC_S) +#define SFT_E LSFT_T(KC_E) +#define CTL_t LCTL_T(KC_T) +#define CTL_N RCTL_T(KC_N) +#define SFT_I RSFT_T(KC_I) +#define GUI_O RGUI_T(KC_O) +#define ALT_H RALT_T(KC_H) + +// Symbol Home Row Mods +#define GUI_4 LGUI_T(KC_4) +#define SFT_5 LSFT_T(KC_5) +#define CTL_6 LCTL_T(KC_6) +#define CTL_DWN RCTL_T(KC_DOWN) +#define SFT_UP RSFT_T(KC_UP) +#define GUI_RGT RGUI_T(KC_RGHT) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* + * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| + * * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ @@ -18,19 +56,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ Z │ X │ C │ V │ B │ │ N │ M │ ,<│ .>│ /?│ * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ * ┌───┐ ┌───┐ - * │CTL├───┐ ┌───┤ALT│ - * └───┤MO1├───┐ ┌───┤SFT├───┘ - * └───┤BSP│ │ ├───┘ + * │ ├───┐ ┌───┤ │ + * └───┤MOs├───┐ ┌───┤ENT├───┘ + * └───┤BSP│ │SPC├───┘ * └───┘ └───┘ */ - [_Q] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCTL, MO(_K), KC_BSPC, KC_SPC, KC_RSFT, KC_RALT + [_QWERTY] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + ALT_A, GUI_S, SFT_D, CTL_F, KC_G, KC_H, CTL_J, SFT_K, GUI_L, ALT_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + XXXXXXX, MO_SYMB, KC_BSPC, KC_SPC, KC_ENT, XXXXXXX ), - + + /* + * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| + * * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ * │ Q │ W │ D │ F │ K │ │ J │ U │ R │ L │ ;:│ * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ @@ -39,46 +80,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ Z │ X │ C │ V │ B │ │ P │ M │ ,<│ .>│ /?│ * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ * ┌───┐ ┌───┐ - * │CTL├───┐ ┌───┤ALT│ - * └───┤MO1├───┐ ┌───┤SFT├───┘ - * └───┤BSP│ │ ├───┘ - * └───┘ └───┘ - */ - [_N] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, - KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCTL, MO(_K), KC_BSPC, KC_SPC, KC_RSFT, KC_RALT - ), - - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │Esc│ 1!│ 2@│ 3#│ =+│ │Tab│ [{│ ]}│TO2│TO3│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │Cap│ 4$│ 5%│ 6^│ -_│ │Ent│ ← │ ↓ │ ↑ │ → │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ \|│ 7&│ 8*│ 9(│ 0)│ │Rpt│ '"│ `~│DF0│DF4│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ * │ ├───┐ ┌───┤ │ - * └───┤ ├───┐ ┌───┤ ├───┘ - * └───┤ │ │GUI├───┘ + * └───┤MOs├───┐ ┌───┤ENT├───┘ + * └───┤BSP│ │SPC├───┘ * └───┘ └───┘ */ - [_K] = LAYOUT_split_3x5_3( - KC_ESC, KC_1, KC_2, KC_3, KC_EQL, KC_TAB, KC_LBRC, KC_RBRC, TO(_C), TO(_S), - CW_TOGG, KC_4, KC_5, KC_6, KC_MINS, KC_ENT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - KC_BSLS, KC_7, KC_8, KC_9, KC_0, QK_REP, KC_QUOT, KC_GRV, DF(_Q), DF(_N), - _______, _______, _______, KC_RGUI, _______, _______ + [_NORMAN] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, + ALT_A, GUI_S, SFT_E, CTL_t, KC_G, KC_Y, CTL_N, SFT_I, GUI_O, ALT_H, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, + XXXXXXX, MO_SYMB, KC_BSPC, KC_SPC, KC_ENT, XXXXXXX ), /* + * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| + * * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │ │BrU│BrD│ │ │ + * │CAP│ 1!│ 2@│ 3#│ =+│ │Tab│ [{│ ]}│ │TOs│ * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │Ly0│ │ │Mut│VLU│VLD│ │ │ + * │ │ 4$│ 5%│ 6^│ -_│ │ ← │ ↓ │ ↑ │ → │ │ * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │Ply│Nxt│Prv│ │ │ + * │ \|│ 7&│ 8*│ 9(│ 0)│ │ESC│ '"│ `~│DFq│DFn│ * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ * ┌───┐ ┌───┐ * │ ├───┐ ┌───┤ │ @@ -86,11 +108,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┤ │ │ ├───┘ * └───┘ └───┘ */ - [_C] = LAYOUT_split_3x5_3( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRIU, KC_BRID, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, TO(_Q), XXXXXXX, KC_MUTE, KC_VOLU, KC_VOLD, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MNXT, KC_MPRV, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + [_SYMBOL] = LAYOUT_split_3x5_3( + CW_TOGG, KC_1, KC_2, KC_3, KC_EQL, KC_TAB, KC_LBRC, KC_RBRC, XXXXXXX, TO_STEN, + KC_LALT, GUI_4, SFT_5, CTL_6, KC_MINS, KC_LEFT, CTL_DWN, SFT_UP, GUI_RGT, KC_RALT, + KC_BSLS, KC_7, KC_8, KC_9, KC_0, KC_ESC, KC_QUOT, KC_GRV, DF_QWTY, DF_NORM, + _______, _______, _______, _______, _______, _______ ), /* @@ -102,16 +124,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ S │ K │ W │ R │ * │ │ Z │ R │ B │ G │ S │ * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ * ┌───┐ ┌───┐ - * │Ly0├───┐ ┌───┤ │ + * │TOq├───┐ ┌───┤ │ * └───┤ A ├───┐ ┌───┤ U ├───┘ * └───┤ O │ │ E ├───┘ * └───┘ └───┘ */ - [_S] = LAYOUT_split_3x5_3( - STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_NC, STN_N8, STN_N9, STN_NA, STN_NB, - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_DR, STN_FR, STN_PR, STN_LR, STN_TR, - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ZR, STN_RR, STN_BR, STN_GR, STN_SR, - TO(_Q), STN_A, STN_O, STN_E, STN_U, XXXXXXX + [_STENOG] = LAYOUT_split_3x5_3( + STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_NC, STN_N8, STN_N9, STN_NA, STN_NB, + STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_DR, STN_FR, STN_PR, STN_LR, STN_TR, + STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ZR, STN_RR, STN_BR, STN_GR, STN_SR, + TO_QWTY, STN_A, STN_O, STN_E, STN_U, XXXXXXX ) }; diff --git a/rules.mk b/rules.mk @@ -1,7 +1,5 @@ CONVERT_TO=rp2040_ce -BOOTMAGIC_ENABLE = yes NKRO_ENABLE = yes CAPS_WORD_ENABLE = yes -REPEAT_KEY_ENABLE = yes STENO_ENABLE = yes STENO_PROTOCOL = geminipr