aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRustam Zagirov <stammru@gmail.com>2020-09-22 08:12:29 +0300
committerGitHub <noreply@github.com>2020-09-21 22:12:29 -0700
commitea0cf42eef81c137b6483cb0d33336bc98847981 (patch)
treef6fb2a2e079bc4e18a993a2a4bc5ca11f219b78b
parentbfbcfbc83e9c496abff002726f7cc07108d99003 (diff)
downloadqmk_firmware-ea0cf42eef81c137b6483cb0d33336bc98847981.tar.gz
qmk_firmware-ea0cf42eef81c137b6483cb0d33336bc98847981.zip
[Keymap] Add stamm layout for ergodox_ez (#10365)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/config.h40
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/keymap.c308
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/readme.md117
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/rules.mk8
4 files changed, 473 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/stamm/config.h b/keyboards/ergodox_ez/keymaps/stamm/config.h
new file mode 100644
index 000000000..e1db3d900
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/stamm/config.h
@@ -0,0 +1,40 @@
1/* Copyright 2020 Rustam Zagirov
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/*
18 Set any config.h overrides for your specific keymap here.
19 See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
20*/
21#pragma once
22
23#define ORYX_CONFIGURATOR
24#define LEADER_TIMEOUT 500
25#define LEADER_PER_KEY_TIMING
26
27#define TAPPING_TERM 200
28#define TAPPING_TERM_PER_KEY
29#define PERMISSIVE_HOLD
30/* #define PERMISSIVE_HOLD_PER_KEY */
31
32#define IGNORE_MOD_TAP_INTERRUPT
33#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
34
35#define TAPPING_FORCE_HOLD
36#define TAPPING_FORCE_HOLD_PER_KEY
37
38/* #define RETRO_TAPPING */
39#undef LED_BRIGHTNESS_DEFAULT
40#define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_LO)
diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
new file mode 100644
index 000000000..e2d9964ba
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
@@ -0,0 +1,308 @@
1/* Copyright 2020 Rustam Zagirov
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#include QMK_KEYBOARD_H
17#include "version.h"
18
19#define KC_MAC_UNDO LGUI(KC_Z)
20#define KC_MAC_CUT LGUI(KC_X)
21#define KC_MAC_COPY LGUI(KC_C)
22#define KC_MAC_PASTE LGUI(KC_V)
23#define KC_PC_UNDO LCTL(KC_Z)
24#define KC_PC_CUT LCTL(KC_X)
25#define KC_PC_COPY LCTL(KC_C)
26#define KC_PC_PASTE LCTL(KC_V)
27#define ES_LESS_MAC KC_GRAVE
28#define ES_GRTR_MAC LSFT(KC_GRAVE)
29#define ES_BSLS_MAC ALGR(KC_6)
30#define NO_PIPE_ALT KC_GRAVE
31#define NO_BSLS_ALT KC_EQUAL
32#define LSA_T(kc) MT(MOD_LSFT | MOD_LALT, kc)
33
34#define E_NUMBERS LT(_3_NUMBERS,KC_E)
35#define R_MOUSE LT(_4_MOUSE,KC_R)
36#define O_NUMBERS LT(_3_NUMBERS,KC_O)
37#define U_MOUSE LT(_4_MOUSE,KC_U)
38#define R_NUMBERS LT(_3_NUMBERS,KC_R)
39#define W_MOUSE LT(_4_MOUSE,KC_W)
40#define LEFT_NUMBERS LT(_3_NUMBERS, KC_LEFT)
41#define RIGHT_MOUSE LT(_4_MOUSE, KC_RIGHT)
42
43enum custom_keycodes {
44 RGB_SLD = EZ_SAFE_RANGE,
45 ALT_TAB,
46};
47
48bool is_alt_tab_active = false; // ADD this near the begining of keymap.c
49uint16_t alt_tab_timer = 0; // we will be using them soon.
50
51enum layers {
52 _0_BASE,
53 _1_BEAKL,
54 _2_WORKMAN,
55 _3_NUMBERS,
56 _4_MOUSE,
57};
58
59
60const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
61[_0_BASE] = LAYOUT_ergodox(
62 KC_NONUS_BSLASH, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_AUDIO_MUTE,
63 KC_LEAD, KC_Q, KC_W, E_NUMBERS, R_MOUSE, KC_T, TG(_1_BEAKL),
64 LCTL(KC_B), LSFT_T(KC_A), LCTL_T(KC_S), LALT_T(KC_D), LGUI_T(KC_F), KC_G,
65 KC_BSLASH, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(_2_WORKMAN),
66 ALT_TAB, XXXXXXX, XXXXXXX, LEFT_NUMBERS, RIGHT_MOUSE,
67 KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP,
68 XXXXXXX,
69 KC_ENTER, KC_TAB, KC_ESCAPE,
70 KC_CAPSLOCK, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINUS,
71 XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET,
72 KC_H, RGUI_T(KC_J), RALT_T(KC_K), RCTL_T(KC_L), RSFT_T(KC_SCOLON), KC_QUOTE,
73 KC_RBRACKET, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_EQUAL,
74 KC_DOWN, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
75 KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
76 XXXXXXX,
77 KC_ESCAPE, KC_BSPACE, KC_SPACE
78),
79[_1_BEAKL] = LAYOUT_ergodox(
80 _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, KC_H, O_NUMBERS, U_MOUSE, KC_X, _______,
82 _______, LSFT_T(KC_Y), LCTL_T(KC_I), LALT_T(KC_E), LGUI_T(KC_A), KC_DOT,
83 _______, KC_J, KC_SLASH, KC_COMMA, KC_K, KC_QUOTE, _______,
84 _______, _______, _______, _______, _______,
85 _______, _______,
86 _______,
87 _______, _______, _______,
88
89 _______, _______, _______, _______, _______, _______, _______,
90 _______, KC_G, KC_C, KC_R, KC_F, KC_Z, _______,
91 KC_D, RGUI_T(KC_S), RALT_T(KC_T), RCTL_T(KC_N), RSFT_T(KC_B), KC_SCOLON,
92 _______, KC_W, _______, KC_L, KC_P, KC_V, _______,
93 _______, _______, _______, _______, _______,
94 _______, _______,
95 _______,
96 _______, _______, _______
97),
98[_2_WORKMAN] = LAYOUT_ergodox(
99 _______, _______, _______, _______, _______, _______, _______,
100 _______, _______, KC_D, R_NUMBERS, W_MOUSE, KC_B, _______,
101 _______, _______, _______, LALT_T(KC_H), LGUI_T(KC_T), _______,
102 _______, _______, _______, KC_M, KC_C, KC_V, _______,
103 _______, _______, _______, _______, _______,
104 _______, _______,
105 _______,
106 _______, _______, _______,
107
108 _______, _______, _______, _______, _______, _______, _______,
109 _______, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, _______,
110 KC_Y, RGUI_T(KC_N), RALT_T(KC_E), RCTL_T(KC_O), RSFT_T(KC_I), _______,
111 _______, KC_K, KC_L, _______, _______, _______, _______,
112 _______, _______, _______, _______, _______,
113 _______, _______,
114 _______,
115 _______, _______, _______
116),
117[_3_NUMBERS] = LAYOUT_ergodox(
118 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
119 _______, _______, _______, _______, _______, _______, _______,
120 _______, _______, _______, _______, _______, _______,
121 _______, _______, _______, _______, _______, _______, _______,
122 RESET, _______, _______, _______, _______,
123 _______, _______,
124 _______,
125 _______, _______, _______,
126
127 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
128 _______, _______, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
129 _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
130 _______, _______, KC_1, KC_2, KC_3, KC_BSLASH, _______,
131 KC_0, KC_KP_DOT, _______, KC_EQUAL, _______,
132 _______, _______,
133 _______,
134 _______, _______, _______
135),
136[_4_MOUSE] = LAYOUT_ergodox(
137 _______, _______, _______, _______, _______, _______, _______,
138 _______, _______, _______, _______, _______, _______, _______,
139 _______, _______, _______, _______, _______, _______,
140 _______, _______, _______, _______, _______, _______, _______,
141 _______, _______, _______, _______, _______,
142
143 RGB_HUI, RGB_HUD,
144 _______,
145 _______, _______, _______,
146
147 _______, _______, _______, _______, _______, _______, _______,
148 RGB_MOD, RGB_TOG, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______,
149 RGB_SLD, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______,
150 TOGGLE_LAYER_COLOR, _______, KC_MS_WH_UP, _______, KC_MS_WH_DOWN, _______, _______,
151 _______, _______, _______, _______, _______,
152
153 RGB_VAD, RGB_VAI,
154 _______,
155 _______, _______,
156),
157};
158
159
160/* bool suspended = false; */
161
162bool process_record_user(uint16_t keycode, keyrecord_t *record) {
163 switch (keycode) {
164 case RGB_SLD:
165 if (record->event.pressed) {
166 rgblight_mode(1);
167 }
168 return false;
169 case ALT_TAB:
170 if (record->event.pressed) {
171 if (!is_alt_tab_active) {
172 is_alt_tab_active = true;
173 register_code(KC_LGUI);
174 }
175 alt_tab_timer = timer_read();
176 register_code(KC_TAB);
177 } else {
178 unregister_code(KC_TAB);
179 }
180 break;
181 }
182 return true;
183}
184
185layer_state_t layer_state_set_user(layer_state_t state) {
186 ergodox_led_all_off();
187 switch (get_highest_layer(state)) {
188 case _1_BEAKL:
189 ergodox_right_led_1_on();
190 break;
191 case _2_WORKMAN:
192 ergodox_right_led_2_on();
193 break;
194 case _3_NUMBERS:
195 ergodox_right_led_3_on();
196 break;
197 case _4_MOUSE:
198 ergodox_right_led_1_on();
199 ergodox_right_led_2_on();
200 break;
201 /* case 6: */
202 /* ergodox_right_led_2_on(); */
203 /* ergodox_right_led_3_on(); */
204 /* break; */
205 /* case 7: */
206 /* ergodox_right_led_1_on(); */
207 /* ergodox_right_led_2_on(); */
208 /* ergodox_right_led_3_on(); */
209 /* break; */
210 default:
211 break;
212 }
213 return state;
214
215};
216
217
218uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
219 switch (keycode) {
220 /* case SFT_T(KC_SPC): */
221 /* return TAPPING_TERM + 1250; */
222 case LT(_3_NUMBERS, KC_E):
223 return 200;
224 case LT(_4_MOUSE, KC_R):
225 return 200;
226 /* case LGUI_T(KC_F): */
227 /* return 50; */
228 default:
229 return TAPPING_TERM;
230 }
231}
232bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
233 switch (keycode) {
234 case LT(_3_NUMBERS, KC_E):
235 case LT(_4_MOUSE, KC_R):
236 case LSFT_T(KC_A):
237 case LCTL_T(KC_S):
238 case LALT_T(KC_D):
239 case LGUI_T(KC_F):
240 case RGUI_T(KC_J):
241 case RALT_T(KC_K):
242 case RCTL_T(KC_L):
243 case RSFT_T(KC_SCOLON):
244 case LEFT_NUMBERS:
245 case RIGHT_MOUSE:
246 return true;
247 default:
248 return false;
249 }
250}
251
252
253bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
254 switch (keycode) {
255 case LT(_3_NUMBERS, KC_E):
256 case LT(_4_MOUSE, KC_R):
257 case LSFT_T(KC_A):
258 case LCTL_T(KC_S):
259 case LALT_T(KC_D):
260 case LGUI_T(KC_F):
261 case RGUI_T(KC_J):
262 case RALT_T(KC_K):
263 case RCTL_T(KC_L):
264 case RSFT_T(KC_SCOLON):
265 case LEFT_NUMBERS:
266 case RIGHT_MOUSE:
267 return false;
268 default:
269 return true;
270 }
271}
272
273
274
275LEADER_EXTERNS();
276
277void matrix_scan_user(void) {
278 if (is_alt_tab_active) {
279 if (timer_elapsed(alt_tab_timer) > 1000) {
280 unregister_code(KC_LGUI);
281 is_alt_tab_active = false;
282 }
283 }
284 LEADER_DICTIONARY() {
285 leading = false;
286 leader_end();
287
288 SEQ_ONE_KEY(KC_F) {
289 SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
290 }
291 SEQ_ONE_KEY(KC_S) {
292 SEND_STRING ("sudo -i\n");
293 }
294 SEQ_TWO_KEYS(KC_D, KC_D) {
295 SEND_STRING(SS_LGUI("ac"));
296 /* SEND_STRING(SS_LGUI("a") SS_LGUI("c")); */
297 }
298 SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
299 SEND_STRING("https://start.duckduckgo.com\n");
300 }
301 SEQ_TWO_KEYS(KC_A, KC_S) {
302 register_code(KC_LGUI);
303 register_code(KC_S);
304 unregister_code(KC_S);
305 unregister_code(KC_LGUI);
306 }
307 }
308}
diff --git a/keyboards/ergodox_ez/keymaps/stamm/readme.md b/keyboards/ergodox_ez/keymaps/stamm/readme.md
new file mode 100644
index 000000000..f2cdc7ea1
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/stamm/readme.md
@@ -0,0 +1,117 @@
1# Stamm layouts for ergodox_ez
2
35 layers:
4
5* QUERTY
6* BEAKL15
7* WORKMAN
8* Numbers
9* Mouse
10
11On home row there are hold dual keys:
12- shift, ctrl, alt, cmd — on the fingers on the left hand
13- cmd, alt, ctrl, shift — mirrored on the finger on the righ hand
14
15Top row behaves like shifter numbers row.
16Hold E switch to layer with numbers.
17Hold R switch to mouse controll layer.
18
19```
20 0 Base
21╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
22│ ` │ ! │ @ │ # │ $ │ % │Mute │ │Capsl│ ^ │ & │ * │ ( │ ) │ - │
23├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
24│ Lead │ Q │ W │E|LT3│R|LT4│ T │ TG1 │ │ │ Y │ U │ I │ O │ P │ [ │
25├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
26│Ctrl + B│A | ⇧│S | ⌃│D | ⌥│F | ⌘│ G ├─────┤ ├─────┤ H │J | ⌘│K | ⌥│L | ⌃│; | ⇧│ ' │
27├────────┼─────┼─────┼─────┼─────┼─────┤ TG2 │ │ ] ├─────┼─────┼─────┼─────┼─────┼────────┤
28│ \ │ Z │ X │ C │ V │ B │ │ │ │ N │ M │ , │ . │ / │ = │
29╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
30 │⎇ + T│ │ │←|LT3│→|LT4│ │ ↓ │ ↑ │ │ │ │
31 ╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
32 │Vol- │Vol+ │ │Play │Next │
33 ╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
34 │ │ │ │ │ │ │ │
35 │Enter│ Tab ├─────┤ ├─────┤Bspac│ ⎵ │
36 │ │ │ Esc │ │ Esc │ │ │
37 ╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
38
39 1 Beakl
40╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
41│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
42├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
43│ │ │ H │O|LT3│U|LT4│ X │ │ │ │ G │ C │ R │ F │ Z │ │
44├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
45│ │Y | ⇧│I | ⌃│E | ⌥│A | ⌘│ . ├─────┤ ├─────┤ D │S | ⌘│T | ⌥│N | ⌃│B | ⇧│ ; │
46├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
47│ │ J │ / │ , │ K │ ' │ │ │ │ W │ │ L │ P │ V │ │
48╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
49 │ │ │ │ │ │ │ │ │ │ │ │
50 ╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
51 │ │ │ │ │ │
52 ╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
53 │ │ │ │ │ │ │ │
54 │ │ ├─────┤ ├─────┤ │ │
55 │ │ │ │ │ │ │ │
56 ╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
57
58 2 Workman
59╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
60│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
61├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
62│ │ │ D │R|LT3│W|LT4│ B │ │ │ │ J │ F │ U │ P │ ; │ │
63├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
64│ │ │ │H | ⌥│T | ⌘│ ├─────┤ ├─────┤ Y │N | ⌘│E | ⌥│O | ⌃│I | ⇧│ │
65├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
66│ │ │ │ M │ C │ V │ │ │ │ K │ L │ │ │ │ │
67╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
68 │ │ │ │ │ │ │ │ │ │ │ │
69 ╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
70 │ │ │ │ │ │
71 ╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
72 │ │ │ │ │ │ │ │
73 │ │ ├─────┤ ├─────┤ │ │
74 │ │ │ │ │ │ │ │
75 ╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
76
77 3 Numbers
78╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
79│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │
80├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
81│ │ │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ * │ F12 │
82├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
83│ │ │ │ │ │ ├─────┤ ├─────┤ │ 4 │ 5 │ 6 │ + │ │
84├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
85│ │ │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ \ │ │
86╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
87 │Reset│ │ │ │ │ │ 0 │ . │ │ = │ │
88 ╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
89 │ │ │ │ │ │
90 ╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
91 │ │ │ │ │ │ │ │
92 │ │ ├─────┤ ├─────┤ │ │
93 │ │ │ │ │ │ │ │
94 ╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
95
96 4 Mouse
97╭────────┬─────┬─────┬─────┬─────┬─────┬─────╮ ╭─────┬─────┬─────┬─────┬─────┬─────┬────────╮
98│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
99├────────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼────────┤
100│ │ │ │ │ │ │ │ │RgbMo│RgbTo│MsBtn│MsUp │MsBtn│ │ │
101├────────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼────────┤
102│ │ │ │ │ │ ├─────┤ ├─────┤RgbSl│MsLef│MsDow│MsRig│ │ │
103├────────┼─────┼─────┼─────┼─────┼─────┤ │ │Toggl├─────┼─────┼─────┼─────┼─────┼────────┤
104│ │ │ │ │ │ │ │ │ │ │MsWhU│ │MsWhD│ │ │
105╰──┬─────┼─────┼─────┼─────┼─────┼─────┴─────╯ ╰─────┴─────┼─────┼─────┼─────┼─────┼─────┬──╯
106 │ │ │ │ │ │ │ │ │ │ │ │
107 ╰─────┴─────┴─────┴─────┴─────╯ ╭─────┬─────╮ ╭─────┬─────╮ ╰─────┴─────┴─────┴─────┴─────╯
108 │RgbHu│RgbHu│ │RgbVa│RgbVa│
109 ╭─────┼─────┼─────┤ ├─────┼─────┼─────╮
110 │ │ │ │ │ │ │ │
111 │ │ ├─────┤ ├─────┤ │ 75 │
112 │ │ │ │ │ │ │ │
113 ╰─────┴─────┴─────╯ ╰─────┴─────┴─────╯
114
115```
116
117Copyright &copy; 2020 Rustam Zagirov. Released under [GPL-2.0](/LICENSE).
diff --git a/keyboards/ergodox_ez/keymaps/stamm/rules.mk b/keyboards/ergodox_ez/keymaps/stamm/rules.mk
new file mode 100644
index 000000000..619224bef
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/stamm/rules.mk
@@ -0,0 +1,8 @@
1# Set any rules.mk overrides for your specific keymap here.
2# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
3LTO_ENABLE = yes
4COMMAND_ENABLE = no
5LEADER_ENABLE = yes
6RGBLIGHT_ENABLE = yes
7
8TAP_DANCE_ENABLE = no