diff options
author | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
commit | dc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch) | |
tree | 4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/boardsource |
Diffstat (limited to 'keyboards/boardsource')
100 files changed, 3921 insertions, 0 deletions
diff --git a/keyboards/boardsource/3x4/3x4.c b/keyboards/boardsource/3x4/3x4.c new file mode 100644 index 000000000..798d5a65c --- /dev/null +++ b/keyboards/boardsource/3x4/3x4.c | |||
@@ -0,0 +1 @@ | |||
#include "3x4.h" | |||
diff --git a/keyboards/boardsource/3x4/3x4.h b/keyboards/boardsource/3x4/3x4.h new file mode 100644 index 000000000..a27d32c74 --- /dev/null +++ b/keyboards/boardsource/3x4/3x4.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "quantum.h" | ||
4 | #define LAYOUT( \ | ||
5 | K00, K01, K02, K03, \ | ||
6 | K10, K11, K12, K13, \ | ||
7 | K20, K21, K22, K23 \ | ||
8 | ) { \ | ||
9 | {K00, K01, K02, K03}, \ | ||
10 | {K10, K11, K12, K13}, \ | ||
11 | {K20, K21, K22, K23} \ | ||
12 | } | ||
diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h new file mode 100644 index 000000000..01d163ca5 --- /dev/null +++ b/keyboards/boardsource/3x4/config.h | |||
@@ -0,0 +1,72 @@ | |||
1 | |||
2 | |||
3 | #pragma once | ||
4 | |||
5 | #include "config_common.h" | ||
6 | |||
7 | /* USB Device descriptor parameter */ | ||
8 | #define VENDOR_ID 0x4273 // "Bs" - Boardsource | ||
9 | #define PRODUCT_ID 0x0304 // 3x4 | ||
10 | #define DEVICE_VER 0x0000 | ||
11 | #define MANUFACTURER Boardsource | ||
12 | #define PRODUCT 3x4 | ||
13 | |||
14 | /* key matrix size */ | ||
15 | #define MATRIX_ROWS 3 | ||
16 | #define MATRIX_COLS 4 | ||
17 | |||
18 | #define MATRIX_ROW_PINS {F7, F6, F5} | ||
19 | #define MATRIX_COL_PINS {B6, B2, B3, B1} | ||
20 | |||
21 | #define DIODE_DIRECTION COL2ROW | ||
22 | |||
23 | #define DEBOUNCE 5 | ||
24 | |||
25 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
26 | #define LOCKING_SUPPORT_ENABLE | ||
27 | /* Locking resynchronize hack */ | ||
28 | #define LOCKING_RESYNC_ENABLE | ||
29 | |||
30 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
31 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
32 | */ | ||
33 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
34 | |||
35 | /* | ||
36 | * Force NKRO | ||
37 | * | ||
38 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
39 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
40 | * makefile for this to work.) | ||
41 | * | ||
42 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
43 | * until the next keyboard reset. | ||
44 | * | ||
45 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
46 | * fully operational during normal computer usage. | ||
47 | * | ||
48 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
49 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
50 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
51 | * power-up. | ||
52 | * | ||
53 | */ | ||
54 | //#define FORCE_NKRO | ||
55 | |||
56 | /* | ||
57 | * Feature disable options | ||
58 | * These options are also useful to firmware size reduction. | ||
59 | */ | ||
60 | |||
61 | /* disable debug print */ | ||
62 | //#define NO_DEBUG | ||
63 | |||
64 | /* disable print */ | ||
65 | //#define NO_PRINT | ||
66 | |||
67 | /* disable action features */ | ||
68 | //#define NO_ACTION_LAYER | ||
69 | //#define NO_ACTION_TAPPING | ||
70 | //#define NO_ACTION_ONESHOT | ||
71 | //#define NO_ACTION_MACRO | ||
72 | //#define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/boardsource/3x4/info.json b/keyboards/boardsource/3x4/info.json new file mode 100644 index 000000000..649c35af3 --- /dev/null +++ b/keyboards/boardsource/3x4/info.json | |||
@@ -0,0 +1,27 @@ | |||
1 | { | ||
2 | "keyboard_name": "boardsource 4x3", | ||
3 | "url": "https://boardsource.xyz", | ||
4 | "maintainer": "boardsource", | ||
5 | "layouts": { | ||
6 | |||
7 | "LAYOUT": { | ||
8 | |||
9 | "layout": [ | ||
10 | { "label": "K01", "x": 0, "y": 0 }, | ||
11 | { "label": "K02", "x": 1, "y": 0 }, | ||
12 | { "label": "K03", "x": 2, "y": 0 }, | ||
13 | { "label": "K04", "x": 3, "y": 0 }, | ||
14 | |||
15 | { "label": "K05", "x": 0, "y": 1 }, | ||
16 | { "label": "K06", "x": 1, "y": 1 }, | ||
17 | { "label": "K07", "x": 2, "y": 1 }, | ||
18 | { "label": "K08", "x": 3, "y": 1 }, | ||
19 | |||
20 | { "label": "K09", "x": 0, "y": 2 }, | ||
21 | { "label": "K10", "x": 1, "y": 2 }, | ||
22 | { "label": "K11", "x": 2, "y": 2 }, | ||
23 | { "label": "K12", "x": 3, "y": 2 } | ||
24 | ] | ||
25 | } | ||
26 | } | ||
27 | } | ||
diff --git a/keyboards/boardsource/3x4/keymaps/default/keymap.c b/keyboards/boardsource/3x4/keymaps/default/keymap.c new file mode 100644 index 000000000..67133735f --- /dev/null +++ b/keyboards/boardsource/3x4/keymaps/default/keymap.c | |||
@@ -0,0 +1,26 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum layers { | ||
4 | _MAIN, | ||
5 | _RAISE, | ||
6 | _LOWER, | ||
7 | }; | ||
8 | |||
9 | // Readability keycodes | ||
10 | #define LOWER MO(_LOWER) | ||
11 | #define RAISE MO(_RAISE) | ||
12 | |||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
14 | |||
15 | [_MAIN] = LAYOUT( | ||
16 | KC_0, KC_1, KC_4, KC_7, | ||
17 | KC_ENT, KC_2, KC_5, KC_8, | ||
18 | RAISE, KC_3, KC_6, KC_9 | ||
19 | ), | ||
20 | [_RAISE] = LAYOUT( | ||
21 | _______, _______, _______, _______, | ||
22 | _______, _______, _______, _______, | ||
23 | _______, _______, _______, RESET | ||
24 | ) | ||
25 | |||
26 | }; | ||
diff --git a/keyboards/boardsource/3x4/keymaps/via/keymap.c b/keyboards/boardsource/3x4/keymaps/via/keymap.c new file mode 100644 index 000000000..a4824f8bf --- /dev/null +++ b/keyboards/boardsource/3x4/keymaps/via/keymap.c | |||
@@ -0,0 +1,25 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
4 | |||
5 | LAYOUT( | ||
6 | KC_0, KC_1, KC_4, KC_7, | ||
7 | KC_ENT, KC_2, KC_5, KC_8, | ||
8 | MO(1), KC_3, KC_6, KC_9 | ||
9 | ), | ||
10 | LAYOUT( | ||
11 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
12 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
13 | KC_TRNS, KC_TRNS, KC_TRNS, RESET | ||
14 | ), | ||
15 | LAYOUT( | ||
16 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
17 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
18 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
19 | ), | ||
20 | LAYOUT( | ||
21 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
22 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
23 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
24 | ) | ||
25 | }; | ||
diff --git a/keyboards/boardsource/3x4/keymaps/via/readme.md b/keyboards/boardsource/3x4/keymaps/via/readme.md new file mode 100644 index 000000000..c68eb9cf5 --- /dev/null +++ b/keyboards/boardsource/3x4/keymaps/via/readme.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # The via keymap for boardsource 3x4 macropad | ||
2 | |||
3 | This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 3x4 macropad | ||
4 | |||
5 | Maintained by: [gwillad](https://github.com/gwillad) | ||
diff --git a/keyboards/boardsource/3x4/keymaps/via/rules.mk b/keyboards/boardsource/3x4/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/boardsource/3x4/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/boardsource/3x4/readme.md b/keyboards/boardsource/3x4/readme.md new file mode 100644 index 000000000..9d7ef895c --- /dev/null +++ b/keyboards/boardsource/3x4/readme.md | |||
@@ -0,0 +1,15 @@ | |||
1 | # 3x4 | ||
2 | |||
3 |  | ||
4 | |||
5 | this macro pad / small 12 key was inspired by the plaid look | ||
6 | |||
7 | * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) | ||
8 | * Hardware Supported: 3x4 v1 | ||
9 | * Hardware Availability: [Boardsource store](https://boardsource.xyz/store/5ecc2008eee64242946c98c1) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/3x4:default | ||
14 | |||
15 | See 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). | ||
diff --git a/keyboards/boardsource/3x4/rules.mk b/keyboards/boardsource/3x4/rules.mk new file mode 100644 index 000000000..3915b035e --- /dev/null +++ b/keyboards/boardsource/3x4/rules.mk | |||
@@ -0,0 +1,17 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = yes # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | AUDIO_ENABLE = no # Audio output | ||
diff --git a/keyboards/boardsource/4x12/4x12.c b/keyboards/boardsource/4x12/4x12.c new file mode 100644 index 000000000..2aec6900a --- /dev/null +++ b/keyboards/boardsource/4x12/4x12.c | |||
@@ -0,0 +1 @@ | |||
#include "4x12.h" | |||
diff --git a/keyboards/boardsource/4x12/4x12.h b/keyboards/boardsource/4x12/4x12.h new file mode 100644 index 000000000..52c23708f --- /dev/null +++ b/keyboards/boardsource/4x12/4x12.h | |||
@@ -0,0 +1,14 @@ | |||
1 | #pragma once | ||
2 | #include "quantum.h" | ||
3 | |||
4 | #define LAYOUT_ortho_4x12( \ | ||
5 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ | ||
6 | K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ | ||
7 | K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ | ||
8 | K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ | ||
9 | ) { \ | ||
10 | {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ | ||
11 | {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ | ||
12 | {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ | ||
13 | {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \ | ||
14 | } | ||
diff --git a/keyboards/boardsource/4x12/config.h b/keyboards/boardsource/4x12/config.h new file mode 100644 index 000000000..967bb1c9f --- /dev/null +++ b/keyboards/boardsource/4x12/config.h | |||
@@ -0,0 +1,70 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "config_common.h" | ||
4 | |||
5 | /* USB Device descriptor parameter */ | ||
6 | #define VENDOR_ID 0x4273 // "Bs" - Boardsource | ||
7 | #define PRODUCT_ID 0x0412 | ||
8 | #define DEVICE_VER 0x0000 | ||
9 | #define MANUFACTURER Boardsource | ||
10 | #define PRODUCT 4x12 | ||
11 | |||
12 | /* key matrix size */ | ||
13 | #define MATRIX_ROWS 4 | ||
14 | #define MATRIX_COLS 12 | ||
15 | #define MATRIX_ROW_PINS { D2, D3, D1, D0} | ||
16 | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7 } | ||
17 | |||
18 | #define DIODE_DIRECTION COL2ROW | ||
19 | |||
20 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
21 | #define DEBOUNCE 5 | ||
22 | |||
23 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
24 | #define LOCKING_SUPPORT_ENABLE | ||
25 | /* Locking resynchronize hack */ | ||
26 | #define LOCKING_RESYNC_ENABLE | ||
27 | |||
28 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
29 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
30 | */ | ||
31 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
32 | |||
33 | /* | ||
34 | * Force NKRO | ||
35 | * | ||
36 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
37 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
38 | * makefile for this to work.) | ||
39 | * | ||
40 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
41 | * until the next keyboard reset. | ||
42 | * | ||
43 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
44 | * fully operational during normal computer usage. | ||
45 | * | ||
46 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
47 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
48 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
49 | * power-up. | ||
50 | * | ||
51 | */ | ||
52 | //#define FORCE_NKRO | ||
53 | |||
54 | /* | ||
55 | * Feature disable options | ||
56 | * These options are also useful to firmware size reduction. | ||
57 | */ | ||
58 | |||
59 | /* disable debug print */ | ||
60 | //#define NO_DEBUG | ||
61 | |||
62 | /* disable print */ | ||
63 | //#define NO_PRINT | ||
64 | |||
65 | /* disable action features */ | ||
66 | //#define NO_ACTION_LAYER | ||
67 | //#define NO_ACTION_TAPPING | ||
68 | //#define NO_ACTION_ONESHOT | ||
69 | //#define NO_ACTION_MACRO | ||
70 | //#define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/boardsource/4x12/info.json b/keyboards/boardsource/4x12/info.json new file mode 100644 index 000000000..bb4acbbfe --- /dev/null +++ b/keyboards/boardsource/4x12/info.json | |||
@@ -0,0 +1,62 @@ | |||
1 | { | ||
2 | "keyboard_name": "Boardsource 4x12", | ||
3 | "url": "https://boardsource.xyz", | ||
4 | "maintainer": "Boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_ortho_4x12": { | ||
7 | "layout": [ | ||
8 | { "label": "K01", "x": 0, "y": 0 }, | ||
9 | { "label": "K02", "x": 1, "y": 0 }, | ||
10 | { "label": "K03", "x": 2, "y": 0 }, | ||
11 | { "label": "K04", "x": 3, "y": 0 }, | ||
12 | { "label": "K05", "x": 4, "y": 0 }, | ||
13 | { "label": "K06", "x": 5, "y": 0 }, | ||
14 | { "label": "K07", "x": 6, "y": 0 }, | ||
15 | { "label": "K08", "x": 7, "y": 0 }, | ||
16 | { "label": "K09", "x": 8, "y": 0 }, | ||
17 | { "label": "K010", "x": 9, "y": 0 }, | ||
18 | { "label": "K011", "x": 10, "y": 0 }, | ||
19 | { "label": "K012", "x": 11, "y": 0 }, | ||
20 | |||
21 | { "label": "K11", "x": 0, "y": 1 }, | ||
22 | { "label": "K12", "x": 1, "y": 1 }, | ||
23 | { "label": "K13", "x": 2, "y": 1 }, | ||
24 | { "label": "K14", "x": 3, "y": 1 }, | ||
25 | { "label": "K15", "x": 4, "y": 1 }, | ||
26 | { "label": "K16", "x": 5, "y": 1 }, | ||
27 | { "label": "K17", "x": 6, "y": 1 }, | ||
28 | { "label": "K18", "x": 7, "y": 1 }, | ||
29 | { "label": "K19", "x": 8, "y": 1 }, | ||
30 | { "label": "K110", "x": 9, "y": 1 }, | ||
31 | { "label": "K111", "x": 10, "y": 1 }, | ||
32 | { "label": "K112", "x": 11, "y": 1 }, | ||
33 | |||
34 | { "label": "K21", "x": 0, "y": 2 }, | ||
35 | { "label": "K22", "x": 1, "y": 2 }, | ||
36 | { "label": "K23", "x": 2, "y": 2 }, | ||
37 | { "label": "K24", "x": 3, "y": 2 }, | ||
38 | { "label": "K25", "x": 4, "y": 2 }, | ||
39 | { "label": "K26", "x": 5, "y": 2 }, | ||
40 | { "label": "K27", "x": 6, "y": 2 }, | ||
41 | { "label": "K28", "x": 7, "y": 2 }, | ||
42 | { "label": "K29", "x": 8, "y": 2 }, | ||
43 | { "label": "K210", "x": 9, "y": 2 }, | ||
44 | { "label": "K211", "x": 10, "y": 2 }, | ||
45 | { "label": "K212", "x": 11, "y": 2 }, | ||
46 | |||
47 | { "label": "K31", "x": 0, "y": 3 }, | ||
48 | { "label": "K32", "x": 1, "y": 3 }, | ||
49 | { "label": "K33", "x": 2, "y": 3 }, | ||
50 | { "label": "K34", "x": 3, "y": 3 }, | ||
51 | { "label": "K35", "x": 4, "y": 3 }, | ||
52 | { "label": "K36", "x": 5, "y": 3 }, | ||
53 | { "label": "K37", "x": 6, "y": 3 }, | ||
54 | { "label": "K38", "x": 7, "y": 3 }, | ||
55 | { "label": "K39", "x": 8, "y": 3 }, | ||
56 | { "label": "K310", "x": 9, "y": 3 }, | ||
57 | { "label": "K311", "x": 10, "y": 3 }, | ||
58 | { "label": "K312", "x": 11, "y": 3 } | ||
59 | ] | ||
60 | } | ||
61 | } | ||
62 | } | ||
diff --git a/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c b/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c new file mode 100644 index 000000000..0ea2b4cef --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* Copyright 2020 codecoffeecode | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _LOWER, | ||
22 | _RAISE, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | /* Layer _MAIN | ||
32 | * ,-----------------------------------------------------------------------------------. | ||
33 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
34 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
35 | * | Esc | A | S | D | F | G | H | J | K | L | ; | " | | ||
36 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
37 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
38 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
39 | * | Ctrl | Caps | Alt | GUI |Layer1| Space |Layer2| Left | Down | Up |Right | | ||
40 | * `-----------------------------------------------------------------------------------' | ||
41 | */ | ||
42 | [_MAIN] = LAYOUT_ortho_4x12( | ||
43 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
44 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
45 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
46 | KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
47 | ), | ||
48 | |||
49 | /* Layer _LOWER | ||
50 | * ,-----------------------------------------------------------------------------------. | ||
51 | * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | Del | | ||
52 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
53 | * | | Vol- | Vol+ | Mute | Play | | | F11 | F12 | | | | | ||
54 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
55 | * | | | | | | | | | | | | | | ||
56 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
57 | * | Reset| | | | | | | | | | | | | ||
58 | * `-----------------------------------------------------------------------------------' | ||
59 | */ | ||
60 | [_LOWER] = LAYOUT_ortho_4x12( | ||
61 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, | ||
62 | _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, KC_F11, KC_F12, _______, _______, _______, | ||
63 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
64 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
65 | ), | ||
66 | |||
67 | /* Layer _RAISE | ||
68 | * ,-----------------------------------------------------------------------------------. | ||
69 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | ||
70 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
71 | * | | | | | | | | - | = | [ | ] | \ | | ||
72 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
73 | * | | | | | | | | | | | | | | ||
74 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
75 | * | | | | | | | | | | | | | | ||
76 | * `-----------------------------------------------------------------------------------' | ||
77 | */ | ||
78 | [_RAISE] = LAYOUT_ortho_4x12( | ||
79 | _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, | ||
80 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
81 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
82 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
83 | ) | ||
84 | |||
85 | }; | ||
diff --git a/keyboards/boardsource/4x12/keymaps/default/keymap.c b/keyboards/boardsource/4x12/keymaps/default/keymap.c new file mode 100644 index 000000000..d9a0c47a6 --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/default/keymap.c | |||
@@ -0,0 +1,36 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum layers { | ||
4 | _MAIN, | ||
5 | _RAISE, | ||
6 | _LOWER, | ||
7 | }; | ||
8 | |||
9 | // Readability keycodes | ||
10 | #define LOWER MO(_LOWER) | ||
11 | #define RAISE MO(_RAISE) | ||
12 | |||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
14 | |||
15 | [_MAIN] = LAYOUT_ortho_4x12( | ||
16 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
17 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
18 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
19 | KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
20 | ), | ||
21 | |||
22 | [_RAISE] = LAYOUT_ortho_4x12( | ||
23 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
24 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
25 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
26 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
27 | ), | ||
28 | |||
29 | [_LOWER] = LAYOUT_ortho_4x12( | ||
30 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
31 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
32 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
33 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
34 | ) | ||
35 | |||
36 | }; | ||
diff --git a/keyboards/boardsource/4x12/keymaps/via/keymap.c b/keyboards/boardsource/4x12/keymaps/via/keymap.c new file mode 100644 index 000000000..d9a0c47a6 --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/keymap.c | |||
@@ -0,0 +1,36 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum layers { | ||
4 | _MAIN, | ||
5 | _RAISE, | ||
6 | _LOWER, | ||
7 | }; | ||
8 | |||
9 | // Readability keycodes | ||
10 | #define LOWER MO(_LOWER) | ||
11 | #define RAISE MO(_RAISE) | ||
12 | |||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
14 | |||
15 | [_MAIN] = LAYOUT_ortho_4x12( | ||
16 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
17 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
18 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
19 | KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
20 | ), | ||
21 | |||
22 | [_RAISE] = LAYOUT_ortho_4x12( | ||
23 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
24 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
25 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
26 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
27 | ), | ||
28 | |||
29 | [_LOWER] = LAYOUT_ortho_4x12( | ||
30 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
31 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
32 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
33 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
34 | ) | ||
35 | |||
36 | }; | ||
diff --git a/keyboards/boardsource/4x12/keymaps/via/readme.md b/keyboards/boardsource/4x12/keymaps/via/readme.md new file mode 100644 index 000000000..534633d45 --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/readme.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # The via keymap for boardsource 4x12 ortholinear keybaoard | ||
2 | |||
3 | This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 4x12 ortholinear keybaoard | ||
4 | |||
5 | Maintained by: [gwillad](https://github.com/gwillad) | ||
diff --git a/keyboards/boardsource/4x12/keymaps/via/rules.mk b/keyboards/boardsource/4x12/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/boardsource/4x12/readme.md b/keyboards/boardsource/4x12/readme.md new file mode 100644 index 000000000..17cf01ed0 --- /dev/null +++ b/keyboards/boardsource/4x12/readme.md | |||
@@ -0,0 +1,12 @@ | |||
1 | # 4x12 | ||
2 |  | ||
3 | |||
4 | * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) | ||
5 | * Hardware Supported: 4x12 v1 | ||
6 | * Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/5ecb7dad86879c9a0c22db32) | ||
7 | |||
8 | Make example for this keyboard (after setting up your build environment): | ||
9 | |||
10 | make boardsource/4x12:default | ||
11 | |||
12 | See 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). \ No newline at end of file | ||
diff --git a/keyboards/boardsource/4x12/rules.mk b/keyboards/boardsource/4x12/rules.mk new file mode 100644 index 000000000..061f93abf --- /dev/null +++ b/keyboards/boardsource/4x12/rules.mk | |||
@@ -0,0 +1,24 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = yes # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | AUDIO_ENABLE = no # Audio output | ||
18 | |||
19 | LAYOUTS = ortho_4x12 | ||
20 | |||
21 | # Disable unsupported hardware | ||
22 | RGBLIGHT_SUPPORTED = no | ||
23 | AUDIO_SUPPORTED = no | ||
24 | BACKLIGHT_SUPPORTED = no | ||
diff --git a/keyboards/boardsource/5x12/5x12.c b/keyboards/boardsource/5x12/5x12.c new file mode 100644 index 000000000..579cd5eff --- /dev/null +++ b/keyboards/boardsource/5x12/5x12.c | |||
@@ -0,0 +1 @@ | |||
#include "5x12.h" \ No newline at end of file | |||
diff --git a/keyboards/boardsource/5x12/5x12.h b/keyboards/boardsource/5x12/5x12.h new file mode 100644 index 000000000..bbc0689b4 --- /dev/null +++ b/keyboards/boardsource/5x12/5x12.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #pragma once | ||
2 | #include "quantum.h" | ||
3 | |||
4 | #define LAYOUT_ortho_5x12( \ | ||
5 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ | ||
6 | K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ | ||
7 | K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ | ||
8 | K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \ | ||
9 | K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 \ | ||
10 | ) { \ | ||
11 | {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ | ||
12 | {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ | ||
13 | {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ | ||
14 | {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47}, \ | ||
15 | {K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59} \ | ||
16 | } | ||
17 | |||
diff --git a/keyboards/boardsource/5x12/config.h b/keyboards/boardsource/5x12/config.h new file mode 100644 index 000000000..455965a09 --- /dev/null +++ b/keyboards/boardsource/5x12/config.h | |||
@@ -0,0 +1,71 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "config_common.h" | ||
4 | |||
5 | /* USB Device descriptor parameter */ | ||
6 | #define VENDOR_ID 0x4273 // "Bs" - Boardsource | ||
7 | #define PRODUCT_ID 0x0512 | ||
8 | #define DEVICE_VER 0x0000 | ||
9 | #define MANUFACTURER Boardsource | ||
10 | #define PRODUCT 5x12 | ||
11 | |||
12 | /* key matrix size */ | ||
13 | #define MATRIX_ROWS 5 | ||
14 | #define MATRIX_COLS 12 | ||
15 | #define MATRIX_ROW_PINS { D2, D3, D1, D0, D4 } | ||
16 | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7 } | ||
17 | |||
18 | /* COL2ROW, ROW2COL*/ | ||
19 | #define DIODE_DIRECTION COL2ROW | ||
20 | |||
21 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
22 | #define DEBOUNCE 5 | ||
23 | |||
24 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
25 | #define LOCKING_SUPPORT_ENABLE | ||
26 | /* Locking resynchronize hack */ | ||
27 | #define LOCKING_RESYNC_ENABLE | ||
28 | |||
29 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
30 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
31 | */ | ||
32 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
33 | |||
34 | /* | ||
35 | * Force NKRO | ||
36 | * | ||
37 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
38 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
39 | * makefile for this to work.) | ||
40 | * | ||
41 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
42 | * until the next keyboard reset. | ||
43 | * | ||
44 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
45 | * fully operational during normal computer usage. | ||
46 | * | ||
47 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
48 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
49 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
50 | * power-up. | ||
51 | * | ||
52 | */ | ||
53 | //#define FORCE_NKRO | ||
54 | |||
55 | /* | ||
56 | * Feature disable options | ||
57 | * These options are also useful to firmware size reduction. | ||
58 | */ | ||
59 | |||
60 | /* disable debug print */ | ||
61 | //#define NO_DEBUG | ||
62 | |||
63 | /* disable print */ | ||
64 | //#define NO_PRINT | ||
65 | |||
66 | /* disable action features */ | ||
67 | //#define NO_ACTION_LAYER | ||
68 | //#define NO_ACTION_TAPPING | ||
69 | //#define NO_ACTION_ONESHOT | ||
70 | //#define NO_ACTION_MACRO | ||
71 | //#define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/boardsource/5x12/info.json b/keyboards/boardsource/5x12/info.json new file mode 100644 index 000000000..92debddd9 --- /dev/null +++ b/keyboards/boardsource/5x12/info.json | |||
@@ -0,0 +1,75 @@ | |||
1 | { | ||
2 | "keyboard_name": "boardsource 5x12", | ||
3 | "url": "https://boardsource.xyz", | ||
4 | "maintainer": "boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_ortho_5x12": { | ||
7 | "layout": [ | ||
8 | { "label": "K01", "x": 0, "y": 0 }, | ||
9 | { "label": "K02", "x": 1, "y": 0 }, | ||
10 | { "label": "K03", "x": 2, "y": 0 }, | ||
11 | { "label": "K04", "x": 3, "y": 0 }, | ||
12 | { "label": "K05", "x": 4, "y": 0 }, | ||
13 | { "label": "K06", "x": 5, "y": 0 }, | ||
14 | { "label": "K07", "x": 6, "y": 0 }, | ||
15 | { "label": "K08", "x": 7, "y": 0 }, | ||
16 | { "label": "K09", "x": 8, "y": 0 }, | ||
17 | { "label": "K010", "x": 9, "y": 0 }, | ||
18 | { "label": "K011", "x": 10, "y": 0 }, | ||
19 | { "label": "K012", "x": 11, "y": 0 }, | ||
20 | |||
21 | { "label": "K11", "x": 0, "y": 1 }, | ||
22 | { "label": "K12", "x": 1, "y": 1 }, | ||
23 | { "label": "K13", "x": 2, "y": 1 }, | ||
24 | { "label": "K14", "x": 3, "y": 1 }, | ||
25 | { "label": "K15", "x": 4, "y": 1 }, | ||
26 | { "label": "K16", "x": 5, "y": 1 }, | ||
27 | { "label": "K17", "x": 6, "y": 1 }, | ||
28 | { "label": "K18", "x": 7, "y": 1 }, | ||
29 | { "label": "K19", "x": 8, "y": 1 }, | ||
30 | { "label": "K110", "x": 9, "y": 1 }, | ||
31 | { "label": "K111", "x": 10, "y": 1 }, | ||
32 | { "label": "K112", "x": 11, "y": 1 }, | ||
33 | |||
34 | { "label": "K21", "x": 0, "y": 2 }, | ||
35 | { "label": "K22", "x": 1, "y": 2 }, | ||
36 | { "label": "K23", "x": 2, "y": 2 }, | ||
37 | { "label": "K24", "x": 3, "y": 2 }, | ||
38 | { "label": "K25", "x": 4, "y": 2 }, | ||
39 | { "label": "K26", "x": 5, "y": 2 }, | ||
40 | { "label": "K27", "x": 6, "y": 2 }, | ||
41 | { "label": "K28", "x": 7, "y": 2 }, | ||
42 | { "label": "K29", "x": 8, "y": 2 }, | ||
43 | { "label": "K210", "x": 9, "y": 2 }, | ||
44 | { "label": "K211", "x": 10, "y": 2 }, | ||
45 | { "label": "K212", "x": 11, "y": 2 }, | ||
46 | |||
47 | { "label": "K31", "x": 0, "y": 3 }, | ||
48 | { "label": "K32", "x": 1, "y": 3 }, | ||
49 | { "label": "K33", "x": 2, "y": 3 }, | ||
50 | { "label": "K34", "x": 3, "y": 3 }, | ||
51 | { "label": "K35", "x": 4, "y": 3 }, | ||
52 | { "label": "K36", "x": 5, "y": 3 }, | ||
53 | { "label": "K37", "x": 6, "y": 3 }, | ||
54 | { "label": "K38", "x": 7, "y": 3 }, | ||
55 | { "label": "K39", "x": 8, "y": 3 }, | ||
56 | { "label": "K310", "x": 9, "y": 3 }, | ||
57 | { "label": "K311", "x": 10, "y": 3 }, | ||
58 | { "label": "K312", "x": 11, "y": 3 }, | ||
59 | |||
60 | { "label": "K41", "x": 0, "y": 4 }, | ||
61 | { "label": "K42", "x": 1, "y": 4 }, | ||
62 | { "label": "K43", "x": 2, "y": 4 }, | ||
63 | { "label": "K44", "x": 3, "y": 4 }, | ||
64 | { "label": "K45", "x": 4, "y": 4 }, | ||
65 | { "label": "K46", "x": 5, "y": 4 }, | ||
66 | { "label": "K47", "x": 6, "y": 4 }, | ||
67 | { "label": "K48", "x": 7, "y": 4 }, | ||
68 | { "label": "K49", "x": 8, "y": 4 }, | ||
69 | { "label": "K410", "x": 9, "y": 4 }, | ||
70 | { "label": "K411", "x": 10, "y": 4 }, | ||
71 | { "label": "K412", "x": 11, "y": 4 } | ||
72 | ] | ||
73 | } | ||
74 | } | ||
75 | } | ||
diff --git a/keyboards/boardsource/5x12/keymaps/default/keymap.c b/keyboards/boardsource/5x12/keymaps/default/keymap.c new file mode 100644 index 000000000..19bdde0ff --- /dev/null +++ b/keyboards/boardsource/5x12/keymaps/default/keymap.c | |||
@@ -0,0 +1,39 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum layers { | ||
4 | _MAIN, | ||
5 | _RAISE, | ||
6 | _LOWER, | ||
7 | }; | ||
8 | |||
9 | // Readability keycodes | ||
10 | #define LOWER MO(_LOWER) | ||
11 | #define RAISE MO(_RAISE) | ||
12 | |||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
14 | |||
15 | [_MAIN] = LAYOUT_ortho_5x12( | ||
16 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
17 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, | ||
18 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
19 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
20 | KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
21 | ), | ||
22 | |||
23 | [_RAISE] = LAYOUT_ortho_5x12( | ||
24 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
25 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, | ||
26 | _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, | ||
27 | KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, | ||
28 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
29 | ), | ||
30 | |||
31 | [_LOWER] = LAYOUT_ortho_5x12( | ||
32 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
33 | _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, | ||
34 | _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, | ||
35 | KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
36 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
37 | ) | ||
38 | |||
39 | }; | ||
diff --git a/keyboards/boardsource/5x12/keymaps/via/keymap.c b/keyboards/boardsource/5x12/keymaps/via/keymap.c new file mode 100644 index 000000000..8601fa377 --- /dev/null +++ b/keyboards/boardsource/5x12/keymaps/via/keymap.c | |||
@@ -0,0 +1,47 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum layers { | ||
4 | _MAIN, | ||
5 | _RAISE, | ||
6 | _LOWER, | ||
7 | }; | ||
8 | |||
9 | // Readability keycodes | ||
10 | #define LOWER MO(_LOWER) | ||
11 | #define RAISE MO(_RAISE) | ||
12 | |||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
14 | |||
15 | [_MAIN] = LAYOUT_ortho_5x12( | ||
16 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
17 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, | ||
18 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
19 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
20 | KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
21 | ), | ||
22 | |||
23 | [_RAISE] = LAYOUT_ortho_5x12( | ||
24 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
25 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, | ||
26 | _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, | ||
27 | KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, | ||
28 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
29 | ), | ||
30 | |||
31 | [_LOWER] = LAYOUT_ortho_5x12( | ||
32 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
33 | _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, | ||
34 | _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, | ||
35 | KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
36 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
37 | ), | ||
38 | |||
39 | [3] = LAYOUT_ortho_5x12( | ||
40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
42 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
43 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
44 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
45 | ) | ||
46 | |||
47 | }; | ||
diff --git a/keyboards/boardsource/5x12/keymaps/via/readme.md b/keyboards/boardsource/5x12/keymaps/via/readme.md new file mode 100644 index 000000000..d088e0a64 --- /dev/null +++ b/keyboards/boardsource/5x12/keymaps/via/readme.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # The via keymap for boardsource 5x12 ortholinear keyboard | ||
2 | |||
3 | This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 5x12 ortholinear keyboard | ||
4 | |||
5 | Maintained by: [gwillad](https://github.com/gwillad) | ||
diff --git a/keyboards/boardsource/5x12/keymaps/via/rules.mk b/keyboards/boardsource/5x12/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/boardsource/5x12/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/boardsource/5x12/readme.md b/keyboards/boardsource/5x12/readme.md new file mode 100644 index 000000000..f1bf8a84c --- /dev/null +++ b/keyboards/boardsource/5x12/readme.md | |||
@@ -0,0 +1,13 @@ | |||
1 | # 5x12 | ||
2 | |||
3 |  | ||
4 | |||
5 | * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) | ||
6 | * Hardware Supported: 5x12 v1 | ||
7 | * Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/5ecb822386879c9a0c22db84) | ||
8 | |||
9 | Make example for this keyboard (after setting up your build environment): | ||
10 | |||
11 | make boardsource/5x12:default | ||
12 | |||
13 | See 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). \ No newline at end of file | ||
diff --git a/keyboards/boardsource/5x12/rules.mk b/keyboards/boardsource/5x12/rules.mk new file mode 100644 index 000000000..0727732ac --- /dev/null +++ b/keyboards/boardsource/5x12/rules.mk | |||
@@ -0,0 +1,24 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = yes # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | AUDIO_ENABLE = no # Audio output | ||
18 | |||
19 | LAYOUTS = ortho_5x12 | ||
20 | |||
21 | # Disable unsupported hardware | ||
22 | RGBLIGHT_SUPPORTED = no | ||
23 | AUDIO_SUPPORTED = no | ||
24 | BACKLIGHT_SUPPORTED = no | ||
diff --git a/keyboards/boardsource/beiwagon/beiwagon.c b/keyboards/boardsource/beiwagon/beiwagon.c new file mode 100644 index 000000000..f4ba170e6 --- /dev/null +++ b/keyboards/boardsource/beiwagon/beiwagon.c | |||
@@ -0,0 +1,38 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 "beiwagon.h" | ||
18 | #ifdef RGB_MATRIX_ENABLE | ||
19 | led_config_t g_led_config = { { | ||
20 | {7,8,9}, | ||
21 | {10,11,12}, | ||
22 | {13,14,15}, | ||
23 | {16,17,18} | ||
24 | }, { | ||
25 | {2, 0}, {1, 0}, {0, 0}, | ||
26 | {2, 1}, {1, 1}, {0, 1}, | ||
27 | {2, 2}, {1, 2}, {0, 2}, | ||
28 | {2, 3}, {1, 3}, {0, 3}, | ||
29 | }, { | ||
30 | 2, 2, 2, 2, 2, 2, | ||
31 | 1, 1, 1, | ||
32 | 1, 4, 1, | ||
33 | 1, 4, 1, | ||
34 | 1, 1, 1 | ||
35 | |||
36 | } }; | ||
37 | #endif | ||
38 | |||
diff --git a/keyboards/boardsource/beiwagon/beiwagon.h b/keyboards/boardsource/beiwagon/beiwagon.h new file mode 100644 index 000000000..ed5d51652 --- /dev/null +++ b/keyboards/boardsource/beiwagon/beiwagon.h | |||
@@ -0,0 +1,32 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 LAYOUT( \ | ||
22 | K00, K01, K02, \ | ||
23 | K10, K11, K12, \ | ||
24 | K20, K21, K22, \ | ||
25 | K30, K31, K32\ | ||
26 | ) { \ | ||
27 | {K00, K01, K02 }, \ | ||
28 | {K10, K11, K12 }, \ | ||
29 | {K20, K21, K22 }, \ | ||
30 | {K30, K31, K32 } \ | ||
31 | } | ||
32 | |||
diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h new file mode 100644 index 000000000..797da3461 --- /dev/null +++ b/keyboards/boardsource/beiwagon/config.h | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | Copyright 2020 Boardsource | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x4273 | ||
24 | #define PRODUCT_ID 0x0066 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER Boardsource | ||
27 | #define PRODUCT Beiwagon | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 4 | ||
31 | #define MATRIX_COLS 3 | ||
32 | |||
33 | /* | ||
34 | * Keyboard Matrix Assignments | ||
35 | * | ||
36 | * Change this to how you wired your keyboard | ||
37 | * COLS: AVR pins used for columns, left to right | ||
38 | * ROWS: AVR pins used for rows, top to bottom | ||
39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
41 | * | ||
42 | */ | ||
43 | #define MATRIX_ROW_PINS {B0, B1, B2, B3} | ||
44 | #define MATRIX_COL_PINS {B5,B6,B7} | ||
45 | #define UNUSED_PINS | ||
46 | |||
47 | /* COL2ROW, ROW2COL */ | ||
48 | #define DIODE_DIRECTION COL2ROW | ||
49 | |||
50 | //#define BACKLIGHT_PIN B7 | ||
51 | //#define BACKLIGHT_LEVELS 3 | ||
52 | #define BACKLIGHT_BREATHING | ||
53 | #define RGBLIGHT_ANIMATIONS | ||
54 | #define RGB_DI_PIN C6 | ||
55 | #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 | ||
56 | // RGB Matrix Animation modes. Explicitly enabled | ||
57 | // For full list of effects, see: | ||
58 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
59 | #define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
60 | #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
61 | #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
62 | #define ENABLE_RGB_MATRIX_BREATHING | ||
63 | #define ENABLE_RGB_MATRIX_BAND_SAT | ||
64 | #define ENABLE_RGB_MATRIX_BAND_VAL | ||
65 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
66 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
67 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
68 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
69 | #define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
70 | #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
71 | #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
72 | #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
73 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
74 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
75 | #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
76 | #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
77 | #define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
78 | #define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
79 | #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
80 | #define ENABLE_RGB_MATRIX_RAINDROPS | ||
81 | #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
82 | #define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
83 | #define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
84 | #define ENABLE_RGB_MATRIX_HUE_WAVE | ||
85 | #define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
86 | #define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
87 | #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
88 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
89 | #define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
90 | #define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
91 | // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
92 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
93 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
94 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
95 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
96 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
97 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
98 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
99 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
100 | #define ENABLE_RGB_MATRIX_SPLASH | ||
101 | #define ENABLE_RGB_MATRIX_MULTISPLASH | ||
102 | #define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
103 | #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
104 | #ifdef RGBLIGHT_ENABLE | ||
105 | #define RGBLED_NUM 6 // Number of LEDs | ||
106 | #endif | ||
107 | |||
108 | #define DRIVER_LED_TOTAL 22 | ||
109 | |||
110 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
111 | #define DEBOUNCE 5 | ||
112 | |||
113 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
114 | //#define MATRIX_HAS_GHOST | ||
115 | |||
116 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
117 | //#define LOCKING_SUPPORT_ENABLE | ||
118 | /* Locking resynchronize hack */ | ||
119 | //#define LOCKING_RESYNC_ENABLE | ||
120 | |||
121 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
122 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
123 | */ | ||
124 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
125 | |||
126 | /* | ||
127 | * Force NKRO | ||
128 | * | ||
129 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
130 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
131 | * makefile for this to work.) | ||
132 | * | ||
133 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
134 | * until the next keyboard reset. | ||
135 | * | ||
136 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
137 | * fully operational during normal computer usage. | ||
138 | * | ||
139 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
140 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
141 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
142 | * power-up. | ||
143 | * | ||
144 | */ | ||
145 | //#define FORCE_NKRO | ||
146 | |||
147 | /* | ||
148 | * Feature disable options | ||
149 | * These options are also useful to firmware size reduction. | ||
150 | */ | ||
151 | |||
152 | /* disable debug print */ | ||
153 | //#define NO_DEBUG | ||
154 | |||
155 | /* disable print */ | ||
156 | //#define NO_PRINT | ||
157 | |||
158 | /* disable action features */ | ||
159 | //#define NO_ACTION_LAYER | ||
160 | //#define NO_ACTION_TAPPING | ||
161 | //#define NO_ACTION_ONESHOT | ||
162 | |||
163 | /* disable these deprecated features by default */ | ||
164 | #define NO_ACTION_MACRO | ||
165 | #define NO_ACTION_FUNCTION | ||
166 | |||
167 | /* Bootmagic Lite key configuration */ | ||
168 | //#define BOOTMAGIC_LITE_ROW 0 | ||
169 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json new file mode 100644 index 000000000..6f7518b85 --- /dev/null +++ b/keyboards/boardsource/beiwagon/info.json | |||
@@ -0,0 +1,26 @@ | |||
1 | { | ||
2 | "keyboard_name": "Beiwagon", | ||
3 | "url": "", | ||
4 | "maintainer": "Boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT": { | ||
7 | "layout": [ | ||
8 | { "label": "k00", "x": 0, "y": 0 }, | ||
9 | { "label": "k01", "x": 1, "y": 0 }, | ||
10 | { "label": "k02", "x": 2, "y": 0 }, | ||
11 | |||
12 | { "label": "k10", "x": 0, "y": 1 }, | ||
13 | { "label": "k11", "x": 1, "y": 1 }, | ||
14 | { "label": "k12", "x": 2, "y": 1 }, | ||
15 | |||
16 | { "label": "k20", "x": 0, "y": 2 }, | ||
17 | { "label": "k21", "x": 1, "y": 2 }, | ||
18 | { "label": "k22", "x": 2, "y": 2 }, | ||
19 | |||
20 | { "label": "k30", "x": 0, "y": 3 }, | ||
21 | { "label": "k31", "x": 1, "y": 3 }, | ||
22 | { "label": "k32", "x": 2, "y": 3 } | ||
23 | ] | ||
24 | } | ||
25 | } | ||
26 | } | ||
diff --git a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c new file mode 100644 index 000000000..396a0c720 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c | |||
@@ -0,0 +1,47 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT( | ||
32 | KC_7, KC_8, KC_9, | ||
33 | KC_4, KC_5, KC_6, | ||
34 | KC_1, KC_2, KC_3, | ||
35 | KC_0, KC_PENT,RAISE | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT( | ||
39 | KC_7, KC_8, RGB_TOG, | ||
40 | KC_4, KC_5, RGB_MOD, | ||
41 | KC_1, KC_2, KC_3, | ||
42 | KC_0, KC_PENT,KC_TRNS | ||
43 | |||
44 | ) | ||
45 | |||
46 | }; | ||
47 | |||
diff --git a/keyboards/boardsource/beiwagon/keymaps/default/readme.md b/keyboards/boardsource/beiwagon/keymaps/default/readme.md new file mode 100644 index 000000000..95f466aa8 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/default/readme.md | |||
@@ -0,0 +1 @@ | |||
# The default keymap for Beiwagon | |||
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c new file mode 100644 index 000000000..396a0c720 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c | |||
@@ -0,0 +1,47 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT( | ||
32 | KC_7, KC_8, KC_9, | ||
33 | KC_4, KC_5, KC_6, | ||
34 | KC_1, KC_2, KC_3, | ||
35 | KC_0, KC_PENT,RAISE | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT( | ||
39 | KC_7, KC_8, RGB_TOG, | ||
40 | KC_4, KC_5, RGB_MOD, | ||
41 | KC_1, KC_2, KC_3, | ||
42 | KC_0, KC_PENT,KC_TRNS | ||
43 | |||
44 | ) | ||
45 | |||
46 | }; | ||
47 | |||
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/readme.md b/keyboards/boardsource/beiwagon/keymaps/via/readme.md new file mode 100644 index 000000000..f1b294c22 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/via/readme.md | |||
@@ -0,0 +1 @@ | |||
# The via keymap for Beiwagon | |||
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/rules.mk b/keyboards/boardsource/beiwagon/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes | |||
diff --git a/keyboards/boardsource/beiwagon/readme.md b/keyboards/boardsource/beiwagon/readme.md new file mode 100644 index 000000000..104c1a1f2 --- /dev/null +++ b/keyboards/boardsource/beiwagon/readme.md | |||
@@ -0,0 +1,21 @@ | |||
1 | # Beiwagon | ||
2 | |||
3 |  | ||
4 | |||
5 | The Beiwagon was designed to be a companion to the Technik keeping the same height and design it is a perfect match to sit along side. | ||
6 | |||
7 | * Keyboard Maintainer: [Boardsource](https://github.com/boardsource) | ||
8 | * Hardware Supported: V1 pcb | ||
9 | * Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/beiwagon:default | ||
14 | |||
15 | Flashing example for this keyboard: | ||
16 | |||
17 | make boardsource/beiwagon:default:flash | ||
18 | |||
19 | Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. | ||
20 | |||
21 | See 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). | ||
diff --git a/keyboards/boardsource/beiwagon/rules.mk b/keyboards/boardsource/beiwagon/rules.mk new file mode 100644 index 000000000..612dcfcfb --- /dev/null +++ b/keyboards/boardsource/beiwagon/rules.mk | |||
@@ -0,0 +1,20 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
12 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | RGB_MATRIX_ENABLE = yes | ||
20 | RGB_MATRIX_DRIVER = WS2812 | ||
diff --git a/keyboards/boardsource/holiday/spooky/config.h b/keyboards/boardsource/holiday/spooky/config.h new file mode 100644 index 000000000..92eb4c32a --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/config.h | |||
@@ -0,0 +1,133 @@ | |||
1 | /* | ||
2 | Copyright 2020 boardsource | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x4273 | ||
24 | #define PRODUCT_ID 0x1031 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER Boardsource | ||
27 | #define PRODUCT spooky | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 2 | ||
31 | #define MATRIX_COLS 3 | ||
32 | |||
33 | #define DIRECT_PINS { {E6,B4,B5}, {B3,B2,B6}} | ||
34 | |||
35 | #define RGB_DI_PIN D3 | ||
36 | #define RGBLIGHT_ANIMATIONS | ||
37 | #ifdef RGBLIGHT_ENABLE | ||
38 | #define RGBLED_NUM 5 // Number of LEDs | ||
39 | #endif | ||
40 | |||
41 | |||
42 | //#define BACKLIGHT_PIN B7 | ||
43 | //#define BACKLIGHT_LEVELS 3 | ||
44 | //#define BACKLIGHT_BREATHING | ||
45 | |||
46 | //#define RGB_DI_PIN E2 | ||
47 | //#ifdef RGB_DI_PIN | ||
48 | //# define RGBLED_NUM 16 | ||
49 | //# define RGBLIGHT_HUE_STEP 8 | ||
50 | //# define RGBLIGHT_SAT_STEP 8 | ||
51 | //# define RGBLIGHT_VAL_STEP 8 | ||
52 | //# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
53 | //# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
54 | /*== all animations enable ==*/ | ||
55 | //# define RGBLIGHT_ANIMATIONS | ||
56 | /*== or choose animations ==*/ | ||
57 | //# define RGBLIGHT_EFFECT_BREATHING | ||
58 | //# define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
59 | //# define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
60 | //# define RGBLIGHT_EFFECT_SNAKE | ||
61 | //# define RGBLIGHT_EFFECT_KNIGHT | ||
62 | //# define RGBLIGHT_EFFECT_CHRISTMAS | ||
63 | //# define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
64 | //# define RGBLIGHT_EFFECT_RGB_TEST | ||
65 | //# define RGBLIGHT_EFFECT_ALTERNATING | ||
66 | /*== customize breathing effect ==*/ | ||
67 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
68 | //# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
69 | /*==== use exp() and sin() ====*/ | ||
70 | //# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
71 | //# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
72 | //#endif | ||
73 | |||
74 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
75 | #define DEBOUNCE 5 | ||
76 | |||
77 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
78 | //#define MATRIX_HAS_GHOST | ||
79 | |||
80 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
81 | #define LOCKING_SUPPORT_ENABLE | ||
82 | /* Locking resynchronize hack */ | ||
83 | #define LOCKING_RESYNC_ENABLE | ||
84 | |||
85 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
86 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
87 | */ | ||
88 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
89 | |||
90 | /* | ||
91 | * Force NKRO | ||
92 | * | ||
93 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
94 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
95 | * makefile for this to work.) | ||
96 | * | ||
97 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
98 | * until the next keyboard reset. | ||
99 | * | ||
100 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
101 | * fully operational during normal computer usage. | ||
102 | * | ||
103 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
104 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
105 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
106 | * power-up. | ||
107 | * | ||
108 | */ | ||
109 | //#define FORCE_NKRO | ||
110 | |||
111 | /* | ||
112 | * Feature disable options | ||
113 | * These options are also useful to firmware size reduction. | ||
114 | */ | ||
115 | |||
116 | /* disable debug print */ | ||
117 | //#define NO_DEBUG | ||
118 | |||
119 | /* disable print */ | ||
120 | //#define NO_PRINT | ||
121 | |||
122 | /* disable action features */ | ||
123 | //#define NO_ACTION_LAYER | ||
124 | //#define NO_ACTION_TAPPING | ||
125 | //#define NO_ACTION_ONESHOT | ||
126 | |||
127 | /* disable these deprecated features by default */ | ||
128 | #define NO_ACTION_MACRO | ||
129 | #define NO_ACTION_FUNCTION | ||
130 | |||
131 | /* Bootmagic Lite key configuration */ | ||
132 | //#define BOOTMAGIC_LITE_ROW 0 | ||
133 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/boardsource/holiday/spooky/info.json b/keyboards/boardsource/holiday/spooky/info.json new file mode 100644 index 000000000..c942b2af1 --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/info.json | |||
@@ -0,0 +1,18 @@ | |||
1 | { | ||
2 | "keyboard_name": "spooky", | ||
3 | "url": "https://boardsource.xyz/store/5f783f6da2c1b43e37ca0795", | ||
4 | "maintainer": "boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_ortho_2x3": { | ||
7 | "layout": [ | ||
8 | { "label": "k00", "x": 0, "y": 0 }, | ||
9 | { "label": "k01", "x": 1, "y": 0 }, | ||
10 | { "label": "k02", "x": 2, "y": 0 }, | ||
11 | |||
12 | { "label": "k10", "x": 0, "y": 1 }, | ||
13 | { "label": "k11", "x": 1, "y": 1 }, | ||
14 | { "label": "k12", "x": 2, "y": 1 } | ||
15 | ] | ||
16 | } | ||
17 | } | ||
18 | } | ||
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c new file mode 100644 index 000000000..63fbb1b94 --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c | |||
@@ -0,0 +1,29 @@ | |||
1 | /* Copyright 2020 boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | }; | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | /* Base */ | ||
25 | [_BASE] = LAYOUT_ortho_2x3( | ||
26 | KC_F1, KC_F2, KC_F3, | ||
27 | KC_F4, KC_F5, KC_F6 | ||
28 | ), | ||
29 | }; | ||
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c new file mode 100644 index 000000000..eb56d1173 --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* Copyright 2020 boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | }; | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | /* Base */ | ||
25 | [_BASE] = LAYOUT_ortho_2x3( | ||
26 | RGB_TOG, KC_VOLU, KC_F2, | ||
27 | RGB_MOD, KC_VOLD, KC_F1 | ||
28 | ), | ||
29 | }; | ||
30 | #ifdef OLED_ENABLE | ||
31 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
32 | return OLED_ROTATION_180; | ||
33 | } | ||
34 | |||
35 | static void render_RIP(void) { | ||
36 | static const char PROGMEM my_logo[] = { | ||
37 | 0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00, | ||
38 | 0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00, | ||
39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82, | ||
40 | 0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0, | ||
41 | 0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10, | ||
42 | 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, | ||
43 | 0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98, | ||
44 | 0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00, | ||
45 | 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, | ||
46 | 0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00, | ||
47 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f, | ||
48 | 0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07, | ||
49 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18, | ||
50 | 0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f, | ||
51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10, | ||
52 | 0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e, | ||
53 | 0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, | ||
54 | 0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18, | ||
55 | 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30, | ||
56 | 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18, | ||
58 | 0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0, | ||
59 | 0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, | ||
60 | 0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, | ||
61 | 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, | ||
62 | 0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82, | ||
63 | 0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0, | ||
64 | 0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, | ||
65 | 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc, | ||
66 | 0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70, | ||
67 | 0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00, | ||
68 | 0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00 | ||
69 | }; | ||
70 | |||
71 | oled_write_raw_P(my_logo, sizeof(my_logo)); | ||
72 | } | ||
73 | |||
74 | bool oled_task_user(void) { | ||
75 | render_RIP(); | ||
76 | return false; | ||
77 | } | ||
78 | |||
79 | #endif | ||
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk new file mode 100644 index 000000000..d34d066de --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | OLED_ENABLE = yes | ||
2 | OLED_DRIVER = SSD1306 | ||
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c new file mode 100644 index 000000000..f8cac5087 --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* Copyright 2020 boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | }; | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | /* Base */ | ||
25 | [_BASE] = LAYOUT_ortho_2x3( | ||
26 | RGB_TOG, KC_1, KC_2, | ||
27 | RGB_MOD, KC_3,KC_4 | ||
28 | ), | ||
29 | }; | ||
30 | #ifdef OLED_ENABLE | ||
31 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
32 | return OLED_ROTATION_180; | ||
33 | } | ||
34 | |||
35 | static void render_RIP(void) { | ||
36 | static const char PROGMEM my_logo[] = { | ||
37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04, | ||
39 | 0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00, | ||
40 | 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00, | ||
41 | 0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02, | ||
42 | 0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00, | ||
43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
46 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08, | ||
47 | 0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0, | ||
48 | 0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00, | ||
49 | 0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00, | ||
50 | 0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00, | ||
51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
52 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
53 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
54 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, | ||
55 | 0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00, | ||
56 | 0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0, | ||
57 | 0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c, | ||
58 | 0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00, | ||
59 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
60 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
61 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
62 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | ||
63 | 0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00, | ||
64 | 0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03, | ||
65 | 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c, | ||
66 | 0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00, | ||
67 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
68 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
69 | }; | ||
70 | |||
71 | oled_write_raw_P(my_logo, sizeof(my_logo)); | ||
72 | } | ||
73 | |||
74 | bool oled_task_user(void) { | ||
75 | render_RIP(); | ||
76 | return false; | ||
77 | } | ||
78 | |||
79 | #endif | ||
diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk new file mode 100644 index 000000000..d34d066de --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | OLED_ENABLE = yes | ||
2 | OLED_DRIVER = SSD1306 | ||
diff --git a/keyboards/boardsource/holiday/spooky/readme.md b/keyboards/boardsource/holiday/spooky/readme.md new file mode 100644 index 000000000..a4b16595a --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/readme.md | |||
@@ -0,0 +1,15 @@ | |||
1 | # spooky | ||
2 | |||
3 |  | ||
4 | |||
5 | this is a limited edition macro pad for the spookiest time of year | ||
6 | |||
7 | * Keyboard Maintainer: [boardsource](https://github.com/boardsource) | ||
8 | * Hardware Supported: spooky v1 PCB | ||
9 | * Hardware Availability: [From Boardsource store around halloween time](https://boardsource.xyz/store/5f783f6da2c1b43e37ca0795) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/holiday/spooky:default | ||
14 | |||
15 | See 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). | ||
diff --git a/keyboards/boardsource/holiday/spooky/rules.mk b/keyboards/boardsource/holiday/spooky/rules.mk new file mode 100644 index 000000000..ce35761cc --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/rules.mk | |||
@@ -0,0 +1,20 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | |||
20 | LAYOUTS = ortho_2x3 | ||
diff --git a/keyboards/boardsource/holiday/spooky/spooky.c b/keyboards/boardsource/holiday/spooky/spooky.c new file mode 100644 index 000000000..87fe02c1a --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/spooky.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Copyright 2020 boardsource | ||
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 "spooky.h" | ||
diff --git a/keyboards/boardsource/holiday/spooky/spooky.h b/keyboards/boardsource/holiday/spooky/spooky.h new file mode 100644 index 000000000..42127b8f4 --- /dev/null +++ b/keyboards/boardsource/holiday/spooky/spooky.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* Copyright 2020 boardsource | ||
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 | /* This is a shortcut to help you visually see your layout. | ||
22 | * | ||
23 | * The first section contains all of the arguments representing the physical | ||
24 | * layout of the board and position of the keys. | ||
25 | * | ||
26 | * The second converts the arguments into a two-dimensional array which | ||
27 | * represents the switch matrix. | ||
28 | */ | ||
29 | #define LAYOUT_ortho_2x3( \ | ||
30 | k00, k01, k02, \ | ||
31 | k10, k11, k12 \ | ||
32 | ) { \ | ||
33 | { k00, k01, k02 }, \ | ||
34 | { k10, k11, k12 } \ | ||
35 | } | ||
diff --git a/keyboards/boardsource/microdox/.noci b/keyboards/boardsource/microdox/.noci new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/keyboards/boardsource/microdox/.noci | |||
diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h new file mode 100644 index 000000000..65af0f16d --- /dev/null +++ b/keyboards/boardsource/microdox/config.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | Copyright 2020 Cole Smith <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | #define VENDOR_ID 0xF7E0 | ||
23 | #define PRODUCT_ID 0x0412 | ||
24 | #define DEVICE_VER 0x0000 | ||
25 | #define MANUFACTURER Boardsource | ||
26 | #define PRODUCT microdox | ||
27 | |||
28 | /* key matrix size */ | ||
29 | // Rows are doubled-up | ||
30 | #define MATRIX_ROWS 8 | ||
31 | #define MATRIX_COLS 5 | ||
32 | #define MATRIX_ROW_PINS { B2, B6, B4, B5 } | ||
33 | |||
34 | // wiring of each half | ||
35 | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1 } | ||
36 | #define USE_SERIAL | ||
37 | #define SOFT_SERIAL_PIN D2 | ||
38 | /* define if matrix has ghost */ | ||
39 | //#define MATRIX_HAS_GHOST | ||
40 | |||
41 | /* number of backlight levels */ | ||
42 | // #define BACKLIGHT_LEVELS 3 | ||
43 | |||
44 | /* Set 0 if debouncing isn't needed */ | ||
45 | #define DEBOUNCE 5 | ||
46 | |||
47 | /* COL2ROW, ROW2COL*/ | ||
48 | #define DIODE_DIRECTION COL2ROW | ||
49 | |||
50 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
51 | //#define LOCKING_SUPPORT_ENABLE | ||
52 | /* Locking resynchronize hack */ | ||
53 | //#define LOCKING_RESYNC_ENABLE | ||
54 | |||
55 | /* ws2812 RGB LED */ | ||
56 | #define RGBLIGHT_ANIMATIONS | ||
57 | #define RGB_DI_PIN D3 | ||
58 | #define RGBLED_SPLIT { 6, 6 } | ||
59 | #define EE_HANDS | ||
60 | #ifdef RGBLIGHT_ENABLE | ||
61 | #define RGBLED_NUM 12 // Number of LEDs | ||
62 | #endif | ||
63 | |||
64 | /* | ||
65 | * Feature disable options | ||
66 | * These options are also useful to firmware size reduction. | ||
67 | */ | ||
68 | |||
69 | /* disable debug print */ | ||
70 | // #define NO_DEBUG | ||
71 | |||
72 | /* disable print */ | ||
73 | // #define NO_PRINT | ||
74 | |||
75 | /* disable action features */ | ||
76 | //#define NO_ACTION_LAYER | ||
77 | //#define NO_ACTION_TAPPING | ||
78 | //#define NO_ACTION_ONESHOT | ||
79 | //#define NO_ACTION_MACRO | ||
80 | //#define NO_ACTION_FUNCTION \ No newline at end of file | ||
diff --git a/keyboards/boardsource/microdox/info.json b/keyboards/boardsource/microdox/info.json new file mode 100644 index 000000000..325505600 --- /dev/null +++ b/keyboards/boardsource/microdox/info.json | |||
@@ -0,0 +1,54 @@ | |||
1 | { | ||
2 | "keyboard_name": "microdox", | ||
3 | "url": "https://boardsource.xyz/store/5f2e7e4a2902de7151494f92", | ||
4 | "maintainer": "boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_split_3x5_3": { | ||
7 | "layout": [ | ||
8 | { "label": "Q", "x": 0, "y": 0.3 }, | ||
9 | { "label": "W", "x": 1, "y": 0.1 }, | ||
10 | { "label": "E", "x": 2, "y": 0 }, | ||
11 | { "label": "R", "x": 3, "y": 0.1 }, | ||
12 | { "label": "T", "x": 4, "y": 0.2 }, | ||
13 | |||
14 | { "label": "Y", "x": 8, "y": 0.2 }, | ||
15 | { "label": "U", "x": 9, "y": 0.1 }, | ||
16 | { "label": "I", "x": 10, "y": 0 }, | ||
17 | { "label": "O", "x": 11, "y": 0.1 }, | ||
18 | { "label": "P", "x": 12, "y": 0.3 }, | ||
19 | |||
20 | { "label": "A", "x": 0, "y": 1.3 }, | ||
21 | { "label": "S", "x": 1, "y": 1.1 }, | ||
22 | { "label": "D", "x": 2, "y": 1 }, | ||
23 | { "label": "F", "x": 3, "y": 1.1 }, | ||
24 | { "label": "G", "x": 4, "y": 1.2 }, | ||
25 | |||
26 | { "label": "H", "x": 8, "y": 1.2 }, | ||
27 | { "label": "J", "x": 9, "y": 1.1 }, | ||
28 | { "label": "K", "x": 10, "y": 1 }, | ||
29 | { "label": "L", "x": 11, "y": 1.1 }, | ||
30 | { "label": ";", "x": 12, "y": 1.3 }, | ||
31 | |||
32 | { "label": "Z", "x": 0, "y": 2.3 }, | ||
33 | { "label": "X", "x": 1, "y": 2.1 }, | ||
34 | { "label": "C", "x": 2, "y": 2 }, | ||
35 | { "label": "V", "x": 3, "y": 2.1 }, | ||
36 | { "label": "B", "x": 4, "y": 2.2 }, | ||
37 | |||
38 | { "label": "N", "x": 8, "y": 2.2 }, | ||
39 | { "label": "M", "x": 9, "y": 2.1 }, | ||
40 | { "label": ",", "x": 10, "y": 2 }, | ||
41 | { "label": ".", "x": 11, "y": 2.1 }, | ||
42 | { "label": "/", "x": 12, "y": 2.3 }, | ||
43 | |||
44 | { "label": "GUI / KC_HANJ", "x": 3, "y": 3.7 }, | ||
45 | { "label": "Lower", "x": 4, "y": 3.7 }, | ||
46 | { "label": "Space", "x": 5, "y": 3.2 }, | ||
47 | |||
48 | { "label": "Enter", "x": 7, "y": 3.2 }, | ||
49 | { "label": "Raise", "x": 8, "y": 3.7 }, | ||
50 | { "label": "Alt / KC_HAEN", "x": 9, "y": 3.7 } | ||
51 | ] | ||
52 | } | ||
53 | } | ||
54 | } | ||
diff --git a/keyboards/boardsource/microdox/keymaps/cole/keymap.c b/keyboards/boardsource/microdox/keymaps/cole/keymap.c new file mode 100644 index 000000000..8ff570747 --- /dev/null +++ b/keyboards/boardsource/microdox/keymaps/cole/keymap.c | |||
@@ -0,0 +1,117 @@ | |||
1 | /* | ||
2 | Copyright 2020 Cole Smith <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | #include "split_util.h" | ||
20 | |||
21 | enum layers { | ||
22 | _QWERTY, | ||
23 | _RAISE, | ||
24 | _LOWER, | ||
25 | _ADJUST | ||
26 | }; | ||
27 | |||
28 | #define KC_CTSC RCTL_T(KC_SCLN) | ||
29 | #define LOWER_SPC LT(_LOWER, KC_SPC) | ||
30 | #define RASE_BACK LT(_RAISE, KC_BSPC) | ||
31 | #define SHFT_Z MT(MOD_LSFT, KC_Z) | ||
32 | #define SHIFT_SLASH MT(MOD_RSFT,KC_SLSH) | ||
33 | #define RASE_ENT LT(_RAISE, KC_ENT) | ||
34 | #define CTRL_A MT(MOD_LCTL,KC_A) | ||
35 | #define PREVWINDOW MT(MOD_LCTL, KC_LEFT) | ||
36 | #define NEXTWINDOW MT(MOD_LCTL, KC_RGHT) | ||
37 | |||
38 | |||
39 | |||
40 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
41 | [_QWERTY] = LAYOUT_split_3x5_3( | ||
42 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
43 | CTRL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTSC, | ||
44 | SHFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SHIFT_SLASH, | ||
45 | MO(_LOWER),KC_LGUI, RASE_ENT, RASE_BACK, LOWER_SPC, KC_TAB | ||
46 | ), | ||
47 | [_RAISE] = LAYOUT_split_3x5_3( | ||
48 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
49 | KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, | ||
50 | KC_LSFT, KC_GRV, PREVWINDOW, NEXTWINDOW, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
51 | _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ | ||
52 | ), | ||
53 | [_LOWER] = LAYOUT_split_3x5_3( | ||
54 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, | ||
55 | KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DQT, | ||
56 | KC_ESC, KC_TILD, PREVWINDOW, NEXTWINDOW, RGB_MODE_FORWARD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
57 | _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ | ||
58 | ) | ||
59 | }; | ||
60 | |||
61 | #ifdef OLED_ENABLE | ||
62 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
63 | if (is_keyboard_master()) | ||
64 | return OLED_ROTATION_180; | ||
65 | return rotation; | ||
66 | } | ||
67 | |||
68 | static void render_logo(void) { | ||
69 | static const char PROGMEM qmk_logo[] = { | ||
70 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
71 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
72 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, | ||
73 | 0 | ||
74 | }; | ||
75 | oled_write_P(qmk_logo, false); | ||
76 | } | ||
77 | |||
78 | static void render_status(void) { | ||
79 | switch (get_highest_layer(layer_state)) { | ||
80 | case _QWERTY: | ||
81 | oled_write_P(PSTR("B R L A O\n"), false); | ||
82 | oled_write_P(PSTR("^\n"), false); | ||
83 | oled_write_P(PSTR("Layer: Base\n"), false); | ||
84 | break; | ||
85 | case _RAISE: | ||
86 | oled_write_P(PSTR("B R L A O\n"), false); | ||
87 | oled_write_P(PSTR(" ^\n"), false); | ||
88 | oled_write_P(PSTR("Layer: Raise\n"), false); | ||
89 | break; | ||
90 | case _LOWER: | ||
91 | oled_write_P(PSTR("B R L A O\n"), false); | ||
92 | oled_write_P(PSTR(" ^\n"), false); | ||
93 | oled_write_P(PSTR("Layer: Lower\n"), false); | ||
94 | break; | ||
95 | case _ADJUST: | ||
96 | oled_write_P(PSTR("B R L A O\n"), false); | ||
97 | oled_write_P(PSTR(" ^\n"), false); | ||
98 | oled_write_P(PSTR("Layer: Adjust\n"), false); | ||
99 | break; | ||
100 | default: | ||
101 | oled_write_P(PSTR("B R L A O"), false); | ||
102 | oled_write_P(PSTR(" ^\n"), false); | ||
103 | oled_write_P(PSTR("Layer: Other\n"), false); | ||
104 | } | ||
105 | } | ||
106 | |||
107 | bool oled_task_user(void) { | ||
108 | if (is_keyboard_master()) { | ||
109 | render_status(); | ||
110 | } else { | ||
111 | render_logo(); | ||
112 | oled_scroll_left(); | ||
113 | } | ||
114 | return false; | ||
115 | } | ||
116 | |||
117 | #endif | ||
diff --git a/keyboards/boardsource/microdox/keymaps/cole/rules.mk b/keyboards/boardsource/microdox/keymaps/cole/rules.mk new file mode 100644 index 000000000..d34d066de --- /dev/null +++ b/keyboards/boardsource/microdox/keymaps/cole/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | OLED_ENABLE = yes | ||
2 | OLED_DRIVER = SSD1306 | ||
diff --git a/keyboards/boardsource/microdox/keymaps/default/keymap.c b/keyboards/boardsource/microdox/keymaps/default/keymap.c new file mode 100644 index 000000000..06322be0b --- /dev/null +++ b/keyboards/boardsource/microdox/keymaps/default/keymap.c | |||
@@ -0,0 +1,50 @@ | |||
1 | /* | ||
2 | Copyright 2020 Cole Smith <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | enum layers { | ||
21 | _QWERTY, | ||
22 | _RAISE, | ||
23 | _LOWER, | ||
24 | }; | ||
25 | |||
26 | #define RAISE MO(_RAISE) | ||
27 | #define LOWER MO(_LOWER) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | [_QWERTY] = LAYOUT_split_3x5_3( | ||
31 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
32 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, | ||
33 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, | ||
34 | KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, KC_ENT | ||
35 | ), | ||
36 | |||
37 | [_RAISE] = LAYOUT_split_3x5_3( | ||
38 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
39 | KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, | ||
40 | KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_QUOT, | ||
41 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
42 | ), | ||
43 | |||
44 | [_LOWER] = LAYOUT_split_3x5_3( | ||
45 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, | ||
46 | KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, | ||
47 | KC_CAPS, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE, KC_DQT, | ||
48 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, XXXXXXX, KC_DEL | ||
49 | ) | ||
50 | }; | ||
diff --git a/keyboards/boardsource/microdox/keymaps/via/keymap.c b/keyboards/boardsource/microdox/keymaps/via/keymap.c new file mode 100644 index 000000000..e02fb0b6e --- /dev/null +++ b/keyboards/boardsource/microdox/keymaps/via/keymap.c | |||
@@ -0,0 +1,105 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jack Sangdahl <@toastedmangoes> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
21 | [0] = LAYOUT_split_3x5_3( | ||
22 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
23 | SFT_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_T(KC_SCLN), | ||
24 | CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), | ||
25 | LT(3, KC_LGUI), MO(1), KC_SPC, KC_BSPC, MO(2), KC_ENT | ||
26 | ), | ||
27 | |||
28 | [1] = LAYOUT_split_3x5_3( | ||
29 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
30 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, | ||
31 | KC_ESC, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_QUOT, KC_DQUO, KC_MPRV, KC_MPLY, KC_MNXT, | ||
32 | KC_LGUI, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_RALT | ||
33 | ), | ||
34 | |||
35 | [2] = LAYOUT_split_3x5_3( | ||
36 | KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PSCR, KC_DEL, KC_INS, KC_HOME, KC_END, | ||
37 | KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_UP, KC_VOLU, | ||
38 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_VOLD, | ||
39 | KC_PGDN, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_PGUP | ||
40 | ), | ||
41 | [3] = LAYOUT_split_3x5_3( | ||
42 | RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX, | ||
43 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, | ||
44 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX, | ||
45 | KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
46 | ) | ||
47 | }; | ||
48 | |||
49 | #ifdef OLED_ENABLE | ||
50 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
51 | if (is_keyboard_master()) | ||
52 | return OLED_ROTATION_180; | ||
53 | return rotation; | ||
54 | } | ||
55 | |||
56 | static void render_logo(void) { | ||
57 | static const char PROGMEM qmk_logo[] = { | ||
58 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
59 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
60 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, | ||
61 | 0 | ||
62 | }; | ||
63 | oled_write_P(qmk_logo, false); | ||
64 | } | ||
65 | |||
66 | static void render_status(void) { | ||
67 | switch (get_highest_layer(layer_state)) { | ||
68 | case 0: | ||
69 | oled_write_P(PSTR("B R L A O\n"), false); | ||
70 | oled_write_P(PSTR("^\n"), false); | ||
71 | oled_write_P(PSTR("Layer: Base\n"), false); | ||
72 | break; | ||
73 | case 1: | ||
74 | oled_write_P(PSTR("B R L A O\n"), false); | ||
75 | oled_write_P(PSTR(" ^\n"), false); | ||
76 | oled_write_P(PSTR("Layer: Raise\n"), false); | ||
77 | break; | ||
78 | case 2: | ||
79 | oled_write_P(PSTR("B R L A O\n"), false); | ||
80 | oled_write_P(PSTR(" ^\n"), false); | ||
81 | oled_write_P(PSTR("Layer: Lower\n"), false); | ||
82 | break; | ||
83 | case 3: | ||
84 | oled_write_P(PSTR("B R L A O\n"), false); | ||
85 | oled_write_P(PSTR(" ^\n"), false); | ||
86 | oled_write_P(PSTR("Layer: Adjust\n"), false); | ||
87 | break; | ||
88 | default: | ||
89 | oled_write_P(PSTR("B R L A O"), false); | ||
90 | oled_write_P(PSTR(" ^\n"), false); | ||
91 | oled_write_P(PSTR("Layer: Other\n"), false); | ||
92 | } | ||
93 | } | ||
94 | |||
95 | bool oled_task_user(void) { | ||
96 | if (is_keyboard_master()) { | ||
97 | render_status(); | ||
98 | } else { | ||
99 | render_logo(); | ||
100 | oled_scroll_left(); | ||
101 | } | ||
102 | return false; | ||
103 | } | ||
104 | |||
105 | #endif | ||
diff --git a/keyboards/boardsource/microdox/keymaps/via/rules.mk b/keyboards/boardsource/microdox/keymaps/via/rules.mk new file mode 100644 index 000000000..c84c1f417 --- /dev/null +++ b/keyboards/boardsource/microdox/keymaps/via/rules.mk | |||
@@ -0,0 +1,6 @@ | |||
1 | OLED_ENABLE = yes | ||
2 | OLED_DRIVER = SSD1306 | ||
3 | VIA_ENABLE = yes | ||
4 | EXTRAKEY_ENABLE = yes | ||
5 | RGBLIGHT_ENABLE = yes | ||
6 | LTO_ENABLE = yes | ||
diff --git a/keyboards/boardsource/microdox/microdox.c b/keyboards/boardsource/microdox/microdox.c new file mode 100644 index 000000000..eef981297 --- /dev/null +++ b/keyboards/boardsource/microdox/microdox.c | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | Copyright 2020 Cole Smith <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include "microdox.h" | ||
19 | |||
diff --git a/keyboards/boardsource/microdox/microdox.h b/keyboards/boardsource/microdox/microdox.h new file mode 100644 index 000000000..950d46d99 --- /dev/null +++ b/keyboards/boardsource/microdox/microdox.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | Copyright 2020 Cole Smith <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "quantum.h" | ||
21 | |||
22 | #define LAYOUT_split_3x5_3(\ | ||
23 | k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, \ | ||
24 | k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, \ | ||
25 | k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, \ | ||
26 | k33, k34, k35, k75, k74, k73 \ | ||
27 | ) \ | ||
28 | { \ | ||
29 | { k01, k02, k03, k04, k05 }, \ | ||
30 | { k11, k12, k13, k14, k15 }, \ | ||
31 | { k21, k22, k23, k24, k25 }, \ | ||
32 | { KC_NO,KC_NO, k33, k34, k35 }, \ | ||
33 | { k41, k42, k43, k44, k45 }, \ | ||
34 | { k51, k52, k53, k54, k55 }, \ | ||
35 | { k61, k62, k63, k64, k65 }, \ | ||
36 | { KC_NO, KC_NO, k73, k74, k75 } \ | ||
37 | } | ||
diff --git a/keyboards/boardsource/microdox/readme.md b/keyboards/boardsource/microdox/readme.md new file mode 100644 index 000000000..7b5428367 --- /dev/null +++ b/keyboards/boardsource/microdox/readme.md | |||
@@ -0,0 +1,13 @@ | |||
1 | # Microdox | ||
2 | |||
3 |  | ||
4 | |||
5 | * Keyboard Maintainer: [Boardsource](https://github.com/daysgobye) | ||
6 | * Hardware Supported: microdox v1 | ||
7 | * Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/5f2e7e4a2902de7151494f92) | ||
8 | |||
9 | Make example for this keyboard (after setting up your build environment): | ||
10 | |||
11 | make boardsource/microdox:default | ||
12 | |||
13 | See 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). | ||
diff --git a/keyboards/boardsource/microdox/rules.mk b/keyboards/boardsource/microdox/rules.mk new file mode 100644 index 000000000..52f90150e --- /dev/null +++ b/keyboards/boardsource/microdox/rules.mk | |||
@@ -0,0 +1,21 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
12 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | SPLIT_KEYBOARD = yes | ||
20 | |||
21 | LAYOUTS = split_3x5_3 | ||
diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h new file mode 100644 index 000000000..51c9529da --- /dev/null +++ b/keyboards/boardsource/technik_o/config.h | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | Copyright 2020 Boardsource | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x4273 | ||
24 | #define PRODUCT_ID 0x0079 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER Boardsource | ||
27 | #define PRODUCT Technik-O | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 4 | ||
31 | #define MATRIX_COLS 12 | ||
32 | |||
33 | /* | ||
34 | * Keyboard Matrix Assignments | ||
35 | * | ||
36 | * Change this to how you wired your keyboard | ||
37 | * COLS: AVR pins used for columns, left to right | ||
38 | * ROWS: AVR pins used for rows, top to bottom | ||
39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
41 | * | ||
42 | */ | ||
43 | #define MATRIX_ROW_PINS {B0, B1, B2, B3} | ||
44 | #define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6} | ||
45 | #define UNUSED_PINS | ||
46 | |||
47 | /* COL2ROW, ROW2COL */ | ||
48 | #define DIODE_DIRECTION COL2ROW | ||
49 | |||
50 | //#define BACKLIGHT_PIN B7 | ||
51 | //#define BACKLIGHT_LEVELS 3 | ||
52 | #define BACKLIGHT_BREATHING | ||
53 | #define RGBLIGHT_ANIMATIONS | ||
54 | #define RGB_DI_PIN C6 | ||
55 | #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 | ||
56 | // RGB Matrix Animation modes. Explicitly enabled | ||
57 | // For full list of effects, see: | ||
58 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
59 | #define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
60 | #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
61 | #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
62 | #define ENABLE_RGB_MATRIX_BREATHING | ||
63 | #define ENABLE_RGB_MATRIX_BAND_SAT | ||
64 | #define ENABLE_RGB_MATRIX_BAND_VAL | ||
65 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
66 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
67 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
68 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
69 | #define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
70 | #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
71 | #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
72 | #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
73 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
74 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
75 | #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
76 | #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
77 | #define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
78 | #define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
79 | #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
80 | #define ENABLE_RGB_MATRIX_RAINDROPS | ||
81 | #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
82 | #define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
83 | #define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
84 | #define ENABLE_RGB_MATRIX_HUE_WAVE | ||
85 | #define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
86 | #define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
87 | #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
88 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
89 | #define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
90 | #define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
91 | // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
92 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
93 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
94 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
95 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
96 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
97 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
98 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
99 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
100 | #define ENABLE_RGB_MATRIX_SPLASH | ||
101 | #define ENABLE_RGB_MATRIX_MULTISPLASH | ||
102 | #define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
103 | #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
104 | #ifdef RGBLIGHT_ENABLE | ||
105 | # define RGBLED_NUM 10 // Number of LEDs | ||
106 | #endif | ||
107 | |||
108 | #define DRIVER_LED_TOTAL 58 | ||
109 | |||
110 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
111 | #define DEBOUNCE 5 | ||
112 | |||
113 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
114 | //#define MATRIX_HAS_GHOST | ||
115 | |||
116 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
117 | //#define LOCKING_SUPPORT_ENABLE | ||
118 | /* Locking resynchronize hack */ | ||
119 | //#define LOCKING_RESYNC_ENABLE | ||
120 | |||
121 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
122 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
123 | */ | ||
124 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
125 | |||
126 | /* | ||
127 | * Force NKRO | ||
128 | * | ||
129 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
130 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
131 | * makefile for this to work.) | ||
132 | * | ||
133 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
134 | * until the next keyboard reset. | ||
135 | * | ||
136 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
137 | * fully operational during normal computer usage. | ||
138 | * | ||
139 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
140 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
141 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
142 | * power-up. | ||
143 | * | ||
144 | */ | ||
145 | //#define FORCE_NKRO | ||
146 | |||
147 | /* | ||
148 | * Feature disable options | ||
149 | * These options are also useful to firmware size reduction. | ||
150 | */ | ||
151 | |||
152 | /* disable debug print */ | ||
153 | //#define NO_DEBUG | ||
154 | |||
155 | /* disable print */ | ||
156 | //#define NO_PRINT | ||
157 | |||
158 | /* disable action features */ | ||
159 | //#define NO_ACTION_LAYER | ||
160 | //#define NO_ACTION_TAPPING | ||
161 | //#define NO_ACTION_ONESHOT | ||
162 | |||
163 | /* disable these deprecated features by default */ | ||
164 | #define NO_ACTION_MACRO | ||
165 | #define NO_ACTION_FUNCTION | ||
166 | |||
167 | /* Bootmagic Lite key configuration */ | ||
168 | //#define BOOTMAGIC_LITE_ROW 0 | ||
169 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json new file mode 100644 index 000000000..0aa780ca7 --- /dev/null +++ b/keyboards/boardsource/technik_o/info.json | |||
@@ -0,0 +1,62 @@ | |||
1 | { | ||
2 | "keyboard_name": "Technik-O", | ||
3 | "url": "https://boardsource.xyz", | ||
4 | "maintainer": "Boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_ortho_4x12": { | ||
7 | "layout": [ | ||
8 | { "label": "K01", "x": 0, "y": 0 }, | ||
9 | { "label": "K02", "x": 1, "y": 0 }, | ||
10 | { "label": "K03", "x": 2, "y": 0 }, | ||
11 | { "label": "K04", "x": 3, "y": 0 }, | ||
12 | { "label": "K05", "x": 4, "y": 0 }, | ||
13 | { "label": "K06", "x": 5, "y": 0 }, | ||
14 | { "label": "K07", "x": 6, "y": 0 }, | ||
15 | { "label": "K08", "x": 7, "y": 0 }, | ||
16 | { "label": "K09", "x": 8, "y": 0 }, | ||
17 | { "label": "K010", "x": 9, "y": 0 }, | ||
18 | { "label": "K011", "x": 10, "y": 0 }, | ||
19 | { "label": "K012", "x": 11, "y": 0 }, | ||
20 | |||
21 | { "label": "K11", "x": 0, "y": 1 }, | ||
22 | { "label": "K12", "x": 1, "y": 1 }, | ||
23 | { "label": "K13", "x": 2, "y": 1 }, | ||
24 | { "label": "K14", "x": 3, "y": 1 }, | ||
25 | { "label": "K15", "x": 4, "y": 1 }, | ||
26 | { "label": "K16", "x": 5, "y": 1 }, | ||
27 | { "label": "K17", "x": 6, "y": 1 }, | ||
28 | { "label": "K18", "x": 7, "y": 1 }, | ||
29 | { "label": "K19", "x": 8, "y": 1 }, | ||
30 | { "label": "K110", "x": 9, "y": 1 }, | ||
31 | { "label": "K111", "x": 10, "y": 1 }, | ||
32 | { "label": "K112", "x": 11, "y": 1 }, | ||
33 | |||
34 | { "label": "K21", "x": 0, "y": 2 }, | ||
35 | { "label": "K22", "x": 1, "y": 2 }, | ||
36 | { "label": "K23", "x": 2, "y": 2 }, | ||
37 | { "label": "K24", "x": 3, "y": 2 }, | ||
38 | { "label": "K25", "x": 4, "y": 2 }, | ||
39 | { "label": "K26", "x": 5, "y": 2 }, | ||
40 | { "label": "K27", "x": 6, "y": 2 }, | ||
41 | { "label": "K28", "x": 7, "y": 2 }, | ||
42 | { "label": "K29", "x": 8, "y": 2 }, | ||
43 | { "label": "K210", "x": 9, "y": 2 }, | ||
44 | { "label": "K211", "x": 10, "y": 2 }, | ||
45 | { "label": "K212", "x": 11, "y": 2 }, | ||
46 | |||
47 | { "label": "K31", "x": 0, "y": 3 }, | ||
48 | { "label": "K32", "x": 1, "y": 3 }, | ||
49 | { "label": "K33", "x": 2, "y": 3 }, | ||
50 | { "label": "K34", "x": 3, "y": 3 }, | ||
51 | { "label": "K35", "x": 4, "y": 3 }, | ||
52 | { "label": "K36", "x": 5, "y": 3 }, | ||
53 | { "label": "K37", "x": 6, "y": 3 }, | ||
54 | { "label": "K38", "x": 7, "y": 3 }, | ||
55 | { "label": "K39", "x": 8, "y": 3 }, | ||
56 | { "label": "K310", "x": 9, "y": 3 }, | ||
57 | { "label": "K311", "x": 10, "y": 3 }, | ||
58 | { "label": "K312", "x": 11, "y": 3 } | ||
59 | ] | ||
60 | } | ||
61 | } | ||
62 | } | ||
diff --git a/keyboards/boardsource/technik_o/keymaps/default/keymap.c b/keyboards/boardsource/technik_o/keymaps/default/keymap.c new file mode 100644 index 000000000..44e2b86ac --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/default/keymap.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT_ortho_4x12( | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
33 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
35 | RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT_ortho_4x12( | ||
39 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
40 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
41 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
42 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
43 | ), | ||
44 | |||
45 | [_LOWER] = LAYOUT_ortho_4x12( | ||
46 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
47 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
48 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
49 | RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
50 | ) | ||
51 | |||
52 | }; | ||
53 | |||
diff --git a/keyboards/boardsource/technik_o/keymaps/default/readme.md b/keyboards/boardsource/technik_o/keymaps/default/readme.md new file mode 100644 index 000000000..e9427401d --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/default/readme.md | |||
@@ -0,0 +1 @@ | |||
# The default keymap for Technik-O | |||
diff --git a/keyboards/boardsource/technik_o/keymaps/via/keymap.c b/keyboards/boardsource/technik_o/keymaps/via/keymap.c new file mode 100644 index 000000000..44e2b86ac --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/via/keymap.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT_ortho_4x12( | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
33 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
35 | RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT_ortho_4x12( | ||
39 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
40 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
41 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
42 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
43 | ), | ||
44 | |||
45 | [_LOWER] = LAYOUT_ortho_4x12( | ||
46 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
47 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
48 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
49 | RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
50 | ) | ||
51 | |||
52 | }; | ||
53 | |||
diff --git a/keyboards/boardsource/technik_o/keymaps/via/readme.md b/keyboards/boardsource/technik_o/keymaps/via/readme.md new file mode 100644 index 000000000..6ae03a917 --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/via/readme.md | |||
@@ -0,0 +1 @@ | |||
# The via keymap for Technik-O | |||
diff --git a/keyboards/boardsource/technik_o/keymaps/via/rules.mk b/keyboards/boardsource/technik_o/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes | |||
diff --git a/keyboards/boardsource/technik_o/readme.md b/keyboards/boardsource/technik_o/readme.md new file mode 100644 index 000000000..90c3588f9 --- /dev/null +++ b/keyboards/boardsource/technik_o/readme.md | |||
@@ -0,0 +1,21 @@ | |||
1 | # Technik-O | ||
2 | |||
3 |  | ||
4 | |||
5 | The Technik is a low profile keyboard offered in two layout options. This one is the 4x12 ortho option. This keyboard offers per key and under glow lighting as well as hotswap. | ||
6 | |||
7 | * Keyboard Maintainer: [Boardsource](https://github.com/boardsource) | ||
8 | * Hardware Supported: V1 pcb | ||
9 | * Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/technik_o:default | ||
14 | |||
15 | Flashing example for this keyboard: | ||
16 | |||
17 | make boardsource/technik_o:default:flash | ||
18 | |||
19 | Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. | ||
20 | |||
21 | See 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). | ||
diff --git a/keyboards/boardsource/technik_o/rules.mk b/keyboards/boardsource/technik_o/rules.mk new file mode 100644 index 000000000..c1a93c1f3 --- /dev/null +++ b/keyboards/boardsource/technik_o/rules.mk | |||
@@ -0,0 +1,21 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | RGB_MATRIX_ENABLE = yes | ||
20 | RGB_MATRIX_DRIVER = WS2812 | ||
21 | LAYOUTS = ortho_4x12 | ||
diff --git a/keyboards/boardsource/technik_o/technik_o.c b/keyboards/boardsource/technik_o/technik_o.c new file mode 100644 index 000000000..1488d55f5 --- /dev/null +++ b/keyboards/boardsource/technik_o/technik_o.c | |||
@@ -0,0 +1,50 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
2 | * Copyright 2021 @filterpaper | ||
3 | * | ||
4 | * This program is free software: you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation, either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include "technik_o.h" | ||
19 | |||
20 | #ifdef RGB_MATRIX_ENABLE | ||
21 | led_config_t g_led_config = { { | ||
22 | { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}, | ||
23 | { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}, | ||
24 | { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}, | ||
25 | { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57} | ||
26 | }, { | ||
27 | {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56}, | ||
28 | { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, | ||
29 | { 0, 21}, { 20, 21}, { 40, 21}, { 61, 21}, { 81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21}, | ||
30 | { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, | ||
31 | { 0, 64}, { 20, 64}, { 40, 64}, { 61, 64}, { 81, 64}, {101, 64}, {122, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64} | ||
32 | }, { | ||
33 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
34 | 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
35 | 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
36 | 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
37 | 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1 | ||
38 | } }; | ||
39 | #endif | ||
40 | |||
41 | #ifdef SWAP_HANDS_ENABLE | ||
42 | __attribute__ ((weak)) | ||
43 | const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { | ||
44 | {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, | ||
45 | {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, | ||
46 | {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, | ||
47 | {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}} | ||
48 | }; | ||
49 | #endif | ||
50 | |||
diff --git a/keyboards/boardsource/technik_o/technik_o.h b/keyboards/boardsource/technik_o/technik_o.h new file mode 100644 index 000000000..e2af9f834 --- /dev/null +++ b/keyboards/boardsource/technik_o/technik_o.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | #define LAYOUT_ortho_4x12( \ | ||
21 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ | ||
22 | K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ | ||
23 | K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ | ||
24 | K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ | ||
25 | ) { \ | ||
26 | {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ | ||
27 | {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ | ||
28 | {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ | ||
29 | {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \ | ||
30 | } | ||
31 | |||
diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h new file mode 100644 index 000000000..7b5f297c9 --- /dev/null +++ b/keyboards/boardsource/technik_s/config.h | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | Copyright 2020 Boardsource | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x4273 | ||
24 | #define PRODUCT_ID 0x0083 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER Boardsource | ||
27 | #define PRODUCT Technik-S | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 4 | ||
31 | #define MATRIX_COLS 12 | ||
32 | |||
33 | /* | ||
34 | * Keyboard Matrix Assignments | ||
35 | * | ||
36 | * Change this to how you wired your keyboard | ||
37 | * COLS: AVR pins used for columns, left to right | ||
38 | * ROWS: AVR pins used for rows, top to bottom | ||
39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
41 | * | ||
42 | */ | ||
43 | #define MATRIX_ROW_PINS {B0, B1, B2, B3} | ||
44 | #define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6} | ||
45 | #define UNUSED_PINS | ||
46 | |||
47 | /* COL2ROW, ROW2COL */ | ||
48 | #define DIODE_DIRECTION COL2ROW | ||
49 | |||
50 | //#define BACKLIGHT_PIN B7 | ||
51 | //#define BACKLIGHT_LEVELS 3 | ||
52 | #define BACKLIGHT_BREATHING | ||
53 | #define RGBLIGHT_ANIMATIONS | ||
54 | #define RGB_DI_PIN C6 | ||
55 | #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 | ||
56 | // RGB Matrix Animation modes. Explicitly enabled | ||
57 | // For full list of effects, see: | ||
58 | // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects | ||
59 | #define ENABLE_RGB_MATRIX_ALPHAS_MODS | ||
60 | #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
61 | #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT | ||
62 | #define ENABLE_RGB_MATRIX_BREATHING | ||
63 | #define ENABLE_RGB_MATRIX_BAND_SAT | ||
64 | #define ENABLE_RGB_MATRIX_BAND_VAL | ||
65 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
66 | #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
67 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
68 | #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
69 | #define ENABLE_RGB_MATRIX_CYCLE_ALL | ||
70 | #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
71 | #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
72 | #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
73 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
74 | #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
75 | #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
76 | #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
77 | #define ENABLE_RGB_MATRIX_DUAL_BEACON | ||
78 | #define ENABLE_RGB_MATRIX_RAINBOW_BEACON | ||
79 | #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
80 | #define ENABLE_RGB_MATRIX_RAINDROPS | ||
81 | #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
82 | #define ENABLE_RGB_MATRIX_HUE_BREATHING | ||
83 | #define ENABLE_RGB_MATRIX_HUE_PENDULUM | ||
84 | #define ENABLE_RGB_MATRIX_HUE_WAVE | ||
85 | #define ENABLE_RGB_MATRIX_PIXEL_RAIN | ||
86 | #define ENABLE_RGB_MATRIX_PIXEL_FLOW | ||
87 | #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL | ||
88 | // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined | ||
89 | #define ENABLE_RGB_MATRIX_TYPING_HEATMAP | ||
90 | #define ENABLE_RGB_MATRIX_DIGITAL_RAIN | ||
91 | // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined | ||
92 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
93 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE | ||
94 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
95 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
96 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
97 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
98 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
99 | #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
100 | #define ENABLE_RGB_MATRIX_SPLASH | ||
101 | #define ENABLE_RGB_MATRIX_MULTISPLASH | ||
102 | #define ENABLE_RGB_MATRIX_SOLID_SPLASH | ||
103 | #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
104 | #ifdef RGBLIGHT_ENABLE | ||
105 | # define RGBLED_NUM 10 // Number of LEDs | ||
106 | #endif | ||
107 | |||
108 | #define DRIVER_LED_TOTAL 55 | ||
109 | |||
110 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
111 | #define DEBOUNCE 5 | ||
112 | |||
113 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
114 | //#define MATRIX_HAS_GHOST | ||
115 | |||
116 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
117 | //#define LOCKING_SUPPORT_ENABLE | ||
118 | /* Locking resynchronize hack */ | ||
119 | //#define LOCKING_RESYNC_ENABLE | ||
120 | |||
121 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
122 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
123 | */ | ||
124 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
125 | |||
126 | /* | ||
127 | * Force NKRO | ||
128 | * | ||
129 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
130 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
131 | * makefile for this to work.) | ||
132 | * | ||
133 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
134 | * until the next keyboard reset. | ||
135 | * | ||
136 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
137 | * fully operational during normal computer usage. | ||
138 | * | ||
139 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
140 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
141 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
142 | * power-up. | ||
143 | * | ||
144 | */ | ||
145 | //#define FORCE_NKRO | ||
146 | |||
147 | /* | ||
148 | * Feature disable options | ||
149 | * These options are also useful to firmware size reduction. | ||
150 | */ | ||
151 | |||
152 | /* disable debug print */ | ||
153 | //#define NO_DEBUG | ||
154 | |||
155 | /* disable print */ | ||
156 | //#define NO_PRINT | ||
157 | |||
158 | /* disable action features */ | ||
159 | //#define NO_ACTION_LAYER | ||
160 | //#define NO_ACTION_TAPPING | ||
161 | //#define NO_ACTION_ONESHOT | ||
162 | |||
163 | /* disable these deprecated features by default */ | ||
164 | #define NO_ACTION_MACRO | ||
165 | #define NO_ACTION_FUNCTION | ||
166 | |||
167 | /* Bootmagic Lite key configuration */ | ||
168 | //#define BOOTMAGIC_LITE_ROW 0 | ||
169 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json new file mode 100644 index 000000000..938501b61 --- /dev/null +++ b/keyboards/boardsource/technik_s/info.json | |||
@@ -0,0 +1,56 @@ | |||
1 | { | ||
2 | "keyboard_name": "Technik-S", | ||
3 | "url": "", | ||
4 | "maintainer": "Boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT": { | ||
7 | "layout": [ | ||
8 | { "label": "1", "x": 0, "y": 0 }, | ||
9 | { "label": "2", "x": 1, "y": 0 }, | ||
10 | { "label": "3", "x": 2, "y": 0 }, | ||
11 | { "label": "4", "x": 3, "y": 0 }, | ||
12 | { "label": "5", "x": 4, "y": 0 }, | ||
13 | { "label": "6", "x": 5, "y": 0 }, | ||
14 | { "label": "7", "x": 6, "y": 0 }, | ||
15 | { "label": "8", "x": 7, "y": 0 }, | ||
16 | { "label": "9", "x": 8, "y": 0 }, | ||
17 | { "label": "10", "x": 9, "y": 0 }, | ||
18 | { "label": "11", "x": 10, "y": 0 }, | ||
19 | { "label": "12", "x": 11, "y": 0 }, | ||
20 | { "label": "13", "x": 0, "y": 1, "w": 1.5 }, | ||
21 | { "label": "14", "x": 1.5, "y": 1 }, | ||
22 | { "label": "15", "x": 2.5, "y": 1 }, | ||
23 | { "label": "16", "x": 3.5, "y": 1 }, | ||
24 | { "label": "17", "x": 4.5, "y": 1 }, | ||
25 | { "label": "18", "x": 5.5, "y": 1 }, | ||
26 | { "label": "19", "x": 6.5, "y": 1 }, | ||
27 | { "label": "20", "x": 7.5, "y": 1 }, | ||
28 | { "label": "21", "x": 8.5, "y": 1 }, | ||
29 | { "label": "22", "x": 9.5, "y": 1 }, | ||
30 | { "label": "23", "x": 10.5, "y": 1, "w": 1.5 }, | ||
31 | { "label": "24", "x": 0, "y": 2 }, | ||
32 | { "label": "25", "x": 1, "y": 2 }, | ||
33 | { "label": "26", "x": 2, "y": 2 }, | ||
34 | { "label": "27", "x": 3, "y": 2 }, | ||
35 | { "label": "28", "x": 4, "y": 2 }, | ||
36 | { "label": "29", "x": 5, "y": 2 }, | ||
37 | { "label": "30", "x": 6, "y": 2 }, | ||
38 | { "label": "31", "x": 7, "y": 2 }, | ||
39 | { "label": "32", "x": 8, "y": 2 }, | ||
40 | { "label": "33", "x": 9, "y": 2 }, | ||
41 | { "label": "34", "x": 10, "y": 2 }, | ||
42 | { "label": "35", "x": 11, "y": 2 }, | ||
43 | { "label": "36", "x": 0, "y": 3 }, | ||
44 | { "label": "37", "x": 1, "y": 3 }, | ||
45 | { "label": "38", "x": 2, "y": 3 }, | ||
46 | { "label": "39", "x": 3, "y": 3, "w": 1.5 }, | ||
47 | { "label": "40", "x": 4.5, "y": 3, "w": 1.5 }, | ||
48 | { "label": "41", "x": 6, "y": 3, "w": 1.5 }, | ||
49 | { "label": "42", "x": 7.5, "y": 3, "w": 1.5 }, | ||
50 | { "label": "43", "x": 9, "y": 3 }, | ||
51 | { "label": "44", "x": 10, "y": 3 }, | ||
52 | { "label": "45", "x": 11, "y": 3 } | ||
53 | ] | ||
54 | } | ||
55 | } | ||
56 | } | ||
diff --git a/keyboards/boardsource/technik_s/keymaps/default/keymap.c b/keyboards/boardsource/technik_s/keymaps/default/keymap.c new file mode 100644 index 000000000..89dfaa4ac --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/default/keymap.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT( | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
33 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, | ||
34 | KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , | ||
35 | RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT( | ||
39 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
40 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, | ||
41 | RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
42 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD | ||
43 | ), | ||
44 | |||
45 | [_LOWER] = LAYOUT( | ||
46 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
47 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, | ||
48 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
49 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD | ||
50 | ) | ||
51 | |||
52 | }; | ||
53 | |||
diff --git a/keyboards/boardsource/technik_s/keymaps/default/readme.md b/keyboards/boardsource/technik_s/keymaps/default/readme.md new file mode 100644 index 000000000..0e6753504 --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/default/readme.md | |||
@@ -0,0 +1 @@ | |||
# The default keymap for Technik-S | |||
diff --git a/keyboards/boardsource/technik_s/keymaps/via/keymap.c b/keyboards/boardsource/technik_s/keymaps/via/keymap.c new file mode 100644 index 000000000..89dfaa4ac --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/via/keymap.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | enum layers { | ||
20 | _MAIN, | ||
21 | _RAISE, | ||
22 | _LOWER, | ||
23 | }; | ||
24 | |||
25 | // Readability keycodes | ||
26 | #define LOWER MO(_LOWER) | ||
27 | #define RAISE MO(_RAISE) | ||
28 | |||
29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
30 | |||
31 | [_MAIN] = LAYOUT( | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
33 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, | ||
34 | KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , | ||
35 | RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT | ||
36 | ), | ||
37 | |||
38 | [_RAISE] = LAYOUT( | ||
39 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
40 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, | ||
41 | RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
42 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD | ||
43 | ), | ||
44 | |||
45 | [_LOWER] = LAYOUT( | ||
46 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
47 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, | ||
48 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
49 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD | ||
50 | ) | ||
51 | |||
52 | }; | ||
53 | |||
diff --git a/keyboards/boardsource/technik_s/keymaps/via/readme.md b/keyboards/boardsource/technik_s/keymaps/via/readme.md new file mode 100644 index 000000000..54e975a5a --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/via/readme.md | |||
@@ -0,0 +1 @@ | |||
# The via keymap for Technik-S | |||
diff --git a/keyboards/boardsource/technik_s/keymaps/via/rules.mk b/keyboards/boardsource/technik_s/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes | |||
diff --git a/keyboards/boardsource/technik_s/readme.md b/keyboards/boardsource/technik_s/readme.md new file mode 100644 index 000000000..9bc60d401 --- /dev/null +++ b/keyboards/boardsource/technik_s/readme.md | |||
@@ -0,0 +1,22 @@ | |||
1 | # Technik-S | ||
2 | |||
3 |  | ||
4 | |||
5 | The technik-s is a 40% staggard keyboard that is designed to fit in the same case as the technik-o a 4x12 ortho | ||
6 | |||
7 | * Keyboard Maintainer: [Boardsource](https://github.com/boardsource) | ||
8 | * Hardware Supported: V1 pcb | ||
9 | * Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/technik_s:default | ||
14 | |||
15 | Flashing example for this keyboard: | ||
16 | |||
17 | make boardsource/technik_s:default:flash | ||
18 | |||
19 | Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. | ||
20 | Then run this command in your local qmk repo, or flash using qmk toolbox. | ||
21 | |||
22 | See 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). | ||
diff --git a/keyboards/boardsource/technik_s/rules.mk b/keyboards/boardsource/technik_s/rules.mk new file mode 100644 index 000000000..33488b9d3 --- /dev/null +++ b/keyboards/boardsource/technik_s/rules.mk | |||
@@ -0,0 +1,21 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | RGB_MATRIX_ENABLE = yes | ||
20 | RGB_MATRIX_DRIVER = WS2812 | ||
21 | LTO_ENABLE = yes | ||
diff --git a/keyboards/boardsource/technik_s/technik_s.c b/keyboards/boardsource/technik_s/technik_s.c new file mode 100644 index 000000000..bb7245c73 --- /dev/null +++ b/keyboards/boardsource/technik_s/technik_s.c | |||
@@ -0,0 +1,38 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 "technik_s.h" | ||
18 | #ifdef RGB_MATRIX_ENABLE | ||
19 | led_config_t g_led_config = { { | ||
20 | {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}, | ||
21 | {22, NO_LED, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}, | ||
22 | {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44}, | ||
23 | {45, 46, 47, 48, NO_LED, 49, 50, NO_LED, 51, 52, 53, 54} | ||
24 | }, { | ||
25 | {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56}, | ||
26 | { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, | ||
27 | { 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21}, | ||
28 | { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, | ||
29 | { 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64} | ||
30 | }, { | ||
31 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
32 | 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
33 | 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
34 | 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, | ||
35 | 1, 1, 1, 1, 4, 4, 1, 1, 1, 1 | ||
36 | } }; | ||
37 | #endif | ||
38 | |||
diff --git a/keyboards/boardsource/technik_s/technik_s.h b/keyboards/boardsource/technik_s/technik_s.h new file mode 100644 index 000000000..97ee9a7f5 --- /dev/null +++ b/keyboards/boardsource/technik_s/technik_s.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | #define LAYOUT( \ | ||
21 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ | ||
22 | K12, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ | ||
23 | K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ | ||
24 | K36, K37, K38, K39, K40, K41, K42, K43, K44, K45 \ | ||
25 | ) { \ | ||
26 | {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ | ||
27 | {K12, KC_NO, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ | ||
28 | {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ | ||
29 | {K36, K37, K38, K39,KC_NO,K40, K41,KC_NO,K42, K43, K44, K45} \ | ||
30 | } | ||
31 | |||
diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h new file mode 100644 index 000000000..cbfe4cd51 --- /dev/null +++ b/keyboards/boardsource/the_mark/config.h | |||
@@ -0,0 +1,160 @@ | |||
1 | /* | ||
2 | Copyright 2020 Boardsource | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x4273 // "Bs" - Boardsource | ||
24 | #define PRODUCT_ID 0x0001 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER Boardsource | ||
27 | #define PRODUCT The Mark65 | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 5 | ||
31 | #define MATRIX_COLS 16 | ||
32 | |||
33 | /* | ||
34 | * Keyboard Matrix Assignments | ||
35 | * | ||
36 | * Change this to how you wired your keyboard | ||
37 | * COLS: AVR pins used for columns, left to right | ||
38 | * ROWS: AVR pins used for rows, top to bottom | ||
39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
41 | * | ||
42 | */ | ||
43 | |||
44 | #define MATRIX_ROW_PINS {B0, B1, B2, B3, B4} | ||
45 | #define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4} | ||
46 | #define UNUSED_PINS | ||
47 | |||
48 | /* COL2ROW, ROW2COL */ | ||
49 | #define DIODE_DIRECTION COL2ROW | ||
50 | #define RGBLIGHT_ANIMATIONS | ||
51 | #define RGB_DI_PIN C6 | ||
52 | #ifdef RGBLIGHT_ENABLE | ||
53 | #define RGBLED_NUM 24 // Number of LEDs | ||
54 | #define RGBLIGHT_LIMIT_VAL 200 | ||
55 | #endif | ||
56 | |||
57 | /* RGB matrix support */ | ||
58 | #ifdef RGB_MATRIX_ENABLE | ||
59 | # define DRIVER_LED_TOTAL 24 // Number of LEDs | ||
60 | # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 | ||
61 | # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended | ||
62 | #endif | ||
63 | |||
64 | /* | ||
65 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||
66 | */ | ||
67 | //#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 | ||
68 | |||
69 | //#define BACKLIGHT_PIN B7 | ||
70 | //#define BACKLIGHT_LEVELS 3 | ||
71 | //#define BACKLIGHT_BREATHING | ||
72 | |||
73 | //#define RGB_DI_PIN E2 | ||
74 | //#ifdef RGB_DI_PIN | ||
75 | //# define RGBLED_NUM 16 | ||
76 | //# define RGBLIGHT_HUE_STEP 8 | ||
77 | //# define RGBLIGHT_SAT_STEP 8 | ||
78 | //# define RGBLIGHT_VAL_STEP 8 | ||
79 | //# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
80 | //# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
81 | /*== all animations enable ==*/ | ||
82 | //# define RGBLIGHT_ANIMATIONS | ||
83 | /*== or choose animations ==*/ | ||
84 | //# define RGBLIGHT_EFFECT_BREATHING | ||
85 | //# define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
86 | //# define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
87 | //# define RGBLIGHT_EFFECT_SNAKE | ||
88 | //# define RGBLIGHT_EFFECT_KNIGHT | ||
89 | //# define RGBLIGHT_EFFECT_CHRISTMAS | ||
90 | //# define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
91 | //# define RGBLIGHT_EFFECT_RGB_TEST | ||
92 | //# define RGBLIGHT_EFFECT_ALTERNATING | ||
93 | /*== customize breathing effect ==*/ | ||
94 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
95 | //# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
96 | /*==== use exp() and sin() ====*/ | ||
97 | //# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
98 | //# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
99 | //#endif | ||
100 | |||
101 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
102 | #define DEBOUNCE 5 | ||
103 | |||
104 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
105 | //#define MATRIX_HAS_GHOST | ||
106 | |||
107 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
108 | #define LOCKING_SUPPORT_ENABLE | ||
109 | /* Locking resynchronize hack */ | ||
110 | #define LOCKING_RESYNC_ENABLE | ||
111 | |||
112 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
113 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||
114 | */ | ||
115 | //#define GRAVE_ESC_CTRL_OVERRIDE | ||
116 | |||
117 | /* | ||
118 | * Force NKRO | ||
119 | * | ||
120 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
121 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
122 | * makefile for this to work.) | ||
123 | * | ||
124 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
125 | * until the next keyboard reset. | ||
126 | * | ||
127 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
128 | * fully operational during normal computer usage. | ||
129 | * | ||
130 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
131 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
132 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
133 | * power-up. | ||
134 | * | ||
135 | */ | ||
136 | //#define FORCE_NKRO | ||
137 | |||
138 | /* | ||
139 | * Feature disable options | ||
140 | * These options are also useful to firmware size reduction. | ||
141 | */ | ||
142 | |||
143 | /* disable debug print */ | ||
144 | //#define NO_DEBUG | ||
145 | |||
146 | /* disable print */ | ||
147 | //#define NO_PRINT | ||
148 | |||
149 | /* disable action features */ | ||
150 | //#define NO_ACTION_LAYER | ||
151 | //#define NO_ACTION_TAPPING | ||
152 | //#define NO_ACTION_ONESHOT | ||
153 | |||
154 | /* disable these deprecated features by default */ | ||
155 | #define NO_ACTION_MACRO | ||
156 | #define NO_ACTION_FUNCTION | ||
157 | |||
158 | /* Bootmagic Lite key configuration */ | ||
159 | //#define BOOTMAGIC_LITE_ROW 0 | ||
160 | //#define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json new file mode 100644 index 000000000..07e3a34e5 --- /dev/null +++ b/keyboards/boardsource/the_mark/info.json | |||
@@ -0,0 +1,230 @@ | |||
1 | { | ||
2 | "keyboard_name": "The Mark: 65", | ||
3 | "url": "", | ||
4 | "maintainer": "Boardsource", | ||
5 | "layouts": { | ||
6 | "LAYOUT_all": { | ||
7 | "layout": [ | ||
8 | { "x": 0, "y": 0, "w": 1 }, | ||
9 | { "x": 1, "y": 0, "w": 1 }, | ||
10 | { "x": 2, "y": 0, "w": 1 }, | ||
11 | { "x": 3, "y": 0, "w": 1 }, | ||
12 | { "x": 4, "y": 0, "w": 1 }, | ||
13 | { "x": 5, "y": 0, "w": 1 }, | ||
14 | { "x": 6, "y": 0, "w": 1 }, | ||
15 | { "x": 7, "y": 0, "w": 1 }, | ||
16 | { "x": 8, "y": 0, "w": 1 }, | ||
17 | { "x": 9, "y": 0, "w": 1 }, | ||
18 | { "x": 10, "y": 0, "w": 1 }, | ||
19 | { "x": 11, "y": 0, "w": 1 }, | ||
20 | { "x": 12, "y": 0, "w": 1 }, | ||
21 | { "x": 13, "y": 0, "w": 1 }, | ||
22 | { "x": 14, "y": 0, "w": 1 }, | ||
23 | { "x": 15.25, "y": 0, "w": 1 }, | ||
24 | { "x": 0, "y": 1, "w": 1.5 }, | ||
25 | { "x": 1.5, "y": 1, "w": 1 }, | ||
26 | { "x": 2.5, "y": 1, "w": 1 }, | ||
27 | { "x": 3.5, "y": 1, "w": 1 }, | ||
28 | { "x": 4.5, "y": 1, "w": 1 }, | ||
29 | { "x": 5.5, "y": 1, "w": 1 }, | ||
30 | { "x": 6.5, "y": 1, "w": 1 }, | ||
31 | { "x": 7.5, "y": 1, "w": 1 }, | ||
32 | { "x": 8.5, "y": 1, "w": 1 }, | ||
33 | { "x": 9.5, "y": 1, "w": 1 }, | ||
34 | { "x": 10.5, "y": 1, "w": 1 }, | ||
35 | { "x": 11.5, "y": 1, "w": 1 }, | ||
36 | { "x": 12.5, "y": 1, "w": 1 }, | ||
37 | { "x": 13.5, "y": 1, "w": 1.5 }, | ||
38 | { "x": 15.25, "y": 1, "w": 1 }, | ||
39 | { "x": 0, "y": 2, "w": 1.75 }, | ||
40 | { "x": 1.75, "y": 2, "w": 1 }, | ||
41 | { "x": 2.75, "y": 2, "w": 1 }, | ||
42 | { "x": 3.75, "y": 2, "w": 1 }, | ||
43 | { "x": 4.75, "y": 2, "w": 1 }, | ||
44 | { "x": 5.75, "y": 2, "w": 1 }, | ||
45 | { "x": 6.75, "y": 2, "w": 1 }, | ||
46 | { "x": 7.75, "y": 2, "w": 1 }, | ||
47 | { "x": 8.75, "y": 2, "w": 1 }, | ||
48 | { "x": 9.75, "y": 2, "w": 1 }, | ||
49 | { "x": 10.75, "y": 2, "w": 1 }, | ||
50 | { "x": 11.75, "y": 2, "w": 1 }, | ||
51 | { "x": 12.75, "y": 2, "w": 2.25 }, | ||
52 | { "x": 15.25, "y": 2, "w": 1 }, | ||
53 | { "x": 0, "y": 3, "w": 1.25 }, | ||
54 | { "x": 1.25, "y": 3, "w": 1 }, | ||
55 | { "x": 2.25, "y": 3, "w": 1 }, | ||
56 | { "x": 3.25, "y": 3, "w": 1 }, | ||
57 | { "x": 4.25, "y": 3, "w": 1 }, | ||
58 | { "x": 5.25, "y": 3, "w": 1 }, | ||
59 | { "x": 6.25, "y": 3, "w": 1 }, | ||
60 | { "x": 7.25, "y": 3, "w": 1 }, | ||
61 | { "x": 8.25, "y": 3, "w": 1 }, | ||
62 | { "x": 9.25, "y": 3, "w": 1 }, | ||
63 | { "x": 10.25, "y": 3, "w": 1 }, | ||
64 | { "x": 11.25, "y": 3, "w": 1 }, | ||
65 | { "x": 12.25, "y": 3, "w": 1.75 }, | ||
66 | { "x": 14.25, "y": 3.25, "w": 1 }, | ||
67 | { "x": 0, "y": 4, "w": 1.25 }, | ||
68 | { "x": 1.25, "y": 4, "w": 1.25 }, | ||
69 | { "x": 2.5, "y": 4, "w": 1.25 }, | ||
70 | { "x": 3.75, "y": 4, "w": 2.25 }, | ||
71 | { "x": 6, "y": 4, "w": 1.25 }, | ||
72 | { "x": 7.25, "y": 4, "w": 2.75 }, | ||
73 | { "x": 10, "y": 4, "w": 1 }, | ||
74 | { "x": 11, "y": 4, "w": 1 }, | ||
75 | { "x": 12, "y": 4, "w": 1 }, | ||
76 | { "x": 13.25, "y": 4.25, "w": 1 }, | ||
77 | { "x": 14.25, "y": 4.25, "w": 1 }, | ||
78 | { "x": 15.25, "y": 4.25, "w": 1 } | ||
79 | ] | ||
80 | }, | ||
81 | "LAYOUT_ansi": { | ||
82 | "layout": [ | ||
83 | { "x": 0, "y": 0, "w": 1 }, | ||
84 | { "x": 1, "y": 0, "w": 1 }, | ||
85 | { "x": 2, "y": 0, "w": 1 }, | ||
86 | { "x": 3, "y": 0, "w": 1 }, | ||
87 | { "x": 4, "y": 0, "w": 1 }, | ||
88 | { "x": 5, "y": 0, "w": 1 }, | ||
89 | { "x": 6, "y": 0, "w": 1 }, | ||
90 | { "x": 7, "y": 0, "w": 1 }, | ||
91 | { "x": 8, "y": 0, "w": 1 }, | ||
92 | { "x": 9, "y": 0, "w": 1 }, | ||
93 | { "x": 10, "y": 0, "w": 1 }, | ||
94 | { "x": 11, "y": 0, "w": 1 }, | ||
95 | { "x": 12, "y": 0, "w": 1 }, | ||
96 | { "x": 13, "y": 0, "w": 2 }, | ||
97 | { "x": 15.25, "y": 0, "w": 1 }, | ||
98 | { "x": 0, "y": 1, "w": 1.5 }, | ||
99 | { "x": 1.5, "y": 1, "w": 1 }, | ||
100 | { "x": 2.5, "y": 1, "w": 1 }, | ||
101 | { "x": 3.5, "y": 1, "w": 1 }, | ||
102 | { "x": 4.5, "y": 1, "w": 1 }, | ||
103 | { "x": 5.5, "y": 1, "w": 1 }, | ||
104 | { "x": 6.5, "y": 1, "w": 1 }, | ||
105 | { "x": 7.5, "y": 1, "w": 1 }, | ||
106 | { "x": 8.5, "y": 1, "w": 1 }, | ||
107 | { "x": 9.5, "y": 1, "w": 1 }, | ||
108 | { "x": 10.5, "y": 1, "w": 1 }, | ||
109 | { "x": 11.5, "y": 1, "w": 1 }, | ||
110 | { "x": 12.5, "y": 1, "w": 1 }, | ||
111 | { "x": 13.5, "y": 1, "w": 1.5 }, | ||
112 | { "x": 15.25, "y": 1, "w": 1 }, | ||
113 | { "x": 0, "y": 2, "w": 1.75 }, | ||
114 | { "x": 1.75, "y": 2, "w": 1 }, | ||
115 | { "x": 2.75, "y": 2, "w": 1 }, | ||
116 | { "x": 3.75, "y": 2, "w": 1 }, | ||
117 | { "x": 4.75, "y": 2, "w": 1 }, | ||
118 | { "x": 5.75, "y": 2, "w": 1 }, | ||
119 | { "x": 6.75, "y": 2, "w": 1 }, | ||
120 | { "x": 7.75, "y": 2, "w": 1 }, | ||
121 | { "x": 8.75, "y": 2, "w": 1 }, | ||
122 | { "x": 9.75, "y": 2, "w": 1 }, | ||
123 | { "x": 10.75, "y": 2, "w": 1 }, | ||
124 | { "x": 11.75, "y": 2, "w": 1 }, | ||
125 | { "x": 12.75, "y": 2, "w": 2.25 }, | ||
126 | { "x": 15.25, "y": 2, "w": 1 }, | ||
127 | { "x": 0, "y": 3, "w": 2.25 }, | ||
128 | { "x": 2.25, "y": 3, "w": 1 }, | ||
129 | { "x": 3.25, "y": 3, "w": 1 }, | ||
130 | { "x": 4.25, "y": 3, "w": 1 }, | ||
131 | { "x": 5.25, "y": 3, "w": 1 }, | ||
132 | { "x": 6.25, "y": 3, "w": 1 }, | ||
133 | { "x": 7.25, "y": 3, "w": 1 }, | ||
134 | { "x": 8.25, "y": 3, "w": 1 }, | ||
135 | { "x": 9.25, "y": 3, "w": 1 }, | ||
136 | { "x": 10.25, "y": 3, "w": 1 }, | ||
137 | { "x": 11.25, "y": 3, "w": 1 }, | ||
138 | { "x": 12.25, "y": 3, "w": 1.75 }, | ||
139 | { "x": 14.25, "y": 3.25, "w": 1 }, | ||
140 | { "x": 0, "y": 4, "w": 1.25 }, | ||
141 | { "x": 1.25, "y": 4, "w": 1.25 }, | ||
142 | { "x": 2.5, "y": 4, "w": 1.25 }, | ||
143 | { "x": 3.75, "y": 4, "w": 6.25 }, | ||
144 | { "x": 10, "y": 4, "w": 1 }, | ||
145 | { "x": 11, "y": 4, "w": 1 }, | ||
146 | { "x": 12, "y": 4, "w": 1 }, | ||
147 | { "x": 13.25, "y": 4.25, "w": 1 }, | ||
148 | { "x": 14.25, "y": 4.25, "w": 1 }, | ||
149 | { "x": 15.25, "y": 4.25, "w": 1 } | ||
150 | ] | ||
151 | }, | ||
152 | "LAYOUT_iso": { | ||
153 | "layout": [ | ||
154 | { "x": 0, "y": 0, "w": 1 }, | ||
155 | { "x": 1, "y": 0, "w": 1 }, | ||
156 | { "x": 2, "y": 0, "w": 1 }, | ||
157 | { "x": 3, "y": 0, "w": 1 }, | ||
158 | { "x": 4, "y": 0, "w": 1 }, | ||
159 | { "x": 5, "y": 0, "w": 1 }, | ||
160 | { "x": 6, "y": 0, "w": 1 }, | ||
161 | { "x": 7, "y": 0, "w": 1 }, | ||
162 | { "x": 8, "y": 0, "w": 1 }, | ||
163 | { "x": 9, "y": 0, "w": 1 }, | ||
164 | { "x": 10, "y": 0, "w": 1 }, | ||
165 | { "x": 11, "y": 0, "w": 1 }, | ||
166 | { "x": 12, "y": 0, "w": 1 }, | ||
167 | { "x": 13, "y": 0, "w": 2 }, | ||
168 | { "x": 15.25, "y": 0, "w": 1 }, | ||
169 | { "x": 0, "y": 1, "w": 1.5 }, | ||
170 | { "x": 1.5, "y": 1, "w": 1 }, | ||
171 | { "x": 2.5, "y": 1, "w": 1 }, | ||
172 | { "x": 3.5, "y": 1, "w": 1 }, | ||
173 | { "x": 4.5, "y": 1, "w": 1 }, | ||
174 | { "x": 5.5, "y": 1, "w": 1 }, | ||
175 | { "x": 6.5, "y": 1, "w": 1 }, | ||
176 | { "x": 7.5, "y": 1, "w": 1 }, | ||
177 | { "x": 8.5, "y": 1, "w": 1 }, | ||
178 | { "x": 9.5, "y": 1, "w": 1 }, | ||
179 | { "x": 10.5, "y": 1, "w": 1 }, | ||
180 | { "x": 11.5, "y": 1, "w": 1 }, | ||
181 | { "x": 12.5, "y": 1, "w": 1 }, | ||
182 | { "x": 15.25, "y": 1, "w": 1 }, | ||
183 | { "x": 0, "y": 2, "w": 1.75 }, | ||
184 | { "x": 1.75, "y": 2, "w": 1 }, | ||
185 | { "x": 2.75, "y": 2, "w": 1 }, | ||
186 | { "x": 3.75, "y": 2, "w": 1 }, | ||
187 | { "x": 4.75, "y": 2, "w": 1 }, | ||
188 | { "x": 5.75, "y": 2, "w": 1 }, | ||
189 | { "x": 6.75, "y": 2, "w": 1 }, | ||
190 | { "x": 7.75, "y": 2, "w": 1 }, | ||
191 | { "x": 8.75, "y": 2, "w": 1 }, | ||
192 | { "x": 9.75, "y": 2, "w": 1 }, | ||
193 | { "x": 10.75, "y": 2, "w": 1 }, | ||
194 | { "x": 11.75, "y": 2, "w": 1 }, | ||
195 | { "x": 12.75, "y": 2, "w": 1 }, | ||
196 | { | ||
197 | "x": 13.75, | ||
198 | "y": 1, | ||
199 | "w": 1.25, | ||
200 | "h": 2 | ||
201 | }, | ||
202 | { "x": 15.25, "y": 2, "w": 1 }, | ||
203 | { "x": 0, "y": 3, "w": 1.25 }, | ||
204 | { "x": 1.25, "y": 3, "w": 1 }, | ||
205 | { "x": 2.25, "y": 3, "w": 1 }, | ||
206 | { "x": 3.25, "y": 3, "w": 1 }, | ||
207 | { "x": 4.25, "y": 3, "w": 1 }, | ||
208 | { "x": 5.25, "y": 3, "w": 1 }, | ||
209 | { "x": 6.25, "y": 3, "w": 1 }, | ||
210 | { "x": 7.25, "y": 3, "w": 1 }, | ||
211 | { "x": 8.25, "y": 3, "w": 1 }, | ||
212 | { "x": 9.25, "y": 3, "w": 1 }, | ||
213 | { "x": 10.25, "y": 3, "w": 1 }, | ||
214 | { "x": 11.25, "y": 3, "w": 1 }, | ||
215 | { "x": 12.25, "y": 3, "w": 1.75 }, | ||
216 | { "x": 14.25, "y": 3.25, "w": 1 }, | ||
217 | { "x": 0, "y": 4, "w": 1.25 }, | ||
218 | { "x": 1.25, "y": 4, "w": 1.25 }, | ||
219 | { "x": 2.5, "y": 4, "w": 1.25 }, | ||
220 | { "x": 3.75, "y": 4, "w": 6.25 }, | ||
221 | { "x": 10, "y": 4, "w": 1 }, | ||
222 | { "x": 11, "y": 4, "w": 1 }, | ||
223 | { "x": 12, "y": 4, "w": 1 }, | ||
224 | { "x": 13.25, "y": 4.25, "w": 1 }, | ||
225 | { "x": 14.25, "y": 4.25, "w": 1 }, | ||
226 | { "x": 15.25, "y": 4.25, "w": 1 } | ||
227 | ] | ||
228 | } | ||
229 | } | ||
230 | } | ||
diff --git a/keyboards/boardsource/the_mark/keymaps/default/keymap.c b/keyboards/boardsource/the_mark/keymaps/default/keymap.c new file mode 100644 index 000000000..ead93baf5 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/default/keymap.c | |||
@@ -0,0 +1,44 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | _FN | ||
22 | }; | ||
23 | |||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | /* Base */ | ||
27 | [_BASE] = LAYOUT_all( | ||
28 | 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_BSPC, RGB_TOG, | ||
29 | 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, RGB_MOD, | ||
30 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN), | ||
31 | KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, | ||
32 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
33 | ), | ||
34 | [_FN] = LAYOUT_all( | ||
35 | 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_HOME, | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, | ||
37 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
40 | ) | ||
41 | |||
42 | |||
43 | }; | ||
44 | |||
diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c new file mode 100644 index 000000000..250ecf766 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c | |||
@@ -0,0 +1,44 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | _FN | ||
22 | }; | ||
23 | |||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | /* Base */ | ||
27 | [_BASE] = LAYOUT_ansi( | ||
28 | 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, RGB_TOG, | ||
29 | 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, RGB_MOD, | ||
30 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN), | ||
31 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, | ||
32 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
33 | ), | ||
34 | [_FN] = LAYOUT_ansi( | ||
35 | 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_HOME, | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, _______, KC_END, | ||
37 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, | ||
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
40 | ) | ||
41 | |||
42 | |||
43 | }; | ||
44 | |||
diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c new file mode 100644 index 000000000..6aeace190 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c | |||
@@ -0,0 +1,44 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | |||
18 | // Defines names for use in layer keycodes and the keymap | ||
19 | enum layer_names { | ||
20 | _BASE, | ||
21 | _FN | ||
22 | }; | ||
23 | |||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | /* Base */ | ||
27 | [_BASE] = LAYOUT_iso( | ||
28 | 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, RGB_TOG, | ||
29 | 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, RGB_MOD, | ||
30 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, MO(_FN), | ||
31 | KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, | ||
32 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
33 | ), | ||
34 | [_FN] = LAYOUT_iso( | ||
35 | 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_HOME, | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_END, | ||
37 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_MUTE, _______, _______, | ||
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
40 | ) | ||
41 | |||
42 | |||
43 | }; | ||
44 | |||
diff --git a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c new file mode 100644 index 000000000..eab59eb7e --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c | |||
@@ -0,0 +1,97 @@ | |||
1 | /* Copyright 2020 Stanrc85 | ||
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 "stanrc85.h" | ||
18 | |||
19 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
20 | /* Base */ | ||
21 | [_QWERTY] = LAYOUT_all( | ||
22 | 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_BSPC, KC_MPLY, | ||
23 | 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, CA_SCLN, | ||
24 | KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, | ||
25 | KC_LSFT, 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, | ||
26 | KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
27 | ), | ||
28 | [_DEFAULT] = LAYOUT_all( | ||
29 | 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_BSPC, KC_MPLY, | ||
30 | 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, CA_SCLN, | ||
31 | KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, | ||
32 | KC_LSFT, 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, | ||
33 | KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
34 | ), | ||
35 | [_FN1_60] = LAYOUT_all( | ||
36 | KC_TILD, 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_DEL, KC_DEL, _______, | ||
37 | _______, _______, CA_QUOT, KC_VOLU, CA_SCLN, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, _______, _______, KC_INS, _______, | ||
38 | KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, | ||
39 | _______, _______, KC_RDP, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______, | ||
40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
41 | ), | ||
42 | [_FN2_60] = LAYOUT_all( | ||
43 | RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
44 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, | ||
45 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, | ||
46 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
47 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) | ||
48 | ) | ||
49 | |||
50 | }; | ||
51 | |||
52 | |||
53 | void rgb_matrix_indicators_user(void) { | ||
54 | uint8_t layer = get_highest_layer(layer_state); | ||
55 | switch (layer) { | ||
56 | case _FN1_60: | ||
57 | rgb_matrix_set_color(10, 0, 0, 255); | ||
58 | break; | ||
59 | case _FN2_60: | ||
60 | rgb_matrix_set_color(10, 255, 255, 255); | ||
61 | break; | ||
62 | case _DEFAULT: | ||
63 | rgb_matrix_set_color(10, 0, 255, 0); | ||
64 | break; | ||
65 | default: | ||
66 | break; | ||
67 | } | ||
68 | if (host_keyboard_led_state().caps_lock) { | ||
69 | rgb_matrix_set_color(10, 255, 0, 0); | ||
70 | } | ||
71 | } | ||
72 | |||
73 | void matrix_init_kb(void){ | ||
74 | |||
75 | #ifdef RGB_MATRIX_ENABLE | ||
76 | |||
77 | g_led_config = (led_config_t){ { | ||
78 | // Key Matrix to LED Index | ||
79 | { 10 , 10 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 1 , 1 }, | ||
80 | { 11 , 11 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 0 , 1 }, | ||
81 | { 12 , 12 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 23 , 1 }, | ||
82 | { 13 , 13 , 14 , 14 , 15 , 16 , 16 , 17 , 18 , 18 , 19 , 20 , 20 , 21 , 22 , 22 }, | ||
83 | { 13 , 13 , 14 , 14 , 15 , 16 , 16 , 17 , 18 , 18 , 19 , 20 , 20 , 21 , 22 , 22 }, | ||
84 | }, { | ||
85 | // LED Index to Physical Position | ||
86 | {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42}, | ||
87 | {30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64} | ||
88 | }, { | ||
89 | // LED Index to Flag | ||
90 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, | ||
91 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, | ||
92 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL | ||
93 | } }; | ||
94 | |||
95 | #endif | ||
96 | matrix_init_user(); | ||
97 | } | ||
diff --git a/keyboards/boardsource/the_mark/keymaps/via/keymap.c b/keyboards/boardsource/the_mark/keymaps/via/keymap.c new file mode 100644 index 000000000..2b0477f39 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/via/keymap.c | |||
@@ -0,0 +1,54 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | |||
18 | |||
19 | |||
20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
21 | /* Base */ | ||
22 | LAYOUT_all( | ||
23 | 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_BSPC, RGB_TOG, | ||
24 | 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_PGDN, | ||
25 | KC_LCTL, 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_PGUP, | ||
26 | KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, | ||
27 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT | ||
28 | ), | ||
29 | LAYOUT_all( | ||
30 | 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_HOME, | ||
31 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, | ||
32 | RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
33 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
34 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
35 | ), | ||
36 | LAYOUT_all( | ||
37 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
42 | ), | ||
43 | LAYOUT_all( | ||
44 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
45 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
46 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
47 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
48 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
49 | ) | ||
50 | |||
51 | |||
52 | |||
53 | }; | ||
54 | |||
diff --git a/keyboards/boardsource/the_mark/keymaps/via/readme.md b/keyboards/boardsource/the_mark/keymaps/via/readme.md new file mode 100644 index 000000000..5fda80e18 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/via/readme.md | |||
@@ -0,0 +1,3 @@ | |||
1 | # The via keymap for The Mark: 65 | ||
2 | |||
3 | This folder contains the VIA configuration for the boardsource's The Mark: 65 | ||
diff --git a/keyboards/boardsource/the_mark/keymaps/via/rules.mk b/keyboards/boardsource/the_mark/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/boardsource/the_mark/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes | |||
diff --git a/keyboards/boardsource/the_mark/readme.md b/keyboards/boardsource/the_mark/readme.md new file mode 100644 index 000000000..100466b03 --- /dev/null +++ b/keyboards/boardsource/the_mark/readme.md | |||
@@ -0,0 +1,19 @@ | |||
1 | # the_mark | ||
2 | |||
3 |  | ||
4 | |||
5 | The Mark: 65 is a no compromise 65% keyboard designed and produced by Boardsource. | ||
6 | |||
7 | * Keyboard Maintainer: [Boardsource](https://github.com/boardsource) | ||
8 | * Hardware Supported: The Mark:65 v1 | ||
9 | * Hardware Availability: [Boardsource](https://boardsource.xyz/store/5fc2eb0b86b9341522d8f7a3) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make boardsource/the_mark:default | ||
14 | |||
15 | Flashing example for this keyboard: | ||
16 | |||
17 | make boardsource/the_mark:default:flash | ||
18 | |||
19 | See 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). | ||
diff --git a/keyboards/boardsource/the_mark/rules.mk b/keyboards/boardsource/the_mark/rules.mk new file mode 100644 index 000000000..e9cb6a289 --- /dev/null +++ b/keyboards/boardsource/the_mark/rules.mk | |||
@@ -0,0 +1,20 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) | ||
20 | RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support | ||
diff --git a/keyboards/boardsource/the_mark/the_mark.c b/keyboards/boardsource/the_mark/the_mark.c new file mode 100644 index 000000000..59aff7f9a --- /dev/null +++ b/keyboards/boardsource/the_mark/the_mark.c | |||
@@ -0,0 +1,49 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 "the_mark.h" | ||
18 | |||
19 | /* Map physical under glow LEDs for RGB matrix support */ | ||
20 | #ifdef RGB_MATRIX_ENABLE | ||
21 | led_config_t g_led_config = { { | ||
22 | // Key Matrix to LED Index | ||
23 | { 10 , NO_LED, 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , NO_LED, 1 }, | ||
24 | { 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, | ||
25 | { 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 }, | ||
26 | { 13 , NO_LED, 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , NO_LED, NO_LED }, | ||
27 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 22 }, | ||
28 | }, { | ||
29 | // LED Index to Physical Position | ||
30 | {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42}, | ||
31 | {30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64} | ||
32 | }, { | ||
33 | // LED Index to Flag | ||
34 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, | ||
35 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, | ||
36 | LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL | ||
37 | } }; | ||
38 | |||
39 | |||
40 | void suspend_power_down_kb(void) { | ||
41 | rgb_matrix_set_suspend_state(true); | ||
42 | suspend_power_down_user(); | ||
43 | } | ||
44 | |||
45 | void suspend_wakeup_init_kb(void) { | ||
46 | rgb_matrix_set_suspend_state(false); | ||
47 | suspend_wakeup_init_user(); | ||
48 | } | ||
49 | #endif | ||
diff --git a/keyboards/boardsource/the_mark/the_mark.h b/keyboards/boardsource/the_mark/the_mark.h new file mode 100644 index 000000000..9d527f946 --- /dev/null +++ b/keyboards/boardsource/the_mark/the_mark.h | |||
@@ -0,0 +1,71 @@ | |||
1 | /* Copyright 2020 Boardsource | ||
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 | /* This is a shortcut to help you visually see your layout. | ||
22 | * | ||
23 | * The first section contains all of the arguments representing the physical | ||
24 | * layout of the board and position of the keys. | ||
25 | * | ||
26 | * The second converts the arguments into a two-dimensional array which | ||
27 | * represents the switch matrix. | ||
28 | */ | ||
29 | #define LAYOUT_all( \ | ||
30 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ | ||
31 | K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ | ||
32 | K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \ | ||
33 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ | ||
34 | K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414, K415 \ | ||
35 | ) { \ | ||
36 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ | ||
37 | { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ | ||
38 | { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \ | ||
39 | { K301, K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, KC_NO}, \ | ||
40 | { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414, K415 } \ | ||
41 | } | ||
42 | |||
43 | #define LAYOUT_ansi( \ | ||
44 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \ | ||
45 | K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ | ||
46 | K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \ | ||
47 | K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ | ||
48 | K400, K401, K403, K406, K410, K411, K412, K413, K414, K415 \ | ||
49 | ) { \ | ||
50 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \ | ||
51 | { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ | ||
52 | { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \ | ||
53 | { KC_NO, K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, KC_NO}, \ | ||
54 | { K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414, K415 } \ | ||
55 | } | ||
56 | |||
57 | |||
58 | #define LAYOUT_iso( \ | ||
59 | K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \ | ||
60 | K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \ | ||
61 | K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \ | ||
62 | K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ | ||
63 | K400, K401, K403, K406, K410, K411, K412, K413, K414, K415 \ | ||
64 | ) { \ | ||
65 | { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \ | ||
66 | { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ | ||
67 | { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \ | ||
68 | { K301, K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, KC_NO}, \ | ||
69 | { K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414, K415 } \ | ||
70 | } | ||
71 | |||