aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-03 21:33:06 +0000
committerQMK Bot <hello@qmk.fm>2021-03-03 21:33:06 +0000
commit6a4960889e812fba72c964765448ccf33ab45a4f (patch)
tree779102d89c82e98a22d7a9e7b309329ca59610e2
parent064265166ca519f52253ff836866a88940070986 (diff)
parent2dcd67ce1a40075c895a28ce6f6e7a5f634ee376 (diff)
downloadqmk_firmware-6a4960889e812fba72c964765448ccf33ab45a4f.tar.gz
qmk_firmware-6a4960889e812fba72c964765448ccf33ab45a4f.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt/config.h80
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt/keymap.c241
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt/readme.md117
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt/rules.mk7
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_loud/config.h80
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_loud/keymap.c214
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_loud/readme.md117
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk7
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_quiet/config.h80
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c178
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_quiet/readme.md117
-rw-r--r--keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk7
12 files changed, 1245 insertions, 0 deletions
diff --git a/keyboards/bm40hsrgb/keymaps/signynt/config.h b/keyboards/bm40hsrgb/keymaps/signynt/config.h
new file mode 100644
index 000000000..9fcddca2c
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt/config.h
@@ -0,0 +1,80 @@
1// qmk flash -kb bm40hsrgb -km signynt
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21#define RGBLIGHT_LAYERS
22#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
23#define RGBLIGHT_ANIMATIONS
24
25//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
26#define RGBLIGHT_LIMIT_VAL 10
27
28//bootmagic
29#define BOOTMAGIC_KEY_SALT KC_V
30#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
31
32#ifdef RGB_MATRIX_ENABLE
33
34#define TAPPING_TERM 200
35
36//--------------------------------------------------------------------------------------------------------
37
38//disable broken animations
39#define DISABLE_RGB_MATRIX_ALPHAS_MODS
40#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
41#define DISABLE_RGB_MATRIX_BREATHING
42#define DISABLE_RGB_MATRIX_BAND_SAT
43#define DISABLE_RGB_MATRIX_BAND_VAL
44#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
45#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
46#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
47#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
48#define DISABLE_RGB_MATRIX_CYCLE_ALL
49#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
50#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
51#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
52#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
53//#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
54//#define DISABLE_RGB_MATRIX_DUAL_BEACON
55#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
56#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
57//#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
58//#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
59//#define DISABLE_RGB_MATRIX_RAINDROPS
60#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
61//#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
62//#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
63//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
64//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
65//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
66//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
67//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
68//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
69//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
70//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
71//#define DISABLE_RGB_MATRIX_SPLASH
72//#define DISABLE_RGB_MATRIX_MULTISPLASH
73//#define DISABLE_RGB_MATRIX_SOLID_SPLASH
74//#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
75
76#undef RGB_MATRIX_STARTUP_MODE
77
78#define RGBLIGHT_HUE_STEP 20
79
80#endif
diff --git a/keyboards/bm40hsrgb/keymaps/signynt/keymap.c b/keyboards/bm40hsrgb/keymaps/signynt/keymap.c
new file mode 100644
index 000000000..b04f7ffb7
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt/keymap.c
@@ -0,0 +1,241 @@
1// qmk flash -kb bm40hsrgb -km signynt
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20
21// non-KC_ keycodes
22#define KC_RST RESET
23#define KC_TOG RGB_TOG
24#define KC_MOD RGB_MOD
25#define KC_HUI RGB_HUI
26#define KC_SAI RGB_SAI
27#define KC_VAI RGB_VAI
28
29//define layers
30enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
31
32enum custom_keycodes {
33 CMD_TAB = SAFE_RANGE,
34};
35
36//cmd tab
37
38bool is_cmd_tab_active = false;
39uint16_t cmd_tab_timer = 0;
40
41bool process_record_user(uint16_t keycode, keyrecord_t *record) {
42 switch (keycode) {
43 case CMD_TAB:
44 if (record->event.pressed) {
45 if (!is_cmd_tab_active) {
46 is_cmd_tab_active = true;
47 register_code(KC_LCTL);
48 }
49 cmd_tab_timer = timer_read();
50 register_code(KC_TAB);
51 } else {
52 unregister_code(KC_TAB);
53 }
54 break;
55 }
56 return true;
57}
58
59void matrix_scan_user(void) {
60 if (is_cmd_tab_active) {
61 if (timer_elapsed(cmd_tab_timer) > 500) {
62 unregister_code(KC_LCTL);
63 is_cmd_tab_active = false;
64 }
65 }
66}
67
68//layer led colors
69
70void rgb_matrix_indicators_user(void) {
71
72//game indicators
73
74if(IS_LAYER_ON(GAME)) {
75 rgb_matrix_set_color(11, 0, 40, 50);
76}
77
78if(IS_LAYER_ON(SECGAME)) {
79 rgb_matrix_set_color(11, 50, 0, 0);
80}
81
82//layer indicators
83
84if(IS_LAYER_ON(NAVR)) {
85 rgb_matrix_set_color(40, 0, 40, 50);
86
87 rgb_matrix_set_color(19, 0, 40, 50);
88 rgb_matrix_set_color(20, 0, 40, 50);
89 rgb_matrix_set_color(21, 0, 40, 50);
90 rgb_matrix_set_color(22, 0, 40, 50);
91}
92
93if(IS_LAYER_ON(MEDR)) {
94 rgb_matrix_set_color(39, 50, 10, 20);
95
96 rgb_matrix_set_color(19, 50, 10, 20);
97
98 rgb_matrix_set_color(22, 50, 10, 20);
99
100 rgb_matrix_set_color(42, 50, 10, 20);
101}
102
103if(IS_LAYER_ON(FUNL)) {
104 rgb_matrix_set_color(43, 50, 0, 0);
105
106 rgb_matrix_set_color(1, 50, 0, 0);
107 rgb_matrix_set_color(2, 50, 0, 0);
108 rgb_matrix_set_color(3, 50, 0, 0);
109 rgb_matrix_set_color(4, 50, 0, 0);
110
111 rgb_matrix_set_color(13, 50, 0, 0);
112 rgb_matrix_set_color(14, 50, 0, 0);
113 rgb_matrix_set_color(15, 50, 0, 0);
114 rgb_matrix_set_color(16, 50, 0, 0);
115
116 rgb_matrix_set_color(25, 50, 0, 0);
117 rgb_matrix_set_color(26, 50, 0, 0);
118 rgb_matrix_set_color(27, 50, 0, 0);
119 rgb_matrix_set_color(28, 50, 0, 0);
120}
121
122if(IS_LAYER_ON(NSL)) {
123 rgb_matrix_set_color(42, 10, 0, 50);
124
125 rgb_matrix_set_color(2, 10, 0, 50);
126 rgb_matrix_set_color(3, 10, 0, 50);
127 rgb_matrix_set_color(4, 10, 0, 50);
128
129 rgb_matrix_set_color(14, 10, 0, 50);
130 rgb_matrix_set_color(15, 10, 0, 50);
131 rgb_matrix_set_color(16, 10, 0, 50);
132
133 rgb_matrix_set_color(26, 10, 0, 50);
134 rgb_matrix_set_color(27, 10, 0, 50);
135 rgb_matrix_set_color(28, 10, 0, 50);
136
137 rgb_matrix_set_color(38, 10, 0, 50);
138 rgb_matrix_set_color(39, 10, 0, 50);
139 rgb_matrix_set_color(40, 10, 0, 50);
140}
141
142if(IS_LAYER_ON(NSSL)) {
143 rgb_matrix_set_color(41, 0, 50, 1.9);
144
145 rgb_matrix_set_color(1, 0, 50, 1.9);
146 rgb_matrix_set_color(2, 0, 50, 1.9);
147 rgb_matrix_set_color(3, 0, 50, 1.9);
148 rgb_matrix_set_color(4, 0, 50, 1.9);
149 rgb_matrix_set_color(5, 0, 50, 1.9);
150
151 rgb_matrix_set_color(13, 0, 50, 1.9);
152 rgb_matrix_set_color(14, 0, 50, 1.9);
153 rgb_matrix_set_color(15, 0, 50, 1.9);
154 rgb_matrix_set_color(16, 0, 50, 1.9);
155 rgb_matrix_set_color(17, 0, 50, 1.9);
156
157 rgb_matrix_set_color(25, 0, 50, 1.9);
158 rgb_matrix_set_color(26, 0, 50, 1.9);
159 rgb_matrix_set_color(27, 0, 50, 1.9);
160 rgb_matrix_set_color(28, 0, 50, 1.9);
161 rgb_matrix_set_color(29, 0, 50, 1.9);
162
163}
164
165//capslock leds
166
167if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
168 rgb_matrix_set_color_all(50, 15.6, 0);
169 }
170
171}
172
173//tap dance declarations
174enum {
175 TD_MEDIA, TD_SCREEN,
176};
177
178//tap dance definitions
179qk_tap_dance_action_t tap_dance_actions[] = {
180 [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
181 [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
182};
183
184#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
185
186//--------------------------------------------------------------------------------------------------------
187
188//base
189
190const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
191 [BASE] = LAYOUT_planck_mit(
192 KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
193 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
194 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
195 G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
196 ),
197
198//layers
199 [NAVR] = LAYOUT_planck_mit(
200 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
201 KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CLCK, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
202 KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
203 TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
204 ),
205 [MEDR] = LAYOUT_planck_mit(
206 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
207 KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
208 KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
209 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
210 ),
211 [FUNL] = LAYOUT_planck_mit(
212 KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
213 KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
214 KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
215 KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
216 ),
217 [NSL] = LAYOUT_planck_mit(
218 KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
219 KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
220 KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
221 A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
222 ),
223 [NSSL] = LAYOUT_planck_mit(
224 KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
225 KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
226 KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
227 KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
228 ),
229 [GAME] = LAYOUT_planck_mit(
230 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
231 KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
232 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
233 KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
234 ),
235 [SECGAME] = LAYOUT_planck_mit(
236 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
237 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
238 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
239 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
240 )
241};
diff --git a/keyboards/bm40hsrgb/keymaps/signynt/readme.md b/keyboards/bm40hsrgb/keymaps/signynt/readme.md
new file mode 100644
index 000000000..938803c26
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt/readme.md
@@ -0,0 +1,117 @@
1# Signynt's Keymap: 'Sigma-Squared'
2
3Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
4
5*manna-harbour* lays out the general principles of the layout as follows:
6
7- Use layers instead of reaching.
8- Use both hands instead of contortions.
9- Use the home positions as much as possible.
10- Make full use of the thumbs.
11- Avoid unnecessary complication.
12
13
14
15Sigma Squared modifies on **Miryoku** in the following ways:
16
17- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
18- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
19- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
20 - moves *left shift* and *left ctrl* down
21 - *esc* moved to top left
22 - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
23- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
24 - Mission Control, Screenshot, Cycling Apps & Windows
25- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
26
27
28
29### Flashing
30
31- to directly flash to board:
32
33 `qmk flash -kb bm40hsrgb -km signynt`
34
35- to only compile:
36
37 `qmk compile -kb bm40hsrgb -km signynt`
38
39
40
41# Layout
42
43## BASE
44
45Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
46
47The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
48
49If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
50
51The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
52
53The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
54
55![img](https://i.imgur.com/vhb1L2f.png)
56
57## NAVIGATION
58
59Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
60
61*Game Layer* key takes you to the **GAME** layer. *(duh)*
62
63Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
64
65![img](https://i.imgur.com/daKxxFz.png)
66
67
68
69## MEDIA
70
71Provides access to all basic media keys, emulating the arrow keys on the home row.
72
73Also gives access to RGB controls.
74
75![img](https://i.imgur.com/1jWOvvH.png)
76
77## NUMBER
78
79Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
80
81Top right key changed to *Back Space* so corrections can be made without leaving layer.
82
83![img](https://i.imgur.com/LGJT3so.png)
84
85## SYMBOL
86
87Symbols are positioned over respective numbers from the **NUMBER** layer.
88
89Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
90
91Also includes *Back Space* key for corrections.
92
93![img](https://i.imgur.com/ihOcdPj.png)
94
95## Fn
96
97Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
98
99![img](https://i.imgur.com/bPpI8KN.png)
100
101## GAME
102
103Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
104
105![img](https://i.imgur.com/r9KIWLX.png)
106
107## SECOND GAME
108
109Top right key will turn red to indicate you are in the layer
110
111![img](https://i.imgur.com/BLKHfVB.png)
112
113
114
115# Contact
116
117If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/bm40hsrgb/keymaps/signynt/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt/rules.mk
new file mode 100644
index 000000000..29b992b60
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt/rules.mk
@@ -0,0 +1,7 @@
1#rules
2
3MOUSEKEY_ENABLE = yes # Mouse keys
4BOOTMAGIC_ENABLE = full
5EXTRAKEY_ENABLE = yes # Audio control and System control
6TAP_DANCE_ENABLE = yes
7#RGB_MATRIX_ENABLE = no
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/config.h b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/config.h
new file mode 100644
index 000000000..7cfbf0fde
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/config.h
@@ -0,0 +1,80 @@
1// qmk flash -kb bm40hsrgb -km signynt_2_loud
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21#define RGBLIGHT_LAYERS
22#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
23#define RGBLIGHT_ANIMATIONS
24
25//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
26#define RGBLIGHT_LIMIT_VAL 10
27
28//bootmagic
29#define BOOTMAGIC_KEY_SALT KC_V
30#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
31
32#ifdef RGB_MATRIX_ENABLE
33
34#define TAPPING_TERM 200
35
36//--------------------------------------------------------------------------------------------------------
37
38//disable broken animations
39#define DISABLE_RGB_MATRIX_ALPHAS_MODS
40#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
41#define DISABLE_RGB_MATRIX_BREATHING
42#define DISABLE_RGB_MATRIX_BAND_SAT
43#define DISABLE_RGB_MATRIX_BAND_VAL
44#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
45#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
46#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
47#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
48#define DISABLE_RGB_MATRIX_CYCLE_ALL
49#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
50#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
51#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
52#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
53//#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
54//#define DISABLE_RGB_MATRIX_DUAL_BEACON
55#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
56#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
57//#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
58//#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
59//#define DISABLE_RGB_MATRIX_RAINDROPS
60#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
61//#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
62//#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
63//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
64//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
65//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
66//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
67//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
68//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
69//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
70//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
71//#define DISABLE_RGB_MATRIX_SPLASH
72//#define DISABLE_RGB_MATRIX_MULTISPLASH
73//#define DISABLE_RGB_MATRIX_SOLID_SPLASH
74//#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
75
76#undef RGB_MATRIX_STARTUP_MODE
77
78#define RGBLIGHT_HUE_STEP 20
79
80#endif
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/keymap.c b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
new file mode 100644
index 000000000..12539fe41
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
@@ -0,0 +1,214 @@
1// qmk flash -kb bm40hsrgb -km signynt_2_loud
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20
21// non-KC_ keycodes
22#define KC_RST RESET
23#define KC_TOG RGB_TOG
24#define KC_MOD RGB_MOD
25#define KC_HUI RGB_HUI
26#define KC_SAI RGB_SAI
27#define KC_VAI RGB_VAI
28
29//define layers
30enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
31
32enum custom_keycodes {
33 CMD_TAB = SAFE_RANGE,
34};
35
36//cmd tab
37
38bool is_cmd_tab_active = false;
39uint16_t cmd_tab_timer = 0;
40
41bool process_record_user(uint16_t keycode, keyrecord_t *record) {
42 switch (keycode) {
43 case CMD_TAB:
44 if (record->event.pressed) {
45 if (!is_cmd_tab_active) {
46 is_cmd_tab_active = true;
47 register_code(KC_LCTL);
48 }
49 cmd_tab_timer = timer_read();
50 register_code(KC_TAB);
51 } else {
52 unregister_code(KC_TAB);
53 }
54 break;
55 }
56 return true;
57}
58
59void matrix_scan_user(void) {
60 if (is_cmd_tab_active) {
61 if (timer_elapsed(cmd_tab_timer) > 500) {
62 unregister_code(KC_LCTL);
63 is_cmd_tab_active = false;
64 }
65 }
66}
67
68//layer led colors
69
70void rgb_matrix_indicators_user(void) {
71
72 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
73 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
74 rgb_matrix_set_color(i, 0, 0, 0);
75 }
76 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
77 rgb_matrix_set_color(i, 0, 0, 0);
78 }
79 }
80
81 //capslock
82 if (host_keyboard_led_state().caps_lock) {
83 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
84 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
85 rgb_matrix_set_color(i, 255, 255, 255);
86 }
87 }
88 }
89
90 //nav layer
91 if (IS_LAYER_ON(NAVR)) {
92 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
93 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
94 rgb_matrix_set_color(i, 0, 204, 255);
95 }
96 }
97 }
98
99 //funl layer
100 if (IS_LAYER_ON(FUNL)) {
101 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
102 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
103 rgb_matrix_set_color(i, 255, 0, 0);
104 }
105 }
106 }
107
108 //nsl layer
109 if (IS_LAYER_ON(NSL)) {
110 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
111 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
112 rgb_matrix_set_color(i, 51, 0, 255);
113 }
114 }
115 }
116
117 //nssl layer
118 if (IS_LAYER_ON(NSSL)) {
119 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
120 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
121 rgb_matrix_set_color(i, 0, 255, 0);
122 }
123 }
124 }
125
126 //game layer
127 if (IS_LAYER_ON(GAME)) {
128 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
129 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
130 rgb_matrix_set_color(i, 0, 204, 255);
131 }
132 }
133 }
134
135 //secgame layer
136 if (IS_LAYER_ON(SECGAME)) {
137 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
138 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
139 rgb_matrix_set_color(i, 255, 0, 0);
140 }
141 }
142 }
143
144}
145
146//tap dance declarations
147enum {
148 TD_MEDIA, TD_SCREEN,
149};
150
151//tap dance definitions
152qk_tap_dance_action_t tap_dance_actions[] = {
153 [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
154 [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
155};
156
157#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
158
159//--------------------------------------------------------------------------------------------------------
160
161//base
162
163const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
164 [BASE] = LAYOUT_planck_mit(
165 KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
166 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
167 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
168 G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
169 ),
170
171//layers
172 [NAVR] = LAYOUT_planck_mit(
173 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
174 KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CLCK, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
175 KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
176 TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
177 ),
178 [MEDR] = LAYOUT_planck_mit(
179 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
180 KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
181 KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
182 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
183 ),
184 [FUNL] = LAYOUT_planck_mit(
185 KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
186 KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
187 KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
188 KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
189 ),
190 [NSL] = LAYOUT_planck_mit(
191 KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
192 KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
193 KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
194 A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
195 ),
196 [NSSL] = LAYOUT_planck_mit(
197 KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
198 KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
199 KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
200 KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
201 ),
202 [GAME] = LAYOUT_planck_mit(
203 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
204 KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
205 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
206 KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
207 ),
208 [SECGAME] = LAYOUT_planck_mit(
209 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
210 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
211 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
212 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
213 )
214};
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/readme.md b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/readme.md
new file mode 100644
index 000000000..938803c26
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/readme.md
@@ -0,0 +1,117 @@
1# Signynt's Keymap: 'Sigma-Squared'
2
3Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
4
5*manna-harbour* lays out the general principles of the layout as follows:
6
7- Use layers instead of reaching.
8- Use both hands instead of contortions.
9- Use the home positions as much as possible.
10- Make full use of the thumbs.
11- Avoid unnecessary complication.
12
13
14
15Sigma Squared modifies on **Miryoku** in the following ways:
16
17- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
18- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
19- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
20 - moves *left shift* and *left ctrl* down
21 - *esc* moved to top left
22 - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
23- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
24 - Mission Control, Screenshot, Cycling Apps & Windows
25- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
26
27
28
29### Flashing
30
31- to directly flash to board:
32
33 `qmk flash -kb bm40hsrgb -km signynt`
34
35- to only compile:
36
37 `qmk compile -kb bm40hsrgb -km signynt`
38
39
40
41# Layout
42
43## BASE
44
45Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
46
47The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
48
49If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
50
51The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
52
53The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
54
55![img](https://i.imgur.com/vhb1L2f.png)
56
57## NAVIGATION
58
59Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
60
61*Game Layer* key takes you to the **GAME** layer. *(duh)*
62
63Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
64
65![img](https://i.imgur.com/daKxxFz.png)
66
67
68
69## MEDIA
70
71Provides access to all basic media keys, emulating the arrow keys on the home row.
72
73Also gives access to RGB controls.
74
75![img](https://i.imgur.com/1jWOvvH.png)
76
77## NUMBER
78
79Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
80
81Top right key changed to *Back Space* so corrections can be made without leaving layer.
82
83![img](https://i.imgur.com/LGJT3so.png)
84
85## SYMBOL
86
87Symbols are positioned over respective numbers from the **NUMBER** layer.
88
89Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
90
91Also includes *Back Space* key for corrections.
92
93![img](https://i.imgur.com/ihOcdPj.png)
94
95## Fn
96
97Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
98
99![img](https://i.imgur.com/bPpI8KN.png)
100
101## GAME
102
103Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
104
105![img](https://i.imgur.com/r9KIWLX.png)
106
107## SECOND GAME
108
109Top right key will turn red to indicate you are in the layer
110
111![img](https://i.imgur.com/BLKHfVB.png)
112
113
114
115# Contact
116
117If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk
new file mode 100644
index 000000000..29b992b60
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk
@@ -0,0 +1,7 @@
1#rules
2
3MOUSEKEY_ENABLE = yes # Mouse keys
4BOOTMAGIC_ENABLE = full
5EXTRAKEY_ENABLE = yes # Audio control and System control
6TAP_DANCE_ENABLE = yes
7#RGB_MATRIX_ENABLE = no
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/config.h b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/config.h
new file mode 100644
index 000000000..4dd37189a
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/config.h
@@ -0,0 +1,80 @@
1// qmk flash -kb bm40hsrgb -km signynt_2_quiet
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21#define RGBLIGHT_LAYERS
22#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
23#define RGBLIGHT_ANIMATIONS
24
25//#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
26#define RGBLIGHT_LIMIT_VAL 10
27
28//bootmagic
29#define BOOTMAGIC_KEY_SALT KC_V
30#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q
31
32#ifdef RGB_MATRIX_ENABLE
33
34#define TAPPING_TERM 200
35
36//--------------------------------------------------------------------------------------------------------
37
38//disable broken animations
39#define DISABLE_RGB_MATRIX_ALPHAS_MODS
40#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
41#define DISABLE_RGB_MATRIX_BREATHING
42#define DISABLE_RGB_MATRIX_BAND_SAT
43#define DISABLE_RGB_MATRIX_BAND_VAL
44#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
45#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
46#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
47#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
48#define DISABLE_RGB_MATRIX_CYCLE_ALL
49#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
50#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
51#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
52#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
53//#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
54//#define DISABLE_RGB_MATRIX_DUAL_BEACON
55#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
56#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
57//#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
58//#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
59//#define DISABLE_RGB_MATRIX_RAINDROPS
60#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // DO NOT ENABLE
61//#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
62//#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
63//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
64//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
65//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
66//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
67//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
68//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
69//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
70//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
71//#define DISABLE_RGB_MATRIX_SPLASH
72//#define DISABLE_RGB_MATRIX_MULTISPLASH
73//#define DISABLE_RGB_MATRIX_SOLID_SPLASH
74//#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
75
76#undef RGB_MATRIX_STARTUP_MODE
77
78#define RGBLIGHT_HUE_STEP 20
79
80#endif
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
new file mode 100644
index 000000000..999e6b18a
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
@@ -0,0 +1,178 @@
1// qmk flash -kb bm40hsrgb -km signynt_2_quiet
2
3/* Copyright 2021 Vincenzo Mitchell Barroso
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20
21// non-KC_ keycodes
22#define KC_RST RESET
23#define KC_TOG RGB_TOG
24#define KC_MOD RGB_MOD
25#define KC_HUI RGB_HUI
26#define KC_SAI RGB_SAI
27#define KC_VAI RGB_VAI
28
29//define layers
30enum layers {BASE, MEDR, NAVR, NSSL, NSL, FUNL, GAME, SECGAME};
31
32enum custom_keycodes {
33 CMD_TAB = SAFE_RANGE,
34};
35
36//cmd tab
37
38bool is_cmd_tab_active = false;
39uint16_t cmd_tab_timer = 0;
40
41bool process_record_user(uint16_t keycode, keyrecord_t *record) {
42 switch (keycode) {
43 case CMD_TAB:
44 if (record->event.pressed) {
45 if (!is_cmd_tab_active) {
46 is_cmd_tab_active = true;
47 register_code(KC_LCTL);
48 }
49 cmd_tab_timer = timer_read();
50 register_code(KC_TAB);
51 } else {
52 unregister_code(KC_TAB);
53 }
54 break;
55 }
56 return true;
57}
58
59void matrix_scan_user(void) {
60 if (is_cmd_tab_active) {
61 if (timer_elapsed(cmd_tab_timer) > 500) {
62 unregister_code(KC_LCTL);
63 is_cmd_tab_active = false;
64 }
65 }
66}
67
68//layer led colors
69
70void rgb_matrix_indicators_user(void) {
71
72 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
73 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
74 rgb_matrix_set_color(i, 0, 0, 0);
75 }
76 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_KEYLIGHT)) {
77 rgb_matrix_set_color(i, 0, 0, 0);
78 }
79 }
80
81 //capslock
82 if (host_keyboard_led_state().caps_lock) {
83 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
84 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
85 rgb_matrix_set_color(i, 255, 255, 255);
86 }
87 }
88 }
89
90 //game layer
91 if (IS_LAYER_ON(GAME)) {
92 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
93 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
94 rgb_matrix_set_color(i, 0, 204, 255);
95 }
96 }
97 }
98
99 //secgame layer
100 if (IS_LAYER_ON(SECGAME)) {
101 for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
102 if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
103 rgb_matrix_set_color(i, 255, 0, 0);
104 }
105 }
106 }
107
108}
109
110//tap dance declarations
111enum {
112 TD_MEDIA, TD_SCREEN,
113};
114
115//tap dance definitions
116qk_tap_dance_action_t tap_dance_actions[] = {
117 [TD_MEDIA] = ACTION_TAP_DANCE_DOUBLE( KC_MPLY , KC_MNXT ),
118 [TD_SCREEN] = ACTION_TAP_DANCE_DOUBLE( (G(S(KC_S))) , S(C(KC_4)) ),
119};
120
121#define KC_TD(TD_VARIABLE) TD(TD_VARIABLE)
122
123//--------------------------------------------------------------------------------------------------------
124
125//base
126
127const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
128 [BASE] = LAYOUT_planck_mit(
129 KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LALT,
130 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
131 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
132 G(KC_TAB), KC_TD(TD_SCREEN), KC_ESC, LT(MEDR, KC_TAB), LT(NAVR, KC_SPC), LT(NSSL, KC_ENT), LT(NSL, KC_BSPC), LT(FUNL, KC_DEL), KC_LGUI, KC_TD(TD_MEDIA), CMD_TAB
133 ),
134
135//layers
136 [NAVR] = LAYOUT_planck_mit(
137 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, C(S(KC_Z)), C(A(KC_LEFT)), C(KC_X), C(KC_C), C(A(KC_RGHT)), KC_LALT,
138 KC_LSFT, G(S(C(KC_F1))), G(S(C(KC_F3))), G(S(C(KC_F4))), G(S(C(KC_F2))), KC_NO, KC_CLCK, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
139 KC_LCTL, KC_NO, KC_ALGR, KC_NO, G(S(C(KC_F5))), KC_NO, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LCTL,
140 TG(GAME), KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_BSPC, KC_DEL, KC_NO, C(G(KC_LEFT)), C(G(KC_RIGHT))
141 ),
142 [MEDR] = LAYOUT_planck_mit(
143 KC_LALT, KC_RST, KC_NO, KC_NO, KC_NO, KC_NO, KC_TOG, KC_MOD, KC_HUI, KC_SAI, KC_VAI, KC_LALT,
144 KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_LSFT,
145 KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F13, KC_F14, KC_F15, RGB_VAI, KC_LCTL,
146 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPLY, KC_MUTE, KC_NO, KC_NO, KC_NO
147 ),
148 [FUNL] = LAYOUT_planck_mit(
149 KC_LALT, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, KC_F15, KC_NO, KC_NO, KC_NO, KC_RST, KC_LALT,
150 KC_LSFT, KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, KC_F14, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT,
151 KC_LCTL, KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, KC_F13, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL,
152 KC_NO, KC_NO, KC_TAB, KC_APP, KC_SPC, KC_UNDS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
153 ),
154 [NSL] = LAYOUT_planck_mit(
155 KC_LALT, KC_LPRN, KC_7, KC_8, KC_9, KC_RPRN, KC_LBRC, KC_AMPR, KC_ASTR, KC_LCBR, KC_RBRC, KC_BSPC,
156 KC_LSFT, KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_LCBR, KC_DLR, KC_PERC, KC_CIRC, KC_RCBR, KC_LSFT,
157 KC_LCTL, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS, KC_TILD, KC_EXLM, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
158 A(S(C(KC_N))), S(C(KC_5)), KC_NO, KC_UNDS, KC_0, KC_MINS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
159 ),
160 [NSSL] = LAYOUT_planck_mit(
161 KC_LALT, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, KC_NO, KC_NO, KC_NO, KC_NO, KC_RST, KC_BSPC,
162 KC_LSFT, KC_SCLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_LSFT,
163 KC_LCTL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_LCTL,
164 KC_NO, KC_NO, KC_UNDS, KC_GT, KC_RPRN, KC_NO, KC_BTN1, KC_BTN3, KC_BTN2, KC_NO, KC_NO
165 ),
166 [GAME] = LAYOUT_planck_mit(
167 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TG(GAME),
168 KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_LSFT,
169 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL,
170 KC_LCTL, A(KC_TAB), MO(SECGAME), KC_TAB, KC_SPC, LT(SECGAME, KC_ENT), KC_BSPC, KC_DEL, KC_MPRV, KC_MPLY, KC_MNXT
171 ),
172 [SECGAME] = LAYOUT_planck_mit(
173 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
174 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
175 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5,
176 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0
177 )
178};
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/readme.md b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/readme.md
new file mode 100644
index 000000000..938803c26
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/readme.md
@@ -0,0 +1,117 @@
1# Signynt's Keymap: 'Sigma-Squared'
2
3Sigma Squared is an adaptation & modification of the Layout [Miryoku](https://github.com/manna-harbour/qmk_firmware/blob/miryoku/users/manna-harbour_miryoku/miryoku.org#miryoku-) by *manna-harbour*
4
5*manna-harbour* lays out the general principles of the layout as follows:
6
7- Use layers instead of reaching.
8- Use both hands instead of contortions.
9- Use the home positions as much as possible.
10- Make full use of the thumbs.
11- Avoid unnecessary complication.
12
13
14
15Sigma Squared modifies on **Miryoku** in the following ways:
16
17- Added the Mods to the outer most columns to be easily accessed while typing with the pinkies
18- Extended the **NUMBER** layer to include symbols on the right side to allow calcualtion to be typed more easily without haveing to move between layers
19- Added a **GAME** layer to be used for gaming that emulates a more standard keyboard that most games expect
20 - moves *left shift* and *left ctrl* down
21 - *esc* moved to top left
22 - gives access to a **SECOND GAME** layer that contains an Fn row as well as number and arrow keys right under your left fingers
23- Added Shortcuts to the bottom row to reduce the amount of keycombos needed to use commonly needed features
24 - Mission Control, Screenshot, Cycling Apps & Windows
25- Added LED indicators to display what layer is currently active (only active while RGB is turned on)
26
27
28
29### Flashing
30
31- to directly flash to board:
32
33 `qmk flash -kb bm40hsrgb -km signynt`
34
35- to only compile:
36
37 `qmk compile -kb bm40hsrgb -km signynt`
38
39
40
41# Layout
42
43## BASE
44
45Tap the layer keys to use the black legends, hold them to activate the corresponding layer.
46
47The Shortcut keys can be modified to suit your needs, or change them in your OS to match the keys.
48
49If you are using MacOS I recommend swapping your *Ctrl* and *Cmd* keys in system preferences
50
51The Music Control key can be pressed once to pause and be pressed twice in rapid succession to skip to the next song.
52
53The Screenshot Key takes a screenshot to the clipboard if pressed once, if double tapped it will take a screenshot to be saved to the desktop.
54
55![img](https://i.imgur.com/vhb1L2f.png)
56
57## NAVIGATION
58
59Provides access to all essential navigation keys, comfortably under your home row. Modifiers remain identical to **BASE** layer to be used for navigating lines and words.
60
61*Game Layer* key takes you to the **GAME** layer. *(duh)*
62
63Bottom right keys are used to swap between Virtual Desktops. You might need to modify these to fit your OS.
64
65![img](https://i.imgur.com/daKxxFz.png)
66
67
68
69## MEDIA
70
71Provides access to all basic media keys, emulating the arrow keys on the home row.
72
73Also gives access to RGB controls.
74
75![img](https://i.imgur.com/1jWOvvH.png)
76
77## NUMBER
78
79Numbers are arranged in a numpad layout beneath home row, with 0 being positioned under the thumb resting position. Layer includes all most commonly needed symbols to reduce amount of layer switching needed to type longer calculations.
80
81Top right key changed to *Back Space* so corrections can be made without leaving layer.
82
83![img](https://i.imgur.com/LGJT3so.png)
84
85## SYMBOL
86
87Symbols are positioned over respective numbers from the **NUMBER** layer.
88
89Mouse keys are positioned similarly under the home row corresponding to the arrow keys.
90
91Also includes *Back Space* key for corrections.
92
93![img](https://i.imgur.com/ihOcdPj.png)
94
95## Fn
96
97Fn keys are arranged in the same layout as the numbers, with *F10* to *F12* added to the left
98
99![img](https://i.imgur.com/bPpI8KN.png)
100
101## GAME
102
103Somewhat emulates a regular layout needed for gaming. Top right key LED will indicate that you are on the **GAME** layer, and can be pressed to exit it. Holding one of the *Second Game* keys will give you access to **SECOND GAME**
104
105![img](https://i.imgur.com/r9KIWLX.png)
106
107## SECOND GAME
108
109Top right key will turn red to indicate you are in the layer
110
111![img](https://i.imgur.com/BLKHfVB.png)
112
113
114
115# Contact
116
117If you have any issues or questions you can reach me through Reddit at u/Signynt or on the QMK Discord
diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk
new file mode 100644
index 000000000..29b992b60
--- /dev/null
+++ b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk
@@ -0,0 +1,7 @@
1#rules
2
3MOUSEKEY_ENABLE = yes # Mouse keys
4BOOTMAGIC_ENABLE = full
5EXTRAKEY_ENABLE = yes # Audio control and System control
6TAP_DANCE_ENABLE = yes
7#RGB_MATRIX_ENABLE = no