aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/checkerboards/quark_lp/config.h64
-rw-r--r--keyboards/checkerboards/quark_lp/info.json16
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/2x2u/config.h19
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c80
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/default/config.h19
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/default/keymap.c80
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/mit/config.h19
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c80
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/via/config.h19
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/via/keymap.c99
-rw-r--r--keyboards/checkerboards/quark_lp/keymaps/via/rules.mk1
-rw-r--r--keyboards/checkerboards/quark_lp/quark_lp.c17
-rw-r--r--keyboards/checkerboards/quark_lp/quark_lp.h58
-rw-r--r--keyboards/checkerboards/quark_lp/readme.md18
-rw-r--r--keyboards/checkerboards/quark_lp/rules.mk21
-rw-r--r--keyboards/tkw/grandiceps/config.h5
-rw-r--r--keyboards/tkw/grandiceps/info.json2
-rw-r--r--keyboards/tkw/grandiceps/keymaps/default/keymap.c22
-rw-r--r--keyboards/tkw/grandiceps/readme.md14
-rw-r--r--keyboards/tkw/grandiceps/rev2/config.h24
-rw-r--r--keyboards/tkw/grandiceps/rev2/rules.mk5
21 files changed, 673 insertions, 9 deletions
diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h
new file mode 100644
index 000000000..78197d33a
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/config.h
@@ -0,0 +1,64 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x7070
23#define PRODUCT_ID 0x5354
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Nasp
26#define PRODUCT QUARK_LP
27
28/* key matrix size */
29#define MATRIX_ROWS 4
30#define MATRIX_COLS 12
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { C5, C4, C6, C7 }
34#define MATRIX_COL_PINS { B6, B5, B4, B3, B0, D6, D5, D4, D3, D2, D1, D0 }
35#define UNUSED_PINS
36
37/* COL2ROW or ROW2COL */
38#define DIODE_DIRECTION COL2ROW
39
40/* Set 0 if debouncing isn't needed */
41#define DEBOUNCE 5
42
43/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
44#define LOCKING_SUPPORT_ENABLE
45
46/* Locking resynchronize hack */
47#define LOCKING_RESYNC_ENABLE
48
49// ws2812 options
50#define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to
51#define RGBLIGHT_EFFECT_BREATHING
52#define RGBLIGHT_EFFECT_RAINBOW_MOOD
53#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
54#define RGBLIGHT_EFFECT_SNAKE
55#define RGBLIGHT_EFFECT_KNIGHT
56#define RGBLIGHT_EFFECT_CHRISTMAS
57#define RGBLIGHT_EFFECT_STATIC_GRADIENT
58#define RGBLIGHT_EFFECT_RGB_TEST
59#define RGBLIGHT_EFFECT_ALTERNATING
60#define RGBLIGHT_EFFECT_TWINKLE
61#define RGBLED_NUM 14 // number of LEDs
62#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue
63#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation
64#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json
new file mode 100644
index 000000000..4568a4cfa
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "Quark_LP",
3 "url": "https://github.com/npspears",
4 "maintainer": "nasp",
5 "layouts": {
6 "LAYOUT_ortho_4x12": {
7 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"&uArr;", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
8 },
9 "LAYOUT_ortho_4x12_1x2uC": {
10 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"&dArr;", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"&uArr;", "x":7, "y":3}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
11 },
12 "LAYOUT_ortho_4x12_2x2u": {
13 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"x":4, "y":3, "w":2}, {"x":6, "y":3, "w":2}, {"label":"&larr;", "x":8, "y":3}, {"label":"&darr;", "x":9, "y":3}, {"label":"&uarr;", "x":10, "y":3}, {"label":"&rarr;", "x":11, "y":3}]
14 }
15 }
16}
diff --git a/keyboards/checkerboards/quark_lp/keymaps/2x2u/config.h b/keyboards/checkerboards/quark_lp/keymaps/2x2u/config.h
new file mode 100644
index 000000000..b1498826e
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/2x2u/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c
new file mode 100644
index 000000000..8c09b3a58
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/2x2u/keymap.c
@@ -0,0 +1,80 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Defines for task manager and such
20#define CALTDEL LCTL(LALT(KC_DEL))
21#define TSKMGR LCTL(LSFT(KC_ESC))
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* [0]
25 * ,-----------------------------------------------------------------------------------------.
26 * |------------+------+------+------+------+------+------+------+------+------+------+------|
27 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
28 * |------------+------+------+------+------+-------------+------+------+------+------+------|
29 * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
30 * |------------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
32 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
33 * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
34 * `-----------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_ortho_4x12_2x2u(
37 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
38 CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
40 KC_CAPS, KC_GRV, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
41 ),
42
43 /* [1]
44 * ,---------------------------------------------------------------------------------------.
45 * |------------+------+------+------+------+------+------+------+------+------+------+----|
46 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
47 * |------------+------+------+------+------+-------------+------+------+------+------+----|
48 * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
49 * |------------+------+------+------+------+------|------+------+------+------+------+----|
50 * | | | | | | | | + | = | | | |
51 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
52 * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
53 * `---------------------------------------------------------------------------------------'
54 */
55 [1] = LAYOUT_ortho_4x12_2x2u(
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
57 KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
58 _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
59 KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
60 ),
61
62 /* [2]
63 * ,---------------------------------------------------------------------------------------.
64 * |------------+------+------+------+------+------+------+------+------+------+------+---|
65 * | | | | UP | | | | _ | | [ | ] | |
66 * |------------+------+------+------+------+-------------+------+------+------+------+---|
67 * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
68 * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
69 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
70 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
71 * | RESET | | | | | | | |
72 * `---------------------------------------------------------------------------------------'
73 */
74 [2] = LAYOUT_ortho_4x12_2x2u(
75 _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
76 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
77 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
78 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
79 )
80};
diff --git a/keyboards/checkerboards/quark_lp/keymaps/default/config.h b/keyboards/checkerboards/quark_lp/keymaps/default/config.h
new file mode 100644
index 000000000..b1498826e
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/default/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c
new file mode 100644
index 000000000..22e589d8a
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/default/keymap.c
@@ -0,0 +1,80 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Defines for task manager and such
20#define CALTDEL LCTL(LALT(KC_DEL))
21#define TSKMGR LCTL(LSFT(KC_ESC))
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* [0]
25 * ,-----------------------------------------------------------------------------------------.
26 * |------------+------+------+------+------+------+------+------+------+------+------+------|
27 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
28 * |------------+------+------+------+------+-------------+------+------+------+------+------|
29 * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
30 * |------------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
32 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
33 * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
34 * `-----------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_ortho_4x12(
37 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
38 CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
40 KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
41 ),
42
43 /* [1]
44 * ,---------------------------------------------------------------------------------------.
45 * |------------+------+------+------+------+------+------+------+------+------+------+----|
46 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
47 * |------------+------+------+------+------+-------------+------+------+------+------+----|
48 * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
49 * |------------+------+------+------+------+------|------+------+------+------+------+----|
50 * | | | | | | | | + | = | | | |
51 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
52 * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
53 * `---------------------------------------------------------------------------------------'
54 */
55 [1] = LAYOUT_ortho_4x12(
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
57 KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
58 _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
59 _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
60 ),
61
62 /* [2]
63 * ,---------------------------------------------------------------------------------------.
64 * |------------+------+------+------+------+------+------+------+------+------+------+---|
65 * | | | | UP | | | | _ | | [ | ] | |
66 * |------------+------+------+------+------+-------------+------+------+------+------+---|
67 * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
68 * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
69 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
70 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
71 * | RESET | | | | | | | |
72 * `---------------------------------------------------------------------------------------'
73 */
74 [2] = LAYOUT_ortho_4x12(
75 _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
76 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
77 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
78 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
79 )
80};
diff --git a/keyboards/checkerboards/quark_lp/keymaps/mit/config.h b/keyboards/checkerboards/quark_lp/keymaps/mit/config.h
new file mode 100644
index 000000000..b1498826e
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/mit/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c
new file mode 100644
index 000000000..f747f4f26
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/mit/keymap.c
@@ -0,0 +1,80 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Defines for task manager and such
20#define CALTDEL LCTL(LALT(KC_DEL))
21#define TSKMGR LCTL(LSFT(KC_ESC))
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* [0]
25 * ,-----------------------------------------------------------------------------------------.
26 * |------------+------+------+------+------+------+------+------+------+------+------+------|
27 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
28 * |------------+------+------+------+------+-------------+------+------+------+------+------|
29 * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
30 * |------------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
32 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
33 * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
34 * `-----------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_ortho_4x12_1x2uC(
37 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
38 CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
40 KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
41 ),
42
43 /* [1]
44 * ,---------------------------------------------------------------------------------------.
45 * |------------+------+------+------+------+------+------+------+------+------+------+----|
46 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
47 * |------------+------+------+------+------+-------------+------+------+------+------+----|
48 * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
49 * |------------+------+------+------+------+------|------+------+------+------+------+----|
50 * | | | | | | | | + | = | | | |
51 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
52 * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
53 * `---------------------------------------------------------------------------------------'
54 */
55 [1] = LAYOUT_ortho_4x12_1x2uC(
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
57 KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
58 _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
59 _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
60 ),
61
62 /* [2]
63 * ,---------------------------------------------------------------------------------------.
64 * |------------+------+------+------+------+------+------+------+------+------+------+---|
65 * | | | | UP | | | | _ | | [ | ] | |
66 * |------------+------+------+------+------+-------------+------+------+------+------+---|
67 * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
68 * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
69 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
70 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
71 * | RESET | | | | | | | |
72 * `---------------------------------------------------------------------------------------'
73 */
74 [2] = LAYOUT_ortho_4x12_1x2uC(
75 _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
76 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
77 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
78 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
79 )
80};
diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/config.h b/keyboards/checkerboards/quark_lp/keymaps/via/config.h
new file mode 100644
index 000000000..b1498826e
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/via/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c
new file mode 100644
index 000000000..d7e281730
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c
@@ -0,0 +1,99 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Defines for task manager and such
20#define CALTDEL LCTL(LALT(KC_DEL))
21#define TSKMGR LCTL(LSFT(KC_ESC))
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 /* [0]
25 * ,-----------------------------------------------------------------------------------------.
26 * |------------+------+------+------+------+------+------+------+------+------+------+------|
27 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
28 * |------------+------+------+------+------+-------------+------+------+------+------+------|
29 * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
30 * |------------+------+------+------+------+------|------+------+------+------+------+------|
31 * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
32 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
33 * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
34 * `-----------------------------------------------------------------------------------------'
35 */
36 [0] = LAYOUT_ortho_4x12(
37 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
38 CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
40 KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
41 ),
42
43 /* [1]
44 * ,---------------------------------------------------------------------------------------.
45 * |------------+------+------+------+------+------+------+------+------+------+------+----|
46 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
47 * |------------+------+------+------+------+-------------+------+------+------+------+----|
48 * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
49 * |------------+------+------+------+------+------|------+------+------+------+------+----|
50 * | | | | | | | | + | = | | | |
51 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
52 * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
53 * `---------------------------------------------------------------------------------------'
54 */
55 [1] = LAYOUT_ortho_4x12(
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
57 KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
58 _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
59 _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
60 ),
61
62 /* [2]
63 * ,---------------------------------------------------------------------------------------.
64 * |------------+------+------+------+------+------+------+------+------+------+------+---|
65 * | | | | UP | | | | _ | | [ | ] | |
66 * |------------+------+------+------+------+-------------+------+------+------+------+---|
67 * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
68 * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
69 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
70 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
71 * | RESET | | | | | | | |
72 * `---------------------------------------------------------------------------------------'
73 */
74 [2] = LAYOUT_ortho_4x12(
75 _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
76 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
77 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
78 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
79 ),
80
81 /* [3]
82 * ,---------------------------------------------------------------------------------------.
83 * |------------+------+------+------+------+------+------+------+------+------+------+---|
84 * | | | | UP | | | | _ | | [ | ] | |
85 * |------------+------+------+------+------+-------------+------+------+------+------+---|
86 * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
87 * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
88 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
89 * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
90 * | RESET | | | | | | | |
91 * `---------------------------------------------------------------------------------------'
92 */
93[3] = LAYOUT_ortho_4x12(
94 _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
95 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
96 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
97 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
98 )
99 };
diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk b/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/quark_lp/quark_lp.c b/keyboards/checkerboards/quark_lp/quark_lp.c
new file mode 100644
index 000000000..bc9a192bf
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/quark_lp.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "quark_lp.h"
diff --git a/keyboards/checkerboards/quark_lp/quark_lp.h b/keyboards/checkerboards/quark_lp/quark_lp.h
new file mode 100644
index 000000000..a7bb3fda8
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/quark_lp.h
@@ -0,0 +1,58 @@
1/* Copyright 2021 Nathan Spears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21#define XXX KC_NO
22
23
24#define LAYOUT_ortho_4x12( \
25 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
26 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
27 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
28 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B \
29) { \
30 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
31 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
32 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
33 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B } \
34}
35
36#define LAYOUT_ortho_4x12_1x2uC( \
37 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
38 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
39 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
40 k30, k31, k32, k33, k34, k35, k37, k38, k39, k3A, k3B \
41) { \
42 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
43 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
44 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
45 { k30, k31, k32, k33, k34, k35, XXX, k37, k38, k39, k3A, k3B } \
46}
47
48#define LAYOUT_ortho_4x12_2x2u( \
49 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
50 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
51 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
52 k30, k31, k32, k33, k34, k36, k38, k39, k3A, k3B \
53) { \
54 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
55 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
56 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
57 { k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3A, k3B } \
58}
diff --git a/keyboards/checkerboards/quark_lp/readme.md b/keyboards/checkerboards/quark_lp/readme.md
new file mode 100644
index 000000000..427f1081c
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/readme.md
@@ -0,0 +1,18 @@
1# Quark_LP
2
3![Quark_LP](https://i.imgur.com/EgdbzxE.png)
4
5The Quark LP PCB is compatible with Cherry Low-Profile switches and Kailh Choc switches, and is drop-in compatible with the OLKB Planck board.
6
7* Keyboard Maintainer: [Nasp](https://github.com/npspears)
8* Hardware Supported: Planck
9* Hardware Availability: www.checkerboards.xyz
10
11Make example for this keyboard (after setting up your build environment):
12
13 make checkerboards/quark_lp:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16
17## Bootloader
18Enter the bootloader by pressing the reset pin on the back of the PCB. You can do this through the back of the case through the small hole near the USB connector.
diff --git a/keyboards/checkerboards/quark_lp/rules.mk b/keyboards/checkerboards/quark_lp/rules.mk
new file mode 100644
index 000000000..9906266f4
--- /dev/null
+++ b/keyboards/checkerboards/quark_lp/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h
index 93b6fd02f..e51c9ab22 100644
--- a/keyboards/tkw/grandiceps/config.h
+++ b/keyboards/tkw/grandiceps/config.h
@@ -17,19 +17,17 @@
17 17
18#include "config_common.h" 18#include "config_common.h"
19 19
20
21/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED 21#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0x7812 22#define PRODUCT_ID 0x7812
24#define DEVICE_VER 0x0001 23#define DEVICE_VER 0x0001
24#define MANUFACTURER tkw
25#define PRODUCT Grandiceps Split 25#define PRODUCT Grandiceps Split
26 26
27/* key matrix size */ 27/* key matrix size */
28#define MATRIX_ROWS 10 28#define MATRIX_ROWS 10
29#define MATRIX_COLS 6 29#define MATRIX_COLS 6
30 30
31
32
33#define MATRIX_COL_PINS { B0, A7, A3, A5, A4, A2 } 31#define MATRIX_COL_PINS { B0, A7, A3, A5, A4, A2 }
34#define MATRIX_ROW_PINS { B12, A6, B13, B9, B8 } 32#define MATRIX_ROW_PINS { B12, A6, B13, B9, B8 }
35#define MATRIX_COL_PINS_RIGHT { B0, A7, A3, A5, A4, A2 } 33#define MATRIX_COL_PINS_RIGHT { B0, A7, A3, A5, A4, A2 }
@@ -61,7 +59,6 @@
61/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 59/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
62#define DEBOUNCE 5 60#define DEBOUNCE 5
63 61
64
65/* disable these deprecated features by default */ 62/* disable these deprecated features by default */
66#define NO_ACTION_MACRO 63#define NO_ACTION_MACRO
67#define NO_ACTION_FUNCTION 64#define NO_ACTION_FUNCTION
diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json
index 4ca41b73a..7a4324ffd 100644
--- a/keyboards/tkw/grandiceps/info.json
+++ b/keyboards/tkw/grandiceps/info.json
@@ -2,7 +2,7 @@
2 "keyboard_name": "grandiceps", 2 "keyboard_name": "grandiceps",
3 "url": "https://github.com/vattern/grandiceps", 3 "url": "https://github.com/vattern/grandiceps",
4 "maintainer": "vattern", 4 "maintainer": "vattern",
5 "manufacturer": "TKW", 5 "manufacturer": "tkw",
6 "layouts": { 6 "layouts": {
7 "LAYOUT": { 7 "LAYOUT": {
8 "layout": [ 8 "layout": [
diff --git a/keyboards/tkw/grandiceps/keymaps/default/keymap.c b/keyboards/tkw/grandiceps/keymaps/default/keymap.c
index 121ae1c41..14ae9619e 100644
--- a/keyboards/tkw/grandiceps/keymaps/default/keymap.c
+++ b/keyboards/tkw/grandiceps/keymaps/default/keymap.c
@@ -35,7 +35,8 @@ enum custom_keycodes {
35 KC_NXTWD, 35 KC_NXTWD,
36 KC_LSTRT, 36 KC_LSTRT,
37 KC_LEND, 37 KC_LEND,
38 KC_DLINE 38 KC_DLINE,
39 KC_TEAMS
39}; 40};
40 41
41 42
@@ -61,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
61 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 62 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
62 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 63 KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
63 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 64 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
64 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 65 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_TEAMS,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
65 KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI 66 KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI
66), 67),
67/* 68/*
@@ -103,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
103 */ 104 */
104[_LOWER] = LAYOUT( 105[_LOWER] = LAYOUT(
105 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 106 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
106 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, 107 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NUBS,
107 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, 108 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
108 _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, 109 _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -311,6 +312,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
311 unregister_code(KC_Z); 312 unregister_code(KC_Z);
312 } 313 }
313 return false; 314 return false;
315
316 case KC_TEAMS:
317 if (record->event.pressed) {
318 register_mods(mod_config(MOD_LCTL));
319 register_mods(mod_config(MOD_LSFT));
320 register_code(KC_M);
321 } else {
322 unregister_mods(mod_config(MOD_LCTL));
323 unregister_mods(mod_config(MOD_LSFT));
324 unregister_code(KC_M);
325 }
326 return false;
314 } 327 }
315 return true; 328 return true;
316} 329}
@@ -447,7 +460,7 @@ bool encoder_update_user(uint8_t index, bool clockwise){
447 switch (get_highest_layer(layer_state)) { 460 switch (get_highest_layer(layer_state)) {
448 case _QWERTY: 461 case _QWERTY:
449 // Scrolling with PageUp and PgDn. 462 // Scrolling with PageUp and PgDn.
450 if (clockwise) { 463 if (!clockwise) {
451 tap_code16(KC_PGDN); 464 tap_code16(KC_PGDN);
452 } else { 465 } else {
453 tap_code16(KC_PGUP); 466 tap_code16(KC_PGUP);
@@ -462,6 +475,7 @@ bool encoder_update_user(uint8_t index, bool clockwise){
462 break; 475 break;
463 } 476 }
464 } 477 }
478
465 return true; 479 return true;
466} 480}
467#endif 481#endif
diff --git a/keyboards/tkw/grandiceps/readme.md b/keyboards/tkw/grandiceps/readme.md
index 894f1c8d7..57a6dac28 100644
--- a/keyboards/tkw/grandiceps/readme.md
+++ b/keyboards/tkw/grandiceps/readme.md
@@ -8,12 +8,26 @@ ARM split keyboard with RGB underglow and encoders.
8* Hardware Supported: f411 blackpill 8* Hardware Supported: f411 blackpill
9* Hardware Availability: [grandiceps](https://github.com/vattern/grandiceps) 9* Hardware Availability: [grandiceps](https://github.com/vattern/grandiceps)
10 10
11There are two versions of the Grandiceps. Please use the appropriate firmware for your board.
12
13* Revision 2 has I2C eeprom and support for a Pimoroni trackball.
14
11Make example for this keyboard (after setting up your build environment): 15Make example for this keyboard (after setting up your build environment):
12 16
13 make tkw/grandiceps:default 17 make tkw/grandiceps:default
18 make tkw/grandiceps/rev2:default
14 19
15Flashing example for this keyboard: 20Flashing example for this keyboard:
16 21
17 make tkw/grandiceps:default:flash 22 make tkw/grandiceps:default:flash
23 make tkw/grandiceps/rev2:default:flash
18 24
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 25See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
26
27## Bootloader
28
29Enter the bootloader in 3 ways:
30
31* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
32* **Physical reset buttons**: Hold down the BOOT0 button and then briefly press the NRST button on the BlackPill PCB.
33* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/tkw/grandiceps/rev2/config.h b/keyboards/tkw/grandiceps/rev2/config.h
new file mode 100644
index 000000000..98b762087
--- /dev/null
+++ b/keyboards/tkw/grandiceps/rev2/config.h
@@ -0,0 +1,24 @@
1/* Copyright 2021 Thys de Wet
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#undef DEVICE_VER
19#define DEVICE_VER 0x0002
20#undef PRODUCT
21#define PRODUCT Grandiceps Split rev2
22
23#define SPLIT_HAND_PIN B3
24#define EEPROM_I2C_24LC64
diff --git a/keyboards/tkw/grandiceps/rev2/rules.mk b/keyboards/tkw/grandiceps/rev2/rules.mk
new file mode 100644
index 000000000..c8f3f05bd
--- /dev/null
+++ b/keyboards/tkw/grandiceps/rev2/rules.mk
@@ -0,0 +1,5 @@
1EEPROM_DRIVER = i2c
2
3POINTING_DEVICE_ENABLE = yes
4SRC += drivers/sensors/pimoroni_trackball.c
5QUANTUM_LIB_SRC += i2c_master.c