aboutsummaryrefslogtreecommitdiff
path: root/keyboards/boardsource/beiwagon
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/boardsource/beiwagon')
-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
11 files changed, 403 insertions, 0 deletions
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