diff options
Diffstat (limited to 'keyboards/minidox/keymaps/rsthd_combos/keymap.c')
| -rw-r--r-- | keyboards/minidox/keymaps/rsthd_combos/keymap.c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/keyboards/minidox/keymaps/rsthd_combos/keymap.c b/keyboards/minidox/keymaps/rsthd_combos/keymap.c new file mode 100644 index 000000000..a3ba423c6 --- /dev/null +++ b/keyboards/minidox/keymaps/rsthd_combos/keymap.c | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | // Defines names for use in layer keycodes and the keymap | ||
| 4 | enum layer_names { | ||
| 5 | _RSTHD, | ||
| 6 | _LOWER, | ||
| 7 | _RAISE, | ||
| 8 | _ADJUST | ||
| 9 | }; | ||
| 10 | |||
| 11 | enum combo_events { | ||
| 12 | TOP_L, | ||
| 13 | TOP_R, | ||
| 14 | MID_L, | ||
| 15 | MID_R, | ||
| 16 | BOT_L, | ||
| 17 | BOT_R, | ||
| 18 | HN_QUOT, | ||
| 19 | TOP_CTR, | ||
| 20 | MID_CTR, | ||
| 21 | BOT_CTR, | ||
| 22 | }; | ||
| 23 | |||
| 24 | const uint16_t PROGMEM fk_combo[] = {KC_F, KC_K, COMBO_END}; | ||
| 25 | const uint16_t PROGMEM zl_combo[] = {KC_Z, KC_L, COMBO_END}; | ||
| 26 | const uint16_t PROGMEM hd_combo[] = {KC_H, KC_D, COMBO_END}; | ||
| 27 | const uint16_t PROGMEM mn_combo[] = {KC_M, KC_N, COMBO_END}; | ||
| 28 | const uint16_t PROGMEM pb_combo[] = {KC_P, KC_B, COMBO_END}; | ||
| 29 | const uint16_t PROGMEM xw_combo[] = {KC_X, KC_W, COMBO_END}; | ||
| 30 | const uint16_t PROGMEM hn_combo[] = {KC_H, KC_N, COMBO_END}; | ||
| 31 | const uint16_t PROGMEM kz_combo[] = {KC_K, KC_Z, COMBO_END}; | ||
| 32 | const uint16_t PROGMEM dm_combo[] = {KC_D, KC_M, COMBO_END}; | ||
| 33 | const uint16_t PROGMEM bx_combo[] = {KC_B, KC_X, COMBO_END}; | ||
| 34 | |||
| 35 | combo_t key_combos[COMBO_COUNT] = { | ||
| 36 | [TOP_L] = COMBO(fk_combo, KC_ESC), | ||
| 37 | [TOP_R] = COMBO(zl_combo, KC_AT), | ||
| 38 | [MID_L] = COMBO(hd_combo, KC_TAB), | ||
| 39 | [MID_R] = COMBO_ACTION(mn_combo), | ||
| 40 | [BOT_L] = COMBO(pb_combo, KC_HASH), | ||
| 41 | [BOT_R] = COMBO(xw_combo, KC_AMPR), | ||
| 42 | [HN_QUOT] = COMBO(hn_combo, KC_QUOT), | ||
| 43 | [TOP_CTR] = COMBO_ACTION(kz_combo), | ||
| 44 | [MID_CTR] = COMBO_ACTION(dm_combo), | ||
| 45 | [BOT_CTR] = COMBO_ACTION(bx_combo), | ||
| 46 | }; | ||
| 47 | |||
| 48 | void process_combo_event(uint8_t combo_index, bool pressed) { | ||
| 49 | switch(combo_index) { | ||
| 50 | case MID_R: | ||
| 51 | if (pressed) { | ||
| 52 | tap_code16(LALT(KC_3)); | ||
| 53 | } | ||
| 54 | break; | ||
| 55 | case TOP_CTR: | ||
| 56 | if (pressed) { | ||
| 57 | set_oneshot_mods(MOD_LGUI); | ||
| 58 | } | ||
| 59 | break; | ||
| 60 | case MID_CTR: | ||
| 61 | if (pressed) { | ||
| 62 | set_oneshot_mods(MOD_LALT); | ||
| 63 | } | ||
| 64 | break; | ||
| 65 | case BOT_CTR: | ||
| 66 | if (pressed) { | ||
| 67 | set_oneshot_mods(MOD_LCTL); | ||
| 68 | } | ||
| 69 | break; | ||
| 70 | } | ||
| 71 | } | ||
| 72 | |||
| 73 | // Defines for task manager and such | ||
| 74 | // For insertion in keymap | ||
| 75 | #define KILL LGUI(LALT(KC_ESC)) //Force quit controls | ||
| 76 | #define SCRCAP LCTL(LSFT(LGUI(KC_5))) //Screen capture controls | ||
| 77 | #define DSK_LFT LGUI(LCTL(KC_LEFT)) | ||
| 78 | #define DSK_RT LGUI(LCTL(KC_RIGHT)) | ||
| 79 | |||
| 80 | |||
| 81 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 82 | |||
| 83 | |||
| 84 | [_RSTHD] = LAYOUT( | ||
| 85 | KC_J, KC_C, KC_Y, KC_F, KC_K, KC_Z, KC_L, KC_COMM, KC_U, KC_Q, | ||
| 86 | KC_R, KC_S, KC_T, KC_H, KC_D, KC_M, KC_N, KC_A, KC_I , KC_O, | ||
| 87 | LCTL_T(KC_SLSH), LALT_T(KC_V), LGUI_T(KC_G), KC_P, KC_B, KC_X, KC_W, RGUI_T(KC_DOT), RALT_T(KC_SCLN),RCTL_T(KC_MINS), | ||
| 88 | OSM(MOD_LSFT), LT(_LOWER, KC_BSPC), KC_E, KC_SPC, LT(_RAISE, KC_ENT), OSM(MOD_LSFT) | ||
| 89 | ), | ||
| 90 | [_RAISE] = LAYOUT( | ||
| 91 | KC_PAST, KC_7, KC_8, KC_9, KC_PLUS, KC_NUBS, LALT(KC_2), _______, LALT(KC_4), KC_DLR, | ||
| 92 | KC_CIRC, KC_4, KC_5, KC_6, KC_EQL, LSFT(KC_NUBS), KC_GRV, KC_TILD, KC_PIPE, KC_BSLS, | ||
| 93 | _______, RALT_T(KC_1), KC_2, KC_3,KC_PERC, _______, _______, _______, _______, _______, | ||
| 94 | _______, MO(_ADJUST), KC_0, _______, _______, _______ | ||
| 95 | ), | ||
| 96 | [_LOWER] = LAYOUT( | ||
| 97 | _______, KC_LBRC, KC_QUES, KC_RBRC, KC_BRMU, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, | ||
| 98 | KC_ESC, KC_LPRN, KC_EXLM, KC_RPRN, KC_BRMD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_VOLD, | ||
| 99 | _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC__MUTE, | ||
| 100 | _______, _______, _______, KC_DEL, MO(_ADJUST), _______ | ||
| 101 | ), | ||
| 102 | [_ADJUST] = LAYOUT( | ||
| 103 | _______, KC_F7, KC_F8, KC_F9, SCRCAP, _______, KC_F10, KC_F11, KC_F12, _______, | ||
| 104 | _______, KC_F1, KC_F2, KC_F3, _______, _______, KC_F4, KC_F5, KC_F6, _______, | ||
| 105 | OSM(MOD_LCTL),_______, _______, _______, RESET, KILL, _______, _______, _______, OSM(MOD_RCTL), | ||
| 106 | _______, _______, _______, _______, _______, _______ | ||
| 107 | ) | ||
| 108 | |||
| 109 | }; | ||
