aboutsummaryrefslogtreecommitdiff
path: root/keyboards/minidox/keymaps/rsthd_combos/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/minidox/keymaps/rsthd_combos/keymap.c')
-rw-r--r--keyboards/minidox/keymaps/rsthd_combos/keymap.c109
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
4enum layer_names {
5 _RSTHD,
6 _LOWER,
7 _RAISE,
8 _ADJUST
9};
10
11enum 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
24const uint16_t PROGMEM fk_combo[] = {KC_F, KC_K, COMBO_END};
25const uint16_t PROGMEM zl_combo[] = {KC_Z, KC_L, COMBO_END};
26const uint16_t PROGMEM hd_combo[] = {KC_H, KC_D, COMBO_END};
27const uint16_t PROGMEM mn_combo[] = {KC_M, KC_N, COMBO_END};
28const uint16_t PROGMEM pb_combo[] = {KC_P, KC_B, COMBO_END};
29const uint16_t PROGMEM xw_combo[] = {KC_X, KC_W, COMBO_END};
30const uint16_t PROGMEM hn_combo[] = {KC_H, KC_N, COMBO_END};
31const uint16_t PROGMEM kz_combo[] = {KC_K, KC_Z, COMBO_END};
32const uint16_t PROGMEM dm_combo[] = {KC_D, KC_M, COMBO_END};
33const uint16_t PROGMEM bx_combo[] = {KC_B, KC_X, COMBO_END};
34
35combo_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
81const 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};