aboutsummaryrefslogtreecommitdiff
path: root/keyboards/boardsource
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-04-10 12:13:40 +0100
committerAkshay <[email protected]>2022-04-10 12:13:40 +0100
commitdc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch)
tree4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/boardsource
Diffstat (limited to 'keyboards/boardsource')
-rw-r--r--keyboards/boardsource/3x4/3x4.c1
-rw-r--r--keyboards/boardsource/3x4/3x4.h12
-rw-r--r--keyboards/boardsource/3x4/config.h72
-rw-r--r--keyboards/boardsource/3x4/info.json27
-rw-r--r--keyboards/boardsource/3x4/keymaps/default/keymap.c26
-rw-r--r--keyboards/boardsource/3x4/keymaps/via/keymap.c25
-rw-r--r--keyboards/boardsource/3x4/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/3x4/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/3x4/readme.md15
-rw-r--r--keyboards/boardsource/3x4/rules.mk17
-rw-r--r--keyboards/boardsource/4x12/4x12.c1
-rw-r--r--keyboards/boardsource/4x12/4x12.h14
-rw-r--r--keyboards/boardsource/4x12/config.h70
-rw-r--r--keyboards/boardsource/4x12/info.json62
-rw-r--r--keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c85
-rw-r--r--keyboards/boardsource/4x12/keymaps/default/keymap.c36
-rw-r--r--keyboards/boardsource/4x12/keymaps/via/keymap.c36
-rw-r--r--keyboards/boardsource/4x12/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/4x12/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/4x12/readme.md12
-rw-r--r--keyboards/boardsource/4x12/rules.mk24
-rw-r--r--keyboards/boardsource/5x12/5x12.c1
-rw-r--r--keyboards/boardsource/5x12/5x12.h17
-rw-r--r--keyboards/boardsource/5x12/config.h71
-rw-r--r--keyboards/boardsource/5x12/info.json75
-rw-r--r--keyboards/boardsource/5x12/keymaps/default/keymap.c39
-rw-r--r--keyboards/boardsource/5x12/keymaps/via/keymap.c47
-rw-r--r--keyboards/boardsource/5x12/keymaps/via/readme.md5
-rw-r--r--keyboards/boardsource/5x12/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/5x12/readme.md13
-rw-r--r--keyboards/boardsource/5x12/rules.mk24
-rw-r--r--keyboards/boardsource/beiwagon/beiwagon.c38
-rw-r--r--keyboards/boardsource/beiwagon/beiwagon.h32
-rw-r--r--keyboards/boardsource/beiwagon/config.h169
-rw-r--r--keyboards/boardsource/beiwagon/info.json26
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/default/keymap.c47
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/via/keymap.c47
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/beiwagon/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/beiwagon/readme.md21
-rw-r--r--keyboards/boardsource/beiwagon/rules.mk20
-rw-r--r--keyboards/boardsource/holiday/spooky/config.h133
-rw-r--r--keyboards/boardsource/holiday/spooky/info.json18
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c29
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c79
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk2
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c79
-rw-r--r--keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk2
-rw-r--r--keyboards/boardsource/holiday/spooky/readme.md15
-rw-r--r--keyboards/boardsource/holiday/spooky/rules.mk20
-rw-r--r--keyboards/boardsource/holiday/spooky/spooky.c17
-rw-r--r--keyboards/boardsource/holiday/spooky/spooky.h35
-rw-r--r--keyboards/boardsource/microdox/.noci0
-rw-r--r--keyboards/boardsource/microdox/config.h80
-rw-r--r--keyboards/boardsource/microdox/info.json54
-rw-r--r--keyboards/boardsource/microdox/keymaps/cole/keymap.c117
-rw-r--r--keyboards/boardsource/microdox/keymaps/cole/rules.mk2
-rw-r--r--keyboards/boardsource/microdox/keymaps/default/keymap.c50
-rw-r--r--keyboards/boardsource/microdox/keymaps/via/keymap.c105
-rw-r--r--keyboards/boardsource/microdox/keymaps/via/rules.mk6
-rw-r--r--keyboards/boardsource/microdox/microdox.c19
-rw-r--r--keyboards/boardsource/microdox/microdox.h37
-rw-r--r--keyboards/boardsource/microdox/readme.md13
-rw-r--r--keyboards/boardsource/microdox/rules.mk21
-rw-r--r--keyboards/boardsource/technik_o/config.h169
-rw-r--r--keyboards/boardsource/technik_o/info.json62
-rw-r--r--keyboards/boardsource/technik_o/keymaps/default/keymap.c53
-rw-r--r--keyboards/boardsource/technik_o/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/technik_o/keymaps/via/keymap.c53
-rw-r--r--keyboards/boardsource/technik_o/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/technik_o/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/technik_o/readme.md21
-rw-r--r--keyboards/boardsource/technik_o/rules.mk21
-rw-r--r--keyboards/boardsource/technik_o/technik_o.c50
-rw-r--r--keyboards/boardsource/technik_o/technik_o.h31
-rw-r--r--keyboards/boardsource/technik_s/config.h169
-rw-r--r--keyboards/boardsource/technik_s/info.json56
-rw-r--r--keyboards/boardsource/technik_s/keymaps/default/keymap.c53
-rw-r--r--keyboards/boardsource/technik_s/keymaps/default/readme.md1
-rw-r--r--keyboards/boardsource/technik_s/keymaps/via/keymap.c53
-rw-r--r--keyboards/boardsource/technik_s/keymaps/via/readme.md1
-rw-r--r--keyboards/boardsource/technik_s/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/technik_s/readme.md22
-rw-r--r--keyboards/boardsource/technik_s/rules.mk21
-rw-r--r--keyboards/boardsource/technik_s/technik_s.c38
-rw-r--r--keyboards/boardsource/technik_s/technik_s.h31
-rw-r--r--keyboards/boardsource/the_mark/config.h160
-rw-r--r--keyboards/boardsource/the_mark/info.json230
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default/keymap.c44
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c44
-rw-r--r--keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c44
-rw-r--r--keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c97
-rw-r--r--keyboards/boardsource/the_mark/keymaps/via/keymap.c54
-rw-r--r--keyboards/boardsource/the_mark/keymaps/via/readme.md3
-rw-r--r--keyboards/boardsource/the_mark/keymaps/via/rules.mk1
-rw-r--r--keyboards/boardsource/the_mark/readme.md19
-rw-r--r--keyboards/boardsource/the_mark/rules.mk20
-rw-r--r--keyboards/boardsource/the_mark/the_mark.c49
-rw-r--r--keyboards/boardsource/the_mark/the_mark.h71
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
3enum layers {
4 _MAIN,
5 _RAISE,
6 _LOWER,
7};
8
9// Readability keycodes
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13const 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
3const 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
3This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 3x4 macropad
4
5Maintained 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![Boardsource 3x4 macro](https://i.imgur.com/EiPF1hhl.jpg)
4
5this 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/3x4:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_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
19enum layers {
20 _MAIN,
21 _LOWER,
22 _RAISE,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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
3enum layers {
4 _MAIN,
5 _RAISE,
6 _LOWER,
7};
8
9// Readability keycodes
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13const 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
3enum layers {
4 _MAIN,
5 _RAISE,
6 _LOWER,
7};
8
9// Readability keycodes
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13const 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
3This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 4x12 ortholinear keybaoard
4
5Maintained 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![boardsource 4x12](https://i.imgur.com/rVtAEq5.jpg)
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
8Make example for this keyboard (after setting up your build environment):
9
10 make boardsource/4x12:default
11
12See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18
19LAYOUTS = ortho_4x12
20
21# Disable unsupported hardware
22RGBLIGHT_SUPPORTED = no
23AUDIO_SUPPORTED = no
24BACKLIGHT_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
3enum layers {
4 _MAIN,
5 _RAISE,
6 _LOWER,
7};
8
9// Readability keycodes
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13const 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
3enum layers {
4 _MAIN,
5 _RAISE,
6 _LOWER,
7};
8
9// Readability keycodes
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13const 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
3This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 5x12 ortholinear keyboard
4
5Maintained 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![boardsource 5x12](https://i.imgur.com/xuNxpgh.jpg)
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
9Make example for this keyboard (after setting up your build environment):
10
11 make boardsource/5x12:default
12
13See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18
19LAYOUTS = ortho_5x12
20
21# Disable unsupported hardware
22RGBLIGHT_SUPPORTED = no
23AUDIO_SUPPORTED = no
24BACKLIGHT_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
19led_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/*
2Copyright 2020 Boardsource
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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![Beiwagon](https://i.imgur.com/eQi2Laqh.jpeg)
4
5The 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/beiwagon:default
14
15Flashing example for this keyboard:
16
17 make boardsource/beiwagon:default:flash
18
19Reset 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
21See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = no # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19RGB_MATRIX_ENABLE = yes
20RGB_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/*
2Copyright 2020 boardsource
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
19enum layer_names {
20 _BASE,
21};
22
23const 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
19enum layer_names {
20 _BASE,
21};
22
23const 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
31oled_rotation_t oled_init_user(oled_rotation_t rotation) {
32 return OLED_ROTATION_180;
33}
34
35static void render_RIP(void) {
36 static const char PROGMEM my_logo[] = {
370xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00,
380x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00,
390x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82,
400x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0,
410xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10,
420x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff,
430x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98,
440x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00,
450x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00,
460x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00,
470x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f,
480x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07,
490x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18,
500x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f,
510x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10,
520x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e,
530x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0,
540x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18,
550x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30,
560xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
570x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18,
580x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0,
590xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00,
600x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00,
610x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7,
620xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82,
630x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0,
640x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08,
650x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc,
660xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70,
670x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00,
680x00, 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
74bool 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 @@
1OLED_ENABLE = yes
2OLED_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
19enum layer_names {
20 _BASE,
21};
22
23const 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
31oled_rotation_t oled_init_user(oled_rotation_t rotation) {
32 return OLED_ROTATION_180;
33}
34
35static void render_RIP(void) {
36 static const char PROGMEM my_logo[] = {
370x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
380x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04,
390x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00,
400x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00,
410x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02,
420x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00,
430x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
440x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
460x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08,
470x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0,
480x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00,
490x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00,
500x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00,
510x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
520x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
530x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
550x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00,
560x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0,
570xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c,
580x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00,
590x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
600x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
610x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
620x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
630x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00,
640x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03,
650x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c,
660x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00,
670x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
680x00, 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
74bool 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 @@
1OLED_ENABLE = yes
2OLED_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![spooky](https://i.imgur.com/qAeA66wl.jpg)
4
5this 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/holiday/spooky:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19
20LAYOUTS = 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/*
2Copyright 2020 Cole Smith <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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/*
2Copyright 2020 Cole Smith <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19#include "split_util.h"
20
21enum 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
40const 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
62oled_rotation_t oled_init_user(oled_rotation_t rotation) {
63 if (is_keyboard_master())
64 return OLED_ROTATION_180;
65 return rotation;
66}
67
68static 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
78static 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
107bool 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 @@
1OLED_ENABLE = yes
2OLED_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/*
2Copyright 2020 Cole Smith <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20enum layers {
21 _QWERTY,
22 _RAISE,
23 _LOWER,
24};
25
26#define RAISE MO(_RAISE)
27#define LOWER MO(_LOWER)
28
29const 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/*
2Copyright 2020 Jack Sangdahl <@toastedmangoes>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20const 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
50oled_rotation_t oled_init_user(oled_rotation_t rotation) {
51 if (is_keyboard_master())
52 return OLED_ROTATION_180;
53 return rotation;
54}
55
56static 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
66static 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
95bool 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 @@
1OLED_ENABLE = yes
2OLED_DRIVER = SSD1306
3VIA_ENABLE = yes
4EXTRAKEY_ENABLE = yes
5RGBLIGHT_ENABLE = yes
6LTO_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/*
2Copyright 2020 Cole Smith <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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/*
2Copyright 2020 Cole Smith <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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![boardsource Microdox](https://i.imgur.com/AliShkvl.jpg)
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
9Make example for this keyboard (after setting up your build environment):
10
11 make boardsource/microdox:default
12
13See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = no # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19SPLIT_KEYBOARD = yes
20
21LAYOUTS = 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/*
2Copyright 2020 Boardsource
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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![Technik-O](https://i.imgur.com/F2VTqAs.jpeg)
4
5The 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/technik_o:default
14
15Flashing example for this keyboard:
16
17 make boardsource/technik_o:default:flash
18
19Reset 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
21See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19RGB_MATRIX_ENABLE = yes
20RGB_MATRIX_DRIVER = WS2812
21LAYOUTS = 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
21led_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))
43const 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/*
2Copyright 2020 Boardsource
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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
19enum layers {
20 _MAIN,
21 _RAISE,
22 _LOWER,
23};
24
25// Readability keycodes
26#define LOWER MO(_LOWER)
27#define RAISE MO(_RAISE)
28
29const 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![Technik-S](https://i.imgur.com/0QLgu5V.jpeg)
4
5The 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/technik_s:default
14
15Flashing example for this keyboard:
16
17 make boardsource/technik_s:default:flash
18
19Reset 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.
20Then run this command in your local qmk repo, or flash using qmk toolbox.
21
22See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19RGB_MATRIX_ENABLE = yes
20RGB_MATRIX_DRIVER = WS2812
21LTO_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
19led_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/*
2Copyright 2020 Boardsource
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
19enum layer_names {
20 _BASE,
21 _FN
22};
23
24
25const 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
19enum layer_names {
20 _BASE,
21 _FN
22};
23
24
25const 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
19enum layer_names {
20 _BASE,
21 _FN
22};
23
24
25const 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
19const 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
53void 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
73void 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
20const 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 ),
29LAYOUT_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),
36LAYOUT_all(
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
42),
43LAYOUT_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
3This 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![The Mark: 65](https://i.imgur.com/3zC4PKkl.jpg)
4
5The 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
11Make example for this keyboard (after setting up your build environment):
12
13 make boardsource/the_mark:default
14
15Flashing example for this keyboard:
16
17 make boardsource/the_mark:default:flash
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output
19RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
20RGB_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
21led_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
40void suspend_power_down_kb(void) {
41 rgb_matrix_set_suspend_state(true);
42 suspend_power_down_user();
43}
44
45void 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