Explorar o código

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

* initial

* change to development board

* replaced KC_TRNS & use rules.mk template
jack %!s(int64=2) %!d(string=hai) anos
pai
achega
a991d65e87

+ 0 - 1
keyboards/boardsource/3x4/3x4.c

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

+ 0 - 12
keyboards/boardsource/3x4/3x4.h

@@ -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} \
-    }

+ 0 - 70
keyboards/boardsource/3x4/config.h

@@ -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

+ 37 - 24
keyboards/boardsource/3x4/info.json

@@ -1,27 +1,40 @@
 {
-    "keyboard_name": "boardsource 4x3",
-    "url": "https://boardsource.xyz",
-    "maintainer": "boardsource",
-    "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 }
-            ]
-        }
+  "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": [
+        { "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 }
+      ]
     }
+  }
 }

+ 7 - 17
keyboards/boardsource/3x4/keymaps/default/keymap.c

@@ -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(
-  KC_0,  KC_1,    KC_4,    KC_7, 
-  KC_ENT,  KC_2,    KC_5,    KC_8, 
-  RAISE,  KC_3,    KC_6,    KC_9
+  [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
   ),
-  [_RAISE] = LAYOUT(
+  [1] = LAYOUT(
     _______, _______, _______, _______,
     _______, _______, _______, _______,
     _______, _______, _______, QK_BOOT
   )
-
 };

+ 22 - 21
keyboards/boardsource/3x4/keymaps/via/keymap.c

@@ -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(
-        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
-    ),
-    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
-    ),
-    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
-    )
+  [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
+  ),
+  [1] = LAYOUT(
+    _______, _______, _______, _______,
+    _______, _______, _______, _______,
+    _______, _______, _______, QK_BOOT
+  ),
+  [2] = LAYOUT(
+    _______, _______, _______, _______,
+    _______, _______, _______, _______,
+    _______, _______, _______, _______
+  ),
+  [3] = LAYOUT(
+    _______, _______, _______, _______,
+    _______, _______, _______, _______,
+    _______, _______, _______, _______
+  )
 };

+ 0 - 5
keyboards/boardsource/3x4/keymaps/via/readme.md

@@ -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)

+ 1 - 17
keyboards/boardsource/3x4/rules.mk

@@ -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