aboutsummaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorBrandon Schlack <brandonschlack@gmail.com>2020-11-04 21:55:03 -0800
committerGitHub <noreply@github.com>2020-11-04 21:55:03 -0800
commitf12dcb0659918657d35dc599e69f1aec43a22e97 (patch)
tree50e98a01f9103a82574390879f9989ef27b47e98 /layouts
parent262a60733483a38ed998b6dc6495f748ba6b71b0 (diff)
downloadqmk_firmware-f12dcb0659918657d35dc599e69f1aec43a22e97.tar.gz
qmk_firmware-f12dcb0659918657d35dc599e69f1aec43a22e97.zip
[Keymap] add brandonschlack userspace and keymaps (#10411)
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/60_ansi/brandonschlack-ansi/keymap.c83
-rw-r--r--layouts/community/60_ansi/brandonschlack-ansi/rules.mk1
-rw-r--r--layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/keymap.c83
-rw-r--r--layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/rules.mk1
-rw-r--r--layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/keymap.c84
-rw-r--r--layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/readme.md11
-rw-r--r--layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/rules.mk1
-rw-r--r--layouts/community/65_ansi_blocker/brandonschlack/config.h64
-rw-r--r--layouts/community/65_ansi_blocker/brandonschlack/keymap.c117
-rw-r--r--layouts/community/65_ansi_blocker/brandonschlack/readme.md15
-rw-r--r--layouts/community/65_ansi_blocker/brandonschlack/rules.mk7
-rw-r--r--layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h64
-rw-r--r--layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c104
-rw-r--r--layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/readme.md15
-rw-r--r--layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/rules.mk2
-rw-r--r--layouts/community/75_ansi/brandonschlack/keymap.c105
-rw-r--r--layouts/community/75_ansi/brandonschlack/readme.md7
-rw-r--r--layouts/community/75_ansi/brandonschlack/rules.mk5
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/config.h55
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/keymap.c218
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/readme.md20
-rw-r--r--layouts/community/ortho_4x12/brandonschlack/rules.mk10
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/config.h55
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/keymap.c214
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/readme.md19
-rw-r--r--layouts/community/ortho_5x12/brandonschlack/rules.mk10
-rw-r--r--layouts/community/tkl_ansi/brandonschlack/config.h20
-rw-r--r--layouts/community/tkl_ansi/brandonschlack/keymap.c102
-rw-r--r--layouts/community/tkl_ansi/brandonschlack/readme.md55
-rw-r--r--layouts/community/tkl_ansi/brandonschlack/rules.mk4
30 files changed, 1551 insertions, 0 deletions
diff --git a/layouts/community/60_ansi/brandonschlack-ansi/keymap.c b/layouts/community/60_ansi/brandonschlack-ansi/keymap.c
new file mode 100644
index 000000000..5282ff98b
--- /dev/null
+++ b/layouts/community/60_ansi/brandonschlack-ansi/keymap.c
@@ -0,0 +1,83 @@
1/* Copyright 2020 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base layer
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
22 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│
23 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
24 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│
25 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
26 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│
27 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
28 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ ↑ Shift│
29 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
30 * │Ctrl│ Opt│ Cmd│ Space │CmdP│←Opt│↓ Fn│→Ctl│
31 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
32 */
33[_BASE] = LAYOUT_60_ansi( \
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
36 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, UP_RSFT, \
38 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, PLY_CMD, LFT_OPT, DWN_FN1, RGT_CTL \
39),
40
41/* Function Layer
42 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
43 * │~ `│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Del │
44 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
45 * │RMod │RH+│RS+│RV+│AS+│ │ │ │F13│F14│F15│PgU│LHP│ SLP │
46 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
47 * │RTgl │RH-│RS-│RV-│AS-│ │ │VlD│VlU│Mut│Hom│End│ PlyPse │
48 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
49 * │ │LYR│Thm│ │ │RST│ │MKE│Prv│Nxt│PgD│ │
50 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
51 * │ │ │ │ │ │ │ │ │
52 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
53 */
54[_FN1] = LAYOUT_60_ansi( \
55 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELT, \
56 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_PGUP, MC_LHPD, MC_SLPD, \
57 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_HOME, KC_END, KC_MPLY, \
58 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_PGDN, _______, \
59 _______, _______, _______, _______, _______, _______, _______, _______ \
60),
61/* Layer
62 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
63 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
64 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
65 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
66 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
67 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
68 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
69 * │ │ │ │ │ │ │ │ │ │ │ │ │
70 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
71 * │ │ │ │ │ │ │ │ │
72 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
73 */
74/*
75[BLANK] = LAYOUT_60_ansi( \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
80 _______, _______, _______, _______, _______, _______, _______, _______ \
81)
82*/
83};
diff --git a/layouts/community/60_ansi/brandonschlack-ansi/rules.mk b/layouts/community/60_ansi/brandonschlack-ansi/rules.mk
new file mode 100644
index 000000000..7aaf727ad
--- /dev/null
+++ b/layouts/community/60_ansi/brandonschlack-ansi/rules.mk
@@ -0,0 +1 @@
USER_NAME := brandonschlack
diff --git a/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/keymap.c b/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/keymap.c
new file mode 100644
index 000000000..906925ab9
--- /dev/null
+++ b/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/keymap.c
@@ -0,0 +1,83 @@
1/* Copyright 2019 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base layer
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
22 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│| \│~ `│
23 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
24 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│Bspc │
25 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
26 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │
27 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
28 * │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │↑ Shft│FnP│
29 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
30 * │Ctrl│Opt │Cmd │         Space          │ Cmd│←Opt│↓ Fn│→Ctl│
31 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
32 */
33[_BASE] = LAYOUT_60_ansi_split_bs_rshift( \
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
36 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, UP_RSFT, PLY_FN1, \
38 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, LFT_OPT, DWN_FN1, RGT_CTL \
39),
40
41/* Function Layer
42 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
43 * │MKE│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│LHP│SLP│
44 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
45 * │RMod │RH+│RS+│RV+│AS+│   │   │   │   │   │   │ ↑ │MNC│ Del │
46 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
47 * │RTgl  │RH-│RS-│RV-│AS-│   │   │   │VlD│VlU│ ← │ → │   Play │
48 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
49 * │        │LYR│Thm│   │   │RST│   │Mut│Prv│Nxt│ ↓ │PgUSft│   │
50 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
51 * │    │    │    │                        │    │HmOp│PgDF│EndC│
52 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
53 */
54[_FN1] = LAYOUT_60_ansi_split_bs_rshift( \
55 QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_SLPD, \
56 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_VOLU, KC_MPRV, KC_MNXT, KC_UP, MC_MSSN, KC_DELT, \
57 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, KC_VOLD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_MPLY, \
58 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, KC_MUTE, KC_END, KC_PGDN, KC_DOWN, PGU_SFT, _______, \
59 _______, _______, _______, _______, _______, HOM_OPT, PGD_FN1, END_CTL \
60)
61/* Layer
62 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
63 * │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │
64 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
65 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
66 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
67 * │      │   │   │   │   │   │   │   │   │   │   │   │        │
68 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
69 * │        │   │   │   │   │   │   │   │   │   │   │      │   │
70 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
71 * │    │    │    │                        │    │    │    │    │
72 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
73 */
74/*
75[BLANK] = LAYOUT_60_ansi_split_bs_rshift( \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
80 _______, _______, _______, _______, _______, _______, _______, _______ \
81)
82*/
83};
diff --git a/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/rules.mk b/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/rules.mk
new file mode 100644
index 000000000..7aaf727ad
--- /dev/null
+++ b/layouts/community/60_ansi_split_bs_rshift/brandonschlack-split/rules.mk
@@ -0,0 +1 @@
USER_NAME := brandonschlack
diff --git a/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/keymap.c b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/keymap.c
new file mode 100644
index 000000000..b6db28ed9
--- /dev/null
+++ b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/keymap.c
@@ -0,0 +1,84 @@
1/* Copyright 2020 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base layer
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
22 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│| \│~ `│
23 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
24 * │Tab  │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ Bspc│
25 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
26 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│   Enter│
27 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
28 * │LShift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │↑ Shft│FnP│
29 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
30 * │Ctrl │Opt│Cmd  │                           │ ←Cmd│↓Op│→Ctrl│
31 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
32 */
33[_BASE] = LAYOUT_60_tsangan_hhkb( \
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
36 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, UP_RSFT, PLY_FN1, \
38 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, LFT_CMD, DWN_OPT, RGT_CTL \
39),
40
41/* Function Layer
42 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
43 * │MKE│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│LHP│SLP│
44 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
45 * │RMod │RH+│RS+│RV+│Bl+│   │   │   │   │   │   │ ↑ │MNC│ Del │
46 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
47 * │RTgl  │RH-│RS-│RV-│Bl-│   │   │   │VlD│Vlu│ ← │ → │   Play │
48 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
49 * │        │LYR│Thm│BlT│   │RST│   │Mut│Prv│Nxt│ ↓ │PgUSft│   │
50 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
51 * │     │   │     │                           │HmCmd│PDO│EndCl│
52 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
53 */
54[_FN1] = LAYOUT_60_tsangan_hhkb( \
55 QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_SLPD, \
56 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, BL_INC, _______, _______, _______, _______, _______, _______, KC_UP, MC_MSSN, KC_DELT, \
57 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, _______, _______, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_RGHT, KC_MPLY, \
58 _______, RGB_LYR, RGB_THM, BL_TOGG, _______, RESET, _______, KC_MUTE, KC_MPRV, KC_MNXT, KC_DOWN, PGU_SFT, _______, \
59 _______, _______, _______, _______, HOM_CMD, PGD_OPT, END_CTL \
60)
61/* Layer
62 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
63 * │   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │
64 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
65 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
66 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
67 * │      │   │   │   │   │   │   │   │   │   │   │   │        │
68 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
69 * │        │   │   │   │   │   │   │   │   │   │   │      │   │
70 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
71 * │     │   │     │                           │     │   │     │
72 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
73 */
74/*
75[BLANK] = LAYOUT_60_tsangan_hhkb( \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
80 _______, _______, _______, _______, _______, _______, _______ \
81)
82*/
83
84};
diff --git a/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/readme.md b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/readme.md
new file mode 100644
index 000000000..d79cf7f07
--- /dev/null
+++ b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/readme.md
@@ -0,0 +1,11 @@
1# brandonschlack's 60 Tsangan HHKB Layout
2
3It is used on
4
5* [AN-C](https://github.com/qmk/qmk_firmware/tree/master/keyboards/cannonkeys/an_c)
6* [Instant60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/cannonkeys/instant60)
7* [Polaris](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ai03/polaris)
8* [Plain60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/maartenwut/plain60)
9
10## Features
11### Mod-Taps & Layer-Taps
diff --git a/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/rules.mk b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/rules.mk
new file mode 100644
index 000000000..7aaf727ad
--- /dev/null
+++ b/layouts/community/60_tsangan_hhkb/brandonschlack-tsngn/rules.mk
@@ -0,0 +1 @@
USER_NAME := brandonschlack
diff --git a/layouts/community/65_ansi_blocker/brandonschlack/config.h b/layouts/community/65_ansi_blocker/brandonschlack/config.h
new file mode 100644
index 000000000..e7b09f422
--- /dev/null
+++ b/layouts/community/65_ansi_blocker/brandonschlack/config.h
@@ -0,0 +1,64 @@
1/* Copyright 2019 Brandon Schlack
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#pragma once
17
18#ifdef RGB_MATRIX_ENABLE
19// Disable RGB Effects
20#define DISABLE_RGB_MATRIX_ALPHAS_MODS
21// #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
22// #define DISABLE_RGB_MATRIX_BREATHING
23#define DISABLE_RGB_MATRIX_BAND_SAT
24#define DISABLE_RGB_MATRIX_BAND_VAL
25#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
26#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
27#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
28#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
29#define DISABLE_RGB_MATRIX_CYCLE_ALL
30#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
31#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
32#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
33#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
34#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
35#define DISABLE_RGB_MATRIX_DUAL_BEACON
36#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
37#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
38#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
39#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
40#define DISABLE_RGB_MATRIX_RAINDROPS
41#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
42#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
43#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
44#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
45// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
46#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
47#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
48#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
49#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
50#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
51#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
52#define DISABLE_RGB_MATRIX_SPLASH
53#define DISABLE_RGB_MATRIX_MULTISPLASH
54#define DISABLE_RGB_MATRIX_SOLID_SPLASH
55#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
56
57#define QMK_KEYS_PER_SCAN 4
58
59#define USB_LED_CAPS_LOCK_SCANCODE 30
60#endif
61
62#ifdef KEYBOARD_massdrop_alt
63#undef USB_LED_INDICATOR_ENABLE
64#endif
diff --git a/layouts/community/65_ansi_blocker/brandonschlack/keymap.c b/layouts/community/65_ansi_blocker/brandonschlack/keymap.c
new file mode 100644
index 000000000..6b67cfdca
--- /dev/null
+++ b/layouts/community/65_ansi_blocker/brandonschlack/keymap.c
@@ -0,0 +1,117 @@
1/* Copyright 2019 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base Layer
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
22 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│
23 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
24 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│
25 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
26 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│
27 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
28 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│
29 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
30 * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│
31 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
32 */
33[_BASE] = LAYOUT_65_ansi_blocker( \
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, \
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, \
36 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
38 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT \
39),
40/* Function Layer
41 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
42 * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Delete│SlD│
43 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
44 * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│ LHP │VlU│
45 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
46 * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│
47 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
48 * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│
49 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
50 * │ │ │ │ │ │ │ │Hom│PgD│End│
51 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
52 */
53[_FN1] = LAYOUT_65_ansi_blocker( \
54 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DELT, MC_SLPD, \
55 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, MC_LHPD, KC_VOLU, \
56 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
57 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, QM_MAKE, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
58 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
59),
60/* Blank Layout
61 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
62 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
63 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
64 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
65 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
66 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
67 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
68 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
69 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
70 * │ │ │ │ │ │ │ │ │ │ │
71 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
72[X] = LAYOUT_65_ansi_blocker( \
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______ \
78),
79*/
80};
81
82// Runs just one time when the keyboard initializes.
83void matrix_init_keymap(void) {
84};
85
86// Runs once after keyboard initializes
87void keyboard_post_init_keymap(void) {
88};
89
90// Runs constantly in the background, in a loop.
91void matrix_scan_keymap(void) {
92};
93
94bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
95 switch (keycode) {
96 #ifdef KEYBOARD_massdrop
97 case RGB_TOG:
98 if (record->event.pressed) {
99 rgb_matrix_cycle_flag();
100 }
101 return false;
102 #endif
103 default:
104 return true; //Process all other keycodes normally
105 }
106}
107
108#ifdef RGB_MATRIX_ENABLE
109void rgb_matrix_indicators_user(void) {
110 if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
111 rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, RGB_GREEN);
112 } else if (!HAS_ANY_FLAGS(rgb_matrix_get_flags(), LED_FLAG_KEYS)){
113 rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, 0, 0, 0);
114 }
115}
116#endif
117
diff --git a/layouts/community/65_ansi_blocker/brandonschlack/readme.md b/layouts/community/65_ansi_blocker/brandonschlack/readme.md
new file mode 100644
index 000000000..effb00846
--- /dev/null
+++ b/layouts/community/65_ansi_blocker/brandonschlack/readme.md
@@ -0,0 +1,15 @@
1# brandonschlack's 65_ansi_blocker layout
2
3This is my preferred 65% layout.
4
5It is used on:
6
7* [Massdrop ALT](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/alt)
8* [KBD67 MKII](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdfans/kbd67/mkiirgb)
9
10## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/a820c8629394f8f4c3943e6ee518d9a8)
11![Base Layer](https://i.imgur.com/gPxDZl7.jpg)
12
13## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/8ca73a6d3bec8ce736f5db60edf31dcf)
14![Function Layer](https://i.imgur.com/gNKHgWa.jpg)
15
diff --git a/layouts/community/65_ansi_blocker/brandonschlack/rules.mk b/layouts/community/65_ansi_blocker/brandonschlack/rules.mk
new file mode 100644
index 000000000..858496707
--- /dev/null
+++ b/layouts/community/65_ansi_blocker/brandonschlack/rules.mk
@@ -0,0 +1,7 @@
1# Build Options
2ifeq ($(strip $(KEYBOARD)), gray_studio/space65)
3 MOUSEKEY_ENABLE = no
4 BACKLIGHT_ENABLE = no
5 CONSOLE_ENABLE = yes
6 COMMAND_ENABLE = yes
7endif
diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h
new file mode 100644
index 000000000..9506c7fe9
--- /dev/null
+++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h
@@ -0,0 +1,64 @@
1/* Copyright 2020 Brandon Schlack
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#pragma once
17
18#ifdef RGB_MATRIX_ENABLE
19// Disable RGB Effects
20#define DISABLE_RGB_MATRIX_ALPHAS_MODS
21// #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
22// #define DISABLE_RGB_MATRIX_BREATHING
23#define DISABLE_RGB_MATRIX_BAND_SAT
24#define DISABLE_RGB_MATRIX_BAND_VAL
25#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
26#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
27#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
28#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
29#define DISABLE_RGB_MATRIX_CYCLE_ALL
30#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
31#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
32#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
33#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
34#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
35#define DISABLE_RGB_MATRIX_DUAL_BEACON
36#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
37#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
38#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
39#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
40#define DISABLE_RGB_MATRIX_RAINDROPS
41#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
42#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
43#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
44#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
45// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
46#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
47#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
48#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
49#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
50#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
51#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
52#define DISABLE_RGB_MATRIX_SPLASH
53#define DISABLE_RGB_MATRIX_MULTISPLASH
54#define DISABLE_RGB_MATRIX_SOLID_SPLASH
55#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
56
57#define QMK_KEYS_PER_SCAN 4
58
59#define USB_LED_CAPS_LOCK_SCANCODE 30
60#endif
61
62#ifdef KEYBOARD_massdrop_alt
63#undef USB_LED_INDICATOR_ENABLE
64#endif
diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c
new file mode 100644
index 000000000..9482b12c4
--- /dev/null
+++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c
@@ -0,0 +1,104 @@
1/* Copyright 2020 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base Layer
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
22 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│| \│~ `│Hom│
23 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
24 * │Tab  │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ Bspc│PgU│
25 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
26 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│   Enter│PgD│
27 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
28 * │Shift   │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│
29 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
30 * │Ctrl│ Opt│ Cmd│          Space         │Cmd │FnPy│││Lef│Dow│Rig│
31 * └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
32 */
33[_BASE] = LAYOUT_65_ansi_blocker_split_bs( \
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_HOME, \
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, \
36 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
38 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT \
39),
40/* Function Layer
41 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
42 * │Mke│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│LHP│MNC│SlD│
43 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
44 * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│  Del│VlU│
45 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
46 * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│
47 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
48 * │ │LYR│Thm│ │ │RST│ │   │Prv│Nxt│Ply│ │PgU│Mut│
49 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
50 * │ │ │ │ │ │ │││Hom│PgD│End│
51 * └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
52 */
53[_FN1] = LAYOUT_65_ansi_blocker_split_bs( \
54 QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_MSSN, MC_SLPD, \
55 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, KC_DELT, KC_VOLU, \
56 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
57 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, \
58 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
59),
60/* Blank Layout
61 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
62 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
63 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
64 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
65 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
66 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
67 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
68 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
69 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
70 * │ │ │ │ │ │ │││ │ │ │
71 * └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
72[X] = LAYOUT_65_ansi_blocker_split_bs( \
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______ \
78),
79*/
80};
81
82bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
83 switch (keycode) {
84 #ifdef KEYBOARD_massdrop
85 case RGB_TOG:
86 if (record->event.pressed) {
87 rgb_matrix_cycle_flag();
88 }
89 return false;
90 #endif
91 default:
92 return true; //Process all other keycodes normally
93 }
94}
95
96#ifdef RGB_MATRIX_ENABLE
97void rgb_matrix_indicators_user(void) {
98 if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
99 rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, RGB_GREEN);
100 } else if (!HAS_ANY_FLAGS(rgb_matrix_get_flags(), LED_FLAG_KEYS)){
101 rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, 0, 0, 0);
102 }
103}
104#endif
diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/readme.md b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/readme.md
new file mode 100644
index 000000000..51c7938eb
--- /dev/null
+++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/readme.md
@@ -0,0 +1,15 @@
1# brandonschlack's 65% ANSI blocker split backspace layout
2
3This is my preferred 65% layout.
4
5It is used on:
6
7* [Massdrop ALT](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop/alt)
8* [KBD67 MKII](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdfans/kbd67/mkiirgb)
9
10## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/a820c8629394f8f4c3943e6ee518d9a8)
11![Base Layer](https://i.imgur.com/gPxDZl7.jpg)
12
13## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/8ca73a6d3bec8ce736f5db60edf31dcf)
14![Function Layer](https://i.imgur.com/gNKHgWa.jpg)
15
diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/rules.mk b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/rules.mk
new file mode 100644
index 000000000..d12f9d5d3
--- /dev/null
+++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/rules.mk
@@ -0,0 +1,2 @@
1# Build Options
2USER_NAME := brandonschlack
diff --git a/layouts/community/75_ansi/brandonschlack/keymap.c b/layouts/community/75_ansi/brandonschlack/keymap.c
new file mode 100644
index 000000000..0f9d63c7c
--- /dev/null
+++ b/layouts/community/75_ansi/brandonschlack/keymap.c
@@ -0,0 +1,105 @@
1/* Copyright 2020 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* LAYOUT
21 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
22 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
23 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
24 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ 2.0U │ │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
26 * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
28 * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │
29 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
30 * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │
31 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
32 * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │
33 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
34 */
35
36 /* Base Layer
37 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
38 * │Esc│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│F13│F14│F15│
39 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
40 * │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│
41 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
42 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│
43 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
44 * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│
45 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
46 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│
47 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
48 * │Ctrl│ Opt│ Cmd│ Space │Cmd│Opt│Fn │Lef│Dow│Rig│
49 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
50 */
51[_BASE] = LAYOUT_75_ansi( \
52 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, \
53 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, \
54 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, \
55 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
56 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
57 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, RWD_CMD, FFD_OPT, PLY_FN1, KC_LEFT, KC_DOWN, KC_RGHT \
58),
59/* Function Layer
60 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
61 * │Mke│BrD│BrU│Msn│LHP│RV-│RV+│ │ │ │ │ │ │Prv│Nxt│Ply│
62 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
63 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ Del │SlD│
64 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
65 * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │ │ │ │ │VlU│
66 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
67 * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│
68 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
69 * │ │LYR│Thm│ │ │RST│ │ │ │ │ │ │PgU│Mte│
70 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
71 * │ │ │ │ │ │ │ │Hom│PgD│End│
72 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
73 */
74[_FN1] = LAYOUT_75_ansi( \
75 QM_MAKE, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELT, MC_SLPD, \
77 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, \
78 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
79 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_MUTE, \
80 _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
81),
82/* Blank Layer
83 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
84 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
85 * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤
86 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
87 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
88 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
89 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
90 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
91 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
93 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
94 * │ │ │ │ │ │ │ │ │ │ │
95 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
96[X] = LAYOUT_75_ansi( \
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
100 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
101 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
103),
104*/
105};
diff --git a/layouts/community/75_ansi/brandonschlack/readme.md b/layouts/community/75_ansi/brandonschlack/readme.md
new file mode 100644
index 000000000..0dfb081ba
--- /dev/null
+++ b/layouts/community/75_ansi/brandonschlack/readme.md
@@ -0,0 +1,7 @@
1# brandonschlack's 75_ansi layout
2
3This is my preferred 75% layout.
4
5It is currently used on:
6
7* [KBD75](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdfans/kbd75)
diff --git a/layouts/community/75_ansi/brandonschlack/rules.mk b/layouts/community/75_ansi/brandonschlack/rules.mk
new file mode 100644
index 000000000..104063ed4
--- /dev/null
+++ b/layouts/community/75_ansi/brandonschlack/rules.mk
@@ -0,0 +1,5 @@
1# Build Options
2ifneq (, $(findstring kbd75, $(KEYBOARD)))
3 MOUSEKEY_ENABLE = no
4endif
5BACKLIGHT_ENABLE = no # No backlights installed
diff --git a/layouts/community/ortho_4x12/brandonschlack/config.h b/layouts/community/ortho_4x12/brandonschlack/config.h
new file mode 100644
index 000000000..9b6789c1c
--- /dev/null
+++ b/layouts/community/ortho_4x12/brandonschlack/config.h
@@ -0,0 +1,55 @@
1/* Copyright 2020 Brandon Schlack
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#pragma once
17
18#ifdef KEYBOARD_planck_rev6
19#ifdef AUDIO_ENABLE
20 #define STARTUP_SONG SONG(PLANCK_SOUND)
21 // #define STARTUP_SONG SONG(NO_SOUND)
22
23 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND) \
24 }
25#endif
26
27#define MUSIC_MASK (keycode != KC_NO)
28
29/*
30 * MIDI options
31 */
32
33/* Prevent use of disabled MIDI features in the keymap */
34//#define MIDI_ENABLE_STRICT 1
35
36/* enable basic MIDI features:
37 - MIDI notes can be sent when in Music mode is on
38*/
39
40#define MIDI_BASIC
41
42/* enable advanced MIDI features:
43 - MIDI notes can be added to the keymap
44 - Octave shift and transpose
45 - Virtual sustain, portamento, and modulation wheel
46 - etc.
47*/
48//#define MIDI_ADVANCED
49
50/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
51//#define MIDI_TONE_KEYCODE_OCTAVES 2
52
53// Most tactile encoders have detents every 4 stages
54#define ENCODER_RESOLUTION 4
55#endif
diff --git a/layouts/community/ortho_4x12/brandonschlack/keymap.c b/layouts/community/ortho_4x12/brandonschlack/keymap.c
new file mode 100644
index 000000000..d4c1a4a86
--- /dev/null
+++ b/layouts/community/ortho_4x12/brandonschlack/keymap.c
@@ -0,0 +1,218 @@
1/* Copyright 2019 Brandon Schlack
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#ifdef KEYBOARD_planck_rev6
18 #include "muse.h"
19#endif
20#include "brandonschlack.h"
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24/* Qwerty */
25[_BASE] = LAYOUT_ortho_4x12( \
26// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
28// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
29 HY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
30// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
32// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
33 MCO_LYR, KC_LCTL, KC_LOPT, KC_LCMD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
34// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
35),
36
37/* Lower */
38[_LOWER] = LAYOUT_ortho_4x12( \
39// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
40 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
41// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
42 KC_DELT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
43// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
44 SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, \
45// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
46 _______, _______, _______, _______, _______, KC_MUTE, KC_MUTE, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT \
47// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
48),
49
50/* Raise */
51[_RAISE] = LAYOUT_ortho_4x12( \
52// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
53 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
54// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
55 KC_DELT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
56// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
57 SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, \
58// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
59 _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT \
60// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
61),
62
63/* Macros */
64[_MACRO] = LAYOUT_ortho_4x12( \
65// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
66 _______, _______, _______, _______, _______, _______, _______, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, MC_SLPD, \
67// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
68 _______, _______, _______, _______, _______, _______, _______, MC_BACK, MC_FWRD, PRV_TAB, NXT_TAB, NXT_WIN, \
69// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
70 _______, _______, _______, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, \
71// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
73// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
74),
75
76/* Adjust (Lower + Raise) */
77[_ADJUST] = LAYOUT_ortho_4x12( \
78// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
79 QM_MAKE, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MC_SLPD, \
80// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
81 QM_FLSH, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
82// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
83 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_RTHM,RGB_THM, _______, _______, _______, \
84// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
85 EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
86// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
87)
88
89};
90
91layer_state_t layer_state_set_keymap(layer_state_t state) {
92 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
93 return state;
94}
95
96#ifdef KEYBOARD_plaid
97// Turn on Red LED when initialized
98void keyboard_post_init_keymap(void) {
99 writePinHigh(LED_RED);
100}
101
102// Use Green LED for Caps Lock
103void led_set_user(uint8_t usb_led) {
104 if (IS_LED_OFF(usb_led, USB_LED_CAPS_LOCK)) {
105 writePinLow(LED_GREEN);
106 } else {
107 writePinHigh(LED_GREEN);
108 }
109}
110#endif
111
112#ifdef KEYBOARD_planck_rev6
113#ifdef AUDIO_ENABLE
114 float plover_song[][2] = SONG(PLOVER_SOUND);
115 float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
116#endif
117
118bool muse_mode = false;
119uint8_t last_muse_note = 0;
120uint16_t muse_counter = 0;
121uint8_t muse_offset = 70;
122uint16_t muse_tempo = 50;
123
124void encoder_update_keymap(uint8_t index, bool clockwise) {
125 if (muse_mode) {
126 if (IS_LAYER_ON(_RAISE)) {
127 if (clockwise) {
128 muse_offset++;
129 } else {
130 muse_offset--;
131 }
132 } else {
133 if (clockwise) {
134 muse_tempo+=1;
135 } else {
136 muse_tempo-=1;
137 }
138 }
139 } else {
140 if (clockwise) {
141 #ifdef MOUSEKEY_ENABLE
142 tap_code(MC_WH_U);
143 #else
144 tap_code(KC_VOLU);
145 #endif
146 } else {
147 #ifdef MOUSEKEY_ENABLE
148 tap_code(MC_WH_D);
149 #else
150 tap_code(KC_VOLD);
151 #endif
152 }
153 }
154}
155
156void dip_switch_update_user(uint8_t index, bool active) {
157 switch (index) {
158 case 0: {
159#ifdef AUDIO_ENABLE
160 static bool play_sound = false;
161#endif
162 if (active) {
163#ifdef AUDIO_ENABLE
164 if (play_sound) { PLAY_SONG(plover_song); }
165#endif
166 layer_on(_ADJUST);
167 } else {
168#ifdef AUDIO_ENABLE
169 if (play_sound) { PLAY_SONG(plover_gb_song); }
170#endif
171 layer_off(_ADJUST);
172 }
173#ifdef AUDIO_ENABLE
174 play_sound = true;
175#endif
176 break;
177 }
178 case 1:
179 if (active) {
180 muse_mode = true;
181 } else {
182 muse_mode = false;
183 }
184 }
185}
186
187void matrix_scan_keymap(void) {
188#ifdef AUDIO_ENABLE
189 if (muse_mode) {
190 if (muse_counter == 0) {
191 uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
192 if (muse_note != last_muse_note) {
193 stop_note(compute_freq_for_midi_note(last_muse_note));
194 play_note(compute_freq_for_midi_note(muse_note), 0xF);
195 last_muse_note = muse_note;
196 }
197 }
198 muse_counter = (muse_counter + 1) % muse_tempo;
199 } else {
200 if (muse_counter) {
201 stop_all_notes();
202 muse_counter = 0;
203 }
204 }
205#endif
206}
207
208bool music_mask_user(uint16_t keycode) {
209 switch (keycode) {
210 case RAISE:
211 case LOWER:
212 case MCO_LYR:
213 return false;
214 default:
215 return true;
216 }
217}
218#endif
diff --git a/layouts/community/ortho_4x12/brandonschlack/readme.md b/layouts/community/ortho_4x12/brandonschlack/readme.md
new file mode 100644
index 000000000..847851329
--- /dev/null
+++ b/layouts/community/ortho_4x12/brandonschlack/readme.md
@@ -0,0 +1,20 @@
1# brandonschlack's 4x12 Ortho Keymap
2
3This layout is based on the Planck layout. It is macOS-centric, with Colemak and DVORAK removed as I don't use them.
4
5## Keyboards Using This Layout
6
7* [Planck](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck)
8* [Plaid](https://github.com/qmk/qmk_firmware/tree/master/keyboards/plaid)
9* [JNAO](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck) (FORCE_LAYOUT=ortho_4x12)
10
11## Features
12
13* *Enter* acts as *Right Shift* when held
14* On either **LOWER** or **RAISE** layers, tapping *Shift* will toggle *Caps Lock*, hold for Shift.
15* Bottom left key is *Hyper* (Shift+Control+Option+Command) which I use to map global shortcuts in macOS.
16 * Holding *Esc* will also act as Hyper.
17* **ADJUST** Layer
18 * Make command for compiling keyboard firmmware, a Reset key, and Debug toggle.
19 * Mission Control, Launchpad, and Sleep Display macOS macros
20 * Alt-Gui swapping
diff --git a/layouts/community/ortho_4x12/brandonschlack/rules.mk b/layouts/community/ortho_4x12/brandonschlack/rules.mk
new file mode 100644
index 000000000..e36b073d2
--- /dev/null
+++ b/layouts/community/ortho_4x12/brandonschlack/rules.mk
@@ -0,0 +1,10 @@
1ifeq ($(strip $(KEYBOARD)), planck/rev6)
2 SRC += muse.c
3endif
4
5MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
6BACKLIGHT_ENABLE = no # No backlights installed
7
8ifeq ($(strip $(KEYBOARD)), jnao)
9 BOOTMAGIC_ENABLE = lite
10endif
diff --git a/layouts/community/ortho_5x12/brandonschlack/config.h b/layouts/community/ortho_5x12/brandonschlack/config.h
new file mode 100644
index 000000000..996829736
--- /dev/null
+++ b/layouts/community/ortho_5x12/brandonschlack/config.h
@@ -0,0 +1,55 @@
1/* Copyright 2020 Brandon Schlack
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#pragma once
17
18#ifdef KEYBOARD_preonic_rev3
19#ifdef AUDIO_ENABLE
20 #define STARTUP_SONG SONG(PREONIC_SOUND)
21 // #define STARTUP_SONG SONG(NO_SOUND)
22
23 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND) \
24 }
25#endif
26
27#define MUSIC_MASK (keycode != KC_NO)
28
29/*
30 * MIDI options
31 */
32
33/* Prevent use of disabled MIDI features in the keymap */
34//#define MIDI_ENABLE_STRICT 1
35
36/* enable basic MIDI features:
37 - MIDI notes can be sent when in Music mode is on
38*/
39
40#define MIDI_BASIC
41
42/* enable advanced MIDI features:
43 - MIDI notes can be added to the keymap
44 - Octave shift and transpose
45 - Virtual sustain, portamento, and modulation wheel
46 - etc.
47*/
48//#define MIDI_ADVANCED
49
50/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
51//#define MIDI_TONE_KEYCODE_OCTAVES 2
52
53// Most tactile encoders have detents every 4 stages
54#define ENCODER_RESOLUTION 4
55#endif
diff --git a/layouts/community/ortho_5x12/brandonschlack/keymap.c b/layouts/community/ortho_5x12/brandonschlack/keymap.c
new file mode 100644
index 000000000..4d7b7483a
--- /dev/null
+++ b/layouts/community/ortho_5x12/brandonschlack/keymap.c
@@ -0,0 +1,214 @@
1/* Copyright 2019 Brandon Schlack
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#ifdef KEYBOARD_preonic_rev3
18 #include "muse.h"
19#endif
20#include "brandonschlack.h"
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24/* Qwerty */
25[_BASE] = LAYOUT_ortho_5x12( \
26// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
27 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
28// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
29 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
30// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
31 HY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
32// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
33 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
34// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
35 MCO_LYR, KC_LCTL, KC_LOPT, KC_LCMD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
36// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
37),
38
39/* Lower */
40[_LOWER] = LAYOUT_ortho_5x12( \
41// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
42 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
43// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
44 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT, \
45// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
46 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, \
47// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
48 SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, \
49// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
50 _______, _______, _______, _______, _______, KC_MUTE, KC_MUTE, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT \
51// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
52),
53
54/* Raise */
55[_RAISE] = LAYOUT_ortho_5x12( \
56// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
57 KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
58// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
59 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, \
60// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
61 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, \
62// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
63 SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, \
64// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
65 _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT \
66// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
67),
68
69/* Function */
70[_MACRO] = LAYOUT_ortho_5x12( \
71// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
72 _______, _______, _______, _______, _______, _______, _______, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, MC_SLPD, \
73// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
75// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
76 _______, _______, _______, _______, _______, _______, _______, MC_BACK, MC_FWRD, PRV_TAB, NXT_TAB, NXT_WIN, \
77// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
78 _______, _______, _______, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______, \
79// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
81// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
82),
83
84/* Adjust (Lower + Raise) */
85[_ADJUST] = LAYOUT_ortho_5x12( \
86// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
87 KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MC_SLPD, \
88// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
89 QM_MAKE, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, \
90// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
91 QM_FLSH, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \
92// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
93 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_RTHM,RGB_THM, _______, _______, _______, \
94// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
95 EEP_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
96// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
97)
98
99
100};
101
102layer_state_t layer_state_set_keymap(layer_state_t state) {
103 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
104 return state;
105}
106
107#ifdef KEYBOARD_preonic_rev3
108#ifdef AUDIO_ENABLE
109 float plover_song[][2] = SONG(PLOVER_SOUND);
110 float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
111#endif
112
113bool muse_mode = false;
114uint8_t last_muse_note = 0;
115uint16_t muse_counter = 0;
116uint8_t muse_offset = 70;
117uint16_t muse_tempo = 50;
118
119void encoder_update_keymap(uint8_t index, bool clockwise) {
120 if (muse_mode) {
121 if (IS_LAYER_ON(_RAISE)) {
122 if (clockwise) {
123 muse_offset++;
124 } else {
125 muse_offset--;
126 }
127 } else {
128 if (clockwise) {
129 muse_tempo+=1;
130 } else {
131 muse_tempo-=1;
132 }
133 }
134 } else {
135 if (clockwise) {
136 #ifdef MOUSEKEY_ENABLE
137 tap_code(MC_WH_U);
138 #else
139 tap_code(KC_VOLU);
140 #endif
141 } else {
142 #ifdef MOUSEKEY_ENABLE
143 tap_code(MC_WH_D);
144 #else
145 tap_code(KC_VOLD);
146 #endif
147 }
148 }
149}
150
151void dip_switch_update_user(uint8_t index, bool active) {
152 switch (index) {
153 case 0: {
154#ifdef AUDIO_ENABLE
155 static bool play_sound = false;
156#endif
157 if (active) {
158#ifdef AUDIO_ENABLE
159 if (play_sound) { PLAY_SONG(plover_song); }
160#endif
161 layer_on(_ADJUST);
162 } else {
163#ifdef AUDIO_ENABLE
164 if (play_sound) { PLAY_SONG(plover_gb_song); }
165#endif
166 layer_off(_ADJUST);
167 }
168#ifdef AUDIO_ENABLE
169 play_sound = true;
170#endif
171 break;
172 }
173 case 1:
174 if (active) {
175 muse_mode = true;
176 } else {
177 muse_mode = false;
178 }
179 }
180}
181
182
183void matrix_scan_keymap(void) {
184#ifdef AUDIO_ENABLE
185 if (muse_mode) {
186 if (muse_counter == 0) {
187 uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
188 if (muse_note != last_muse_note) {
189 stop_note(compute_freq_for_midi_note(last_muse_note));
190 play_note(compute_freq_for_midi_note(muse_note), 0xF);
191 last_muse_note = muse_note;
192 }
193 }
194 muse_counter = (muse_counter + 1) % muse_tempo;
195 } else {
196 if (muse_counter) {
197 stop_all_notes();
198 muse_counter = 0;
199 }
200 }
201#endif
202}
203
204bool music_mask_user(uint16_t keycode) {
205 switch (keycode) {
206 case RAISE:
207 case LOWER:
208 case MCO_LYR:
209 return false;
210 default:
211 return true;
212 }
213}
214#endif
diff --git a/layouts/community/ortho_5x12/brandonschlack/readme.md b/layouts/community/ortho_5x12/brandonschlack/readme.md
new file mode 100644
index 000000000..787fbb820
--- /dev/null
+++ b/layouts/community/ortho_5x12/brandonschlack/readme.md
@@ -0,0 +1,19 @@
1# brandonschlack's 5x12 Ortho Keymap
2
3This layout takes inspiration from the Preonic and JNAO. It is macOS-centric, with Colemak and DVORAK removed as I don't use them.
4
5## Keyboards Using This Layout
6
7* [Preonic](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck)
8* [JNAO](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck) (FORCE_LAYOUT=ortho_5x12)
9
10## Features
11
12* *Enter* acts as *Right Shift* when held
13* On either **LOWER** or **RAISE** layers, tapping *Shift* will toggle *Caps Lock*, hold for Shift.
14* Bottom left key is *Hyper* (Shift+Control+Option+Command) which I use to map global shortcuts in macOS.
15 * Holding *Esc* will also act as Hyper.
16* **ADJUST** Layer
17 * Make command for compiling keyboard firmmware, a Reset key, and Debug toggle.
18 * Mission Control, Launchpad, and Sleep Display macOS macros
19 * Alt-Gui swapping
diff --git a/layouts/community/ortho_5x12/brandonschlack/rules.mk b/layouts/community/ortho_5x12/brandonschlack/rules.mk
new file mode 100644
index 000000000..dacfc28b2
--- /dev/null
+++ b/layouts/community/ortho_5x12/brandonschlack/rules.mk
@@ -0,0 +1,10 @@
1ifeq ($(strip $(KEYBOARD)), preonic/rev3)
2 SRC += muse.c
3endif
4
5MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
6BACKLIGHT_ENABLE = no # No backlights installed
7
8ifeq ($(strip $(KEYBOARD)), jnao)
9 BOOTMAGIC_ENABLE = lite
10endif
diff --git a/layouts/community/tkl_ansi/brandonschlack/config.h b/layouts/community/tkl_ansi/brandonschlack/config.h
new file mode 100644
index 000000000..df2965404
--- /dev/null
+++ b/layouts/community/tkl_ansi/brandonschlack/config.h
@@ -0,0 +1,20 @@
1/* Copyright 2020 Brandon Schlack
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#pragma once
17
18// Explicit RGB Animation Mode Include
19#undef RGBLIGHT_ANIMATIONS
20#define RGBLIGHT_EFFECT_BREATHING // Only have Breathing Animation
diff --git a/layouts/community/tkl_ansi/brandonschlack/keymap.c b/layouts/community/tkl_ansi/brandonschlack/keymap.c
new file mode 100644
index 000000000..6f13d33b4
--- /dev/null
+++ b/layouts/community/tkl_ansi/brandonschlack/keymap.c
@@ -0,0 +1,102 @@
1/* Copyright 2019 Brandon Schlack
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 "brandonschlack.h"
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20/* Base Layer
21 * ┌───┬───┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┐
22 * │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │F13│F14│F15│
23 * ├───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┤
24 * ├───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┤
25 * │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│ │Ins│Hom│PgU│
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
27 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│ │Del│End│PgD│
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┤
29 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ │
31 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ │ Up│ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┤
33 * │Ctrl│ Opt│ Cmd│ Space │Cmd │Opt │Fn │Ctrl│ │Lef│Dow│Rig│
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴─┴───┴───┴───┘
35 */
36[_BASE] = LAYOUT_tkl_ansi( \
37 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, \
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
40 HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
41 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
42 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, RWD_CMD, FFD_OPT, PLY_FN1, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
43),
44/* Function Layer
45 * ┌───┬───┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┐
46 * │Mke│ │BrD│BrU│Msn│LHP│ │RV-│RV+│ │ │ │ │ │ │ │ │ │ │Mut│
47 * ├───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┤
48 * ├───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┤
49 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ Del │ │Ply│Slp│VlU│
50 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
51 * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │ │ │ │ │ │Prv│Nxt│VlD│
52 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┤
53 * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │ │
54 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ │
55 * │ │LYR│Thm│ │ │RST│ │ │ │ │ │ │ │PgU│ │
56 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┤
57 * │ │ │ │ │ │ │ │ │ │Hom│PgD│End│
58 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴─┴───┴───┴───┘
59 */
60[_FN1] = LAYOUT_tkl_ansi( \
61 QM_MAKE, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, \
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELT, KC_MPLY, MC_SLPD, KC_VOLU, \
63 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \
64 RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, \
65 _______, RGB_LYR, RGB_THM, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_PGUP, \
66 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
67)
68/* Blank Template
69 * ┌───┬───┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┬───┬─┬───┬───┬───┐
70 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
71 * ├───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┤
72 * ├───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┤
73 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
74 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
75 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
76 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┤
77 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
78 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ │
79 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
80 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┤
81 * │ │ │ │ │ │ │ │ │ │ │ │ │
82 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┴─┴───┴───┴───┘
83 */
84/*
85[BLANK] = LAYOUT_tkl_ansi( \
86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
89 _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
92)
93*/
94};
95
96bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
97 return true;
98}
99
100void led_set_user(uint8_t usb_led) {
101
102}
diff --git a/layouts/community/tkl_ansi/brandonschlack/readme.md b/layouts/community/tkl_ansi/brandonschlack/readme.md
new file mode 100644
index 000000000..e8885a13c
--- /dev/null
+++ b/layouts/community/tkl_ansi/brandonschlack/readme.md
@@ -0,0 +1,55 @@
1# brandonschlack's TKL ANSI layout
2
3A mostly typical Mac setup, with some personal QMK touches.
4
5## Base Layer
6
7The base layer has a standard macOS modifier layout, with **F13-F15** in the F row, in place of **Print Screen**, **Scroll Lock**, and **Pause/Break**.
8
9### [Mod-Taps](https://docs.qmk.fm/#/feature_advanced_keycodes?id=mod-tap)
10
11* Hyper Caps Lock
12 * Hold **Caps Lock** for '**Hyper**' (**Shift**+**Control**+**Option**+**Command**). I use it for mapping global shortcuts for apps.
13 * Tapping **Caps Lock** functions normally
14* Media controls mapped to Right Modifiers
15 * **Right Command** for **Prev Track**
16 * **Right Option** for **Next Track**
17 * **Fn** for **Play/Pause**
18
19## Function Layer
20
21The Function layer is a mix of [Apple's *Fn* shortcuts](https://support.apple.com/en-us/HT201236), [WASD Keyboard's Media shortcuts](https://codekeyboards.com/#multimedia), and some QMK functionality.
22
23### [Apple's *Fn* shortcuts](https://support.apple.com/en-us/HT201236)
24
25* **Home/Page Down/Page Up/End** as **Fn+Left/Down/Up/Right**
26* **Foward Delete** as **Fn+Backspace**
27* **Display Brightness Down/Up** as **Fn+F1/F2**
28* **Misson Control** (*KC_FIND, but use [Karabiner-Elements](https://pqrs.org/osx/karabiner/index.html) as find -> mission_control*) as **Fn+F3**
29* **Launchpad** (*KC_MENU, but use [Karabiner-Elements](https://pqrs.org/osx/karabiner/index.html) as menu -> launchpad*) as **Fn+F4**
30* Keyboard Illumination Down/Up used as **RGB Underglow Value Decrease/Increase** on **Fn+F5/F6**
31
32### [WASD Keyboard's Media shortcuts](https://codekeyboards.com/#multimedia)
33
34* **Play/Pause** as **Fn+Insert**
35* **Prev/Next Track** as **Fn+Delete/End**
36* **Volume Up/Down** as **Fn+Page Up/Page Down**
37* **Volume Mute** as **Fn+F15**
38
39### Personal & QMK shortcuts
40
41* **Sleep Display** (Shift+Control+Power) as **Fn+Home**.
42* **QMK Make** as **Fn+Esc**. Sends make command to command line. Holding **Shift** will also append `:flash` target and put keyboard into bootloader.
43* **Reset** as **Fn+B**
44
45### RGB Controls
46
47* **RGB Toggle** as **Fn+Caps Lock**
48* **RGB Hue Increase/Decrease** as **Fn+Q/A**
49* **RGB Saturation Increase/Decrease** as **Fn+W/S**
50* **RGB Value Increase/Decrease** as **Fn+E/D**
51* **RGB Mode Next/Previous** as **Fn+Tab/Shift+Tab**
52* **RGB Toggle Layer Indication** as **Fn+Z**
53 * Changes RGB Color with Layer change (*uses custom RGB_THEME*).
54* **RGB Cycle Next Theme** as **Fn+X**
55
diff --git a/layouts/community/tkl_ansi/brandonschlack/rules.mk b/layouts/community/tkl_ansi/brandonschlack/rules.mk
new file mode 100644
index 000000000..5ce3c8ee4
--- /dev/null
+++ b/layouts/community/tkl_ansi/brandonschlack/rules.mk
@@ -0,0 +1,4 @@
1# Build Options
2CONSOLE_ENABLE = yes # Enable Console for Debugging
3MOUSEKEY_ENABLE = no # Don't need Mouse Keys
4BACKLIGHT_ENABLE = no # Backlights not installed