aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ckeys/thedora/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ckeys/thedora/keymaps/default/keymap.c')
-rwxr-xr-xkeyboards/ckeys/thedora/keymaps/default/keymap.c172
1 files changed, 172 insertions, 0 deletions
diff --git a/keyboards/ckeys/thedora/keymaps/default/keymap.c b/keyboards/ckeys/thedora/keymaps/default/keymap.c
new file mode 100755
index 000000000..e2ce9b0d7
--- /dev/null
+++ b/keyboards/ckeys/thedora/keymaps/default/keymap.c
@@ -0,0 +1,172 @@
1/* Copyright 2019 Branden Byers (@brandenbyers)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _BASE, // base layer
21 _MUSIC, // music mode
22 _MIDI, // midi mode
23 _MOUSE, // mouse keys
24 _ADMIN // admin duties
25};
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28
29 // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
30 // │ │ │ │ │ │
31 // │ 7 │ 8 │ 9 │ / │ ADMIN │
32 // ROTARY │ │ │ │ │ │
33 // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
34 // PAGE DOWN│ │ │ │ │ │
35 // │ 4 │ 5 │ 6 │ * │ MOUSE │
36 // ROTARY │ │ │ │ │ │
37 // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
38 // PAGE UP │ │ │ │ │ │
39 // │ 1 │ 2 │ 3 │ - │ MIDI │
40 // │ │ │ │ │ │
41 // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
42 // │ TOGGLE │ │ │ │ │ │
43 // │ MUSIC │ 0 │ . │ = │ + │ MUSIC │
44 // │ │ │ │ │ │ │
45 // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
46
47 [_BASE] = LAYOUT(
48 KC_P7, KC_P8 , KC_P9 , KC_PSLS, MO(_ADMIN),
49 KC_P4, KC_P5 , KC_P6 , KC_PAST, TG(_MOUSE),
50 KC_P1, KC_P2 , KC_P3 , KC_PMNS, TG(_MIDI),
51 MU_TOG, KC_P0, KC_PDOT, KC_PEQL, KC_PPLS, MO(_MUSIC)
52 ),
53
54 // MUSIC LAYER
55 // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
56 // │ │ │ │ │ │
57 // │ │ │ │ │ │
58 // ROTARY │ │ │ │ │ │
59 // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
60 // PAGE DOWN│ │ │ │ │ │
61 // │ │ │ │ │ │
62 // ROTARY │ │ │ │ │ │
63 // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
64 // PAGE UP │ │ │ │ │ │
65 // │ │ │ │ MODE │ │
66 // │ │ │ │ │ │
67 // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
68 // │ │ │ │ │ │ │
69 // │ │ RECORD │ STOP │ │ PLAY │ │
70 // │ │ │ │ │ │ │
71 // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
72
73 [_MUSIC] = LAYOUT(
74 _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______,
76 _______, _______, _______, _______, MU_MOD,
77 _______, KC_LCTL, KC_LALT, _______, KC_LGUI, _______
78 ),
79
80 // MIDI LAYER
81 // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
82 // │ │ │ │ │ │
83 // │ D♯ │ E │ F │ F♯ │ G │
84 // ROTARY │ │ │ │ │ │
85 // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
86 // PAGE DOWN│ │ │ │ │ │
87 // │ A♯ │ B │ C │ C♯ │ D │
88 // ROTARY │ │ │ │ │ │
89 // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
90 // PAGE UP │ │ │ │ │ │
91 // │ F │ F♯ │ G │ G♯ │ A │
92 // │ │ │ │ │ │
93 // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
94 // │ │ │ │ │ │ │
95 // │ │ C │ C♯ │ D │ D♯ │ E │
96 // │ │ │ │ │ │ │
97 // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
98
99 [_MIDI] = LAYOUT(
100 MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3,
101 MI_As_2, MI_B_2, MI_C_3, MI_Cs_3, MI_D_3,
102 MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI),
103 _______, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2
104 ),
105
106 // MOUSE LAYER
107 // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
108 // │ │ │ │ │ │
109 // │ BTN 5 │ │ WHEEL │ │ │
110 // ROTARY │ │ │ UP │ │ │
111 // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
112 // PAGE DOWN│ │ │ │ │ │
113 // │ │ LEFT │ MOUSE │ RIGHT │ │
114 // ROTARY │ │ CLICK │ UP │ CLICK │ │
115 // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
116 // PAGE UP │ │ │ │ │ │
117 // │ BTN 4 │ MOUSE │ MOUSE │ MOUSE │ │
118 // │ │ LEFT │ DOWN │ RIGHT │ │
119 // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
120 // │ │ │ │ │ │ │
121 // │ │ BTN 3 │ WHEEL │ WHEEL │ WHEEL │ │
122 // │ │ │ LEFT │ DOWN │ RIGHT │ │
123 // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
124
125 [_MOUSE] = LAYOUT(
126 KC_BTN5, _______, KC_WH_U, _______, _______,
127 _______, KC_BTN1, KC_MS_U, KC_BTN2, TG(_MOUSE),
128 KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, _______,
129 _______, KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R, _______
130 ),
131
132 // ADMIN LAYER
133 // ┌─────────┬─────────┬─────────┬─────────┬─────────┐
134 // │ │ │ │ │ │
135 // │ RESET │ │ │ │ │
136 // ROTARY │ │ │ │ │ │
137 // RIGHT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
138 // PAGE DOWN│ │ │ │ │ │
139 // │ 4 │ 5 │ 6 │ * │ │
140 // ROTARY │ │ │ │ │ │
141 // LEFT: ├─────────┼─────────┼─────────┼─────────┼─────────┤
142 // PAGE UP │ │ │ │ │ │
143 // │ 1 │ 2 │ 3 │ │ │
144 // │ │ │ │ │ │
145 // ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
146 // │ │ │ │ │ │ │
147 // │ │ 0 │ . │ = │ │ │
148 // │ │ │ │ │ │ │
149 // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
150
151 [_ADMIN] = LAYOUT(
152 RESET, _______, _______, _______, TG(_ADMIN),
153 _______, _______, _______, _______, _______,
154 _______, _______, _______, _______, _______,
155 _______, _______, _______, _______, _______, _______
156 ),
157};
158
159bool process_record_user(uint16_t keycode, keyrecord_t *record) {
160 return true;
161};
162
163bool encoder_update_user(uint8_t index, bool clockwise) {
164 if (index == 0) { /* First encoder */
165 if (clockwise) {
166 tap_code(KC_PGDN);
167 } else {
168 tap_code(KC_PGUP);
169 }
170 }
171 return true;
172}