aboutsummaryrefslogtreecommitdiff
path: root/keyboards/boardsource/3x4
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/boardsource/3x4')
-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
10 files changed, 201 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