[Keyboard] boardsource/3x4 data driven (#17628)

* initial

* change to development board

* replaced KC_TRNS & use rules.mk template
This commit is contained in:
jack 2022-07-12 22:58:04 -06:00 committed by GitHub
parent 019bfc4159
commit a991d65e87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 67 additions and 167 deletions

View File

@ -1 +0,0 @@
#include "3x4.h"

View File

@ -1,12 +0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, K03, \
K10, K11, K12, K13, \
K20, K21, K22, K23 \
) { \
{K00, K01, K02, K03}, \
{K10, K11, K12, K13}, \
{K20, K21, K22, K23} \
}

View File

@ -1,70 +0,0 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273 // "Bs" - Boardsource
#define PRODUCT_ID 0x0304 // 3x4
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 3x4
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS {F7, F6, F5}
#define MATRIX_COL_PINS {B6, B2, B3, B1}
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View File

@ -1,26 +1,39 @@
{
"keyboard_name": "boardsource 4x3",
"url": "https://boardsource.xyz",
"maintainer": "boardsource",
"manufacturer": "Boardsource",
"keyboard_name": "3x4",
"maintainer": "waffle87",
"development_board": "promicro",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true
},
"matrix_pins": {
"cols": ["B6", "B2", "B3", "B1"],
"rows": ["F7", "F6", "F5"]
},
"url": "https://boardsource.xyz/store/5ecc2008eee64242946c98c1",
"usb": {
"device_version": "1.0.0",
"pid": "0x0304",
"vid": "0x4273"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "K01", "x": 0, "y": 0 },
{ "label": "K02", "x": 1, "y": 0 },
{ "label": "K03", "x": 2, "y": 0 },
{ "label": "K04", "x": 3, "y": 0 },
{ "label": "K05", "x": 0, "y": 1 },
{ "label": "K06", "x": 1, "y": 1 },
{ "label": "K07", "x": 2, "y": 1 },
{ "label": "K08", "x": 3, "y": 1 },
{ "label": "K09", "x": 0, "y": 2 },
{ "label": "K10", "x": 1, "y": 2 },
{ "label": "K11", "x": 2, "y": 2 },
{ "label": "K12", "x": 3, "y": 2 }
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [0, 3], "x": 3, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [2, 3], "x": 3, "y": 2 }
]
}
}

View File

@ -1,26 +1,16 @@
// Copyright 2022 @waffle87
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
_MAIN,
_RAISE,
_LOWER,
};
// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT(
[0] = LAYOUT(
KC_0, KC_1, KC_4, KC_7,
KC_ENT, KC_2, KC_5, KC_8,
RAISE, KC_3, KC_6, KC_9
MO(1), KC_3, KC_6, KC_9
),
[_RAISE] = LAYOUT(
[1] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, QK_BOOT
)
};

View File

@ -1,25 +1,26 @@
// Copyright 2022 @gwillad
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
[0] = LAYOUT(
KC_0, KC_1, KC_4, KC_7,
KC_ENT, KC_2, KC_5, KC_8,
MO(1), KC_3, KC_6, KC_9
),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
[1] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, QK_BOOT
),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
[2] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
[3] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
)
};

View File

@ -1,5 +0,0 @@
# The via keymap for boardsource 3x4 macropad
This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 3x4 macropad
Maintained by: [gwillad](https://github.com/gwillad)

View File

@ -1,17 +1 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
# This file intentionally left blank