Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						590c2342fc
					
				
					 18 changed files with 241 additions and 539 deletions
				
			
		| 
						 | 
				
			
			@ -1,38 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "beiwagon.h"
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
  {7,8,9},
 | 
			
		||||
    {10,11,12},
 | 
			
		||||
    {13,14,15},
 | 
			
		||||
    {16,17,18}
 | 
			
		||||
}, {
 | 
			
		||||
   {2, 0}, {1, 0}, {0, 0},
 | 
			
		||||
   {2, 1}, {1, 1}, {0, 1},
 | 
			
		||||
   {2, 2}, {1, 2}, {0, 2},
 | 
			
		||||
   {2, 3}, {1, 3}, {0, 3},
 | 
			
		||||
}, {
 | 
			
		||||
    2, 2, 2, 2, 2, 2, 
 | 
			
		||||
    1, 1, 1,
 | 
			
		||||
    1, 4, 1,
 | 
			
		||||
    1, 4, 1,
 | 
			
		||||
    1, 1, 1 
 | 
			
		||||
 | 
			
		||||
} };
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,32 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    K00, K01, K02, \
 | 
			
		||||
    K10, K11, K12, \
 | 
			
		||||
    K20, K21, K22, \
 | 
			
		||||
    K30, K31, K32\
 | 
			
		||||
    ) { \
 | 
			
		||||
        {K00, K01, K02 }, \
 | 
			
		||||
        {K10, K11, K12 }, \
 | 
			
		||||
        {K20, K21, K22 }, \
 | 
			
		||||
        {K30, K31, K32 } \
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2020 Boardsource
 | 
			
		||||
Copyright 2022 Boardsource
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -16,62 +16,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID    0x4273
 | 
			
		||||
#define PRODUCT_ID   0x0066
 | 
			
		||||
#define DEVICE_VER   0x0001
 | 
			
		||||
#define MANUFACTURER Boardsource
 | 
			
		||||
#define PRODUCT      Beiwagon
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
#define MATRIX_ROWS 4
 | 
			
		||||
#define MATRIX_COLS 3
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Keyboard Matrix Assignments
 | 
			
		||||
 *
 | 
			
		||||
 * Change this to how you wired your keyboard
 | 
			
		||||
 * COLS: AVR pins used for columns, left to right
 | 
			
		||||
 * ROWS: AVR pins used for rows, top to bottom
 | 
			
		||||
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 | 
			
		||||
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
#define MATRIX_ROW_PINS {B0, B1, B2, B3}
 | 
			
		||||
#define MATRIX_COL_PINS {B5,B6,B7}
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
/* COL2ROW, ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
//#define BACKLIGHT_PIN B7
 | 
			
		||||
//#define BACKLIGHT_LEVELS 3
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
#define RGB_DI_PIN C6
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
			
		||||
// RGB Matrix Animation modes. Explicitly enabled
 | 
			
		||||
// For full list of effects, see:
 | 
			
		||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
 | 
			
		||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
			
		||||
#define DRIVER_LED_TOTAL 18
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
			
		||||
| 
						 | 
				
			
			@ -85,81 +41,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
			
		||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
			
		||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
 | 
			
		||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
			
		||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
#define RGBLED_NUM 6    // Number of LEDs
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DRIVER_LED_TOTAL  22
 | 
			
		||||
 | 
			
		||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
			
		||||
#define DEBOUNCE 5
 | 
			
		||||
 | 
			
		||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
 | 
			
		||||
//#define MATRIX_HAS_GHOST
 | 
			
		||||
 | 
			
		||||
/* 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 useful 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
 | 
			
		||||
 | 
			
		||||
/* Bootmagic Lite key configuration */
 | 
			
		||||
//#define BOOTMAGIC_LITE_ROW 0
 | 
			
		||||
//#define BOOTMAGIC_LITE_COLUMN 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,25 +1,63 @@
 | 
			
		|||
{
 | 
			
		||||
  "manufacturer": "Boardsource",
 | 
			
		||||
  "keyboard_name": "Beiwagon",
 | 
			
		||||
    "url": "",
 | 
			
		||||
    "maintainer": "Boardsource",
 | 
			
		||||
  "maintainer": "waffle87",
 | 
			
		||||
  "bootloader": "atmel-dfu",
 | 
			
		||||
  "diode_direction": "COL2ROW",
 | 
			
		||||
  "features": {
 | 
			
		||||
    "bootmagic": true,
 | 
			
		||||
    "extrakey": true,
 | 
			
		||||
    "mousekey": false,
 | 
			
		||||
    "rgb_matrix": true
 | 
			
		||||
  },
 | 
			
		||||
  "matrix_pins": {
 | 
			
		||||
    "cols": ["B5", "B6", "B7"],
 | 
			
		||||
    "rows": ["B0", "B1", "B2", "B3"]
 | 
			
		||||
  },
 | 
			
		||||
  "processor": "atmega32u4",
 | 
			
		||||
  "url": "https://boardsource.xyz/store/5ffbfe2ab855550844cab109",
 | 
			
		||||
  "usb": {
 | 
			
		||||
    "device_version": "1.0.0",
 | 
			
		||||
    "pid": "0x0066",
 | 
			
		||||
    "vid": "0x4273"
 | 
			
		||||
  },
 | 
			
		||||
  "rgb_matrix": {
 | 
			
		||||
    "layout": [
 | 
			
		||||
      { "flags": 2, "x": 16, "y": 38 },
 | 
			
		||||
      { "flags": 2, "x": 16, "y": 113 },
 | 
			
		||||
      { "flags": 2, "x": 16, "y": 188 },
 | 
			
		||||
      { "flags": 2, "x": 48, "y": 38 },
 | 
			
		||||
      { "flags": 2, "x": 48, "y": 113 },
 | 
			
		||||
      { "flags": 2, "x": 48, "y": 188 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 0], "x": 0,  "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 1], "x": 32, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 2], "x": 64, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 0], "x": 0,  "y": 75 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 1], "x": 32, "y": 75 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 2], "x": 64, "y": 75 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 0], "x": 0,  "y": 150 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 1], "x": 32, "y": 150 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 2], "x": 64, "y": 150 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 0], "x": 0,  "y": 224 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 1], "x": 32, "y": 224 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 2], "x": 64, "y": 224 }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
                { "label": "k00", "x": 0, "y": 0 },
 | 
			
		||||
                { "label": "k01", "x": 1, "y": 0 },
 | 
			
		||||
                { "label": "k02", "x": 2, "y": 0 },
 | 
			
		||||
 | 
			
		||||
                { "label": "k10", "x": 0, "y": 1 },
 | 
			
		||||
                { "label": "k11", "x": 1, "y": 1 },
 | 
			
		||||
                { "label": "k12", "x": 2, "y": 1 },
 | 
			
		||||
 | 
			
		||||
                { "label": "k20", "x": 0, "y": 2 },
 | 
			
		||||
                { "label": "k21", "x": 1, "y": 2 },
 | 
			
		||||
                { "label": "k22", "x": 2, "y": 2 },
 | 
			
		||||
 | 
			
		||||
                { "label": "k30", "x": 0, "y": 3 },
 | 
			
		||||
                { "label": "k31", "x": 1, "y": 3 },
 | 
			
		||||
                { "label": "k32", "x": 2, "y": 3 }
 | 
			
		||||
        { "matrix": [0, 0], "x": 0, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 1], "x": 1, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 2], "x": 2, "y": 0 },
 | 
			
		||||
        { "matrix": [1, 0], "x": 0, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 1], "x": 1, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 2], "x": 2, "y": 1 },
 | 
			
		||||
        { "matrix": [2, 0], "x": 0, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 1], "x": 1, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 2], "x": 2, "y": 2 },
 | 
			
		||||
        { "matrix": [3, 0], "x": 0, "y": 2 },
 | 
			
		||||
        { "matrix": [3, 1], "x": 1, "y": 2 },
 | 
			
		||||
        { "matrix": [3, 2], "x": 2, "y": 2 }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
/* Copyright 2022 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -18,30 +18,23 @@
 | 
			
		|||
 | 
			
		||||
enum layers {
 | 
			
		||||
    _MAIN,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Readability keycodes
 | 
			
		||||
#define LOWER   MO(_LOWER)
 | 
			
		||||
#define RAISE   MO(_RAISE)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_MAIN] = LAYOUT(
 | 
			
		||||
     KC_7,  KC_8,  KC_9,
 | 
			
		||||
     KC_4,  KC_5,  KC_6,
 | 
			
		||||
     KC_1,  KC_2,  KC_3,
 | 
			
		||||
     KC_0,  KC_PENT,RAISE
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
     KC_7,  KC_8,  RGB_TOG,
 | 
			
		||||
     KC_4,  KC_5,  RGB_MOD,
 | 
			
		||||
     KC_1,  KC_2,  KC_3,
 | 
			
		||||
     KC_0,  KC_PENT,KC_TRNS
 | 
			
		||||
 | 
			
		||||
     KC_0,  KC_PENT,_______
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# The default keymap for Beiwagon
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
/* Copyright 2022 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -18,30 +18,35 @@
 | 
			
		|||
 | 
			
		||||
enum layers {
 | 
			
		||||
    _MAIN,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Readability keycodes
 | 
			
		||||
#define LOWER   MO(_LOWER)
 | 
			
		||||
#define RAISE   MO(_RAISE)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_MAIN] = LAYOUT(
 | 
			
		||||
     KC_7,  KC_8,  KC_9,
 | 
			
		||||
     KC_4,  KC_5,  KC_6,
 | 
			
		||||
     KC_1,  KC_2,  KC_3,
 | 
			
		||||
     KC_0,  KC_PENT,RAISE
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
     KC_7,  KC_8,  RGB_TOG,
 | 
			
		||||
     KC_4,  KC_5,  RGB_MOD,
 | 
			
		||||
     KC_1,  KC_2,  KC_3,
 | 
			
		||||
     KC_0,  KC_PENT,KC_TRNS
 | 
			
		||||
 | 
			
		||||
     KC_0,  KC_PENT,_______
 | 
			
		||||
  ),
 | 
			
		||||
  [2] = LAYOUT(
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______
 | 
			
		||||
  ),
 | 
			
		||||
  [3] = LAYOUT(
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______,
 | 
			
		||||
    _______, _______, _______
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# The via keymap for Beiwagon
 | 
			
		||||
| 
						 | 
				
			
			@ -1,20 +1 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = atmega32u4
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = atmel-dfu
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no       # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = no       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
RGB_MATRIX_ENABLE = yes
 | 
			
		||||
RGB_MATRIX_DRIVER = WS2812
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2020 Boardsource
 | 
			
		||||
Copyright 2022 Boardsource
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -16,62 +16,19 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID    0x4273
 | 
			
		||||
#define PRODUCT_ID   0x0083
 | 
			
		||||
#define DEVICE_VER   0x0001
 | 
			
		||||
#define MANUFACTURER Boardsource
 | 
			
		||||
#define PRODUCT      Technik-S
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
#define MATRIX_ROWS 4
 | 
			
		||||
#define MATRIX_COLS 12
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Keyboard Matrix Assignments
 | 
			
		||||
 *
 | 
			
		||||
 * Change this to how you wired your keyboard
 | 
			
		||||
 * COLS: AVR pins used for columns, left to right
 | 
			
		||||
 * ROWS: AVR pins used for rows, top to bottom
 | 
			
		||||
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 | 
			
		||||
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
#define MATRIX_ROW_PINS {B0, B1, B2, B3}
 | 
			
		||||
#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6}
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
/* COL2ROW, ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
//#define BACKLIGHT_PIN B7
 | 
			
		||||
//#define BACKLIGHT_LEVELS 3
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
#define RGB_DI_PIN C6
 | 
			
		||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
			
		||||
// RGB Matrix Animation modes. Explicitly enabled
 | 
			
		||||
// For full list of effects, see:
 | 
			
		||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
 | 
			
		||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
			
		||||
#define DRIVER_LED_TOTAL 55
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
			
		||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
			
		||||
| 
						 | 
				
			
			@ -85,81 +42,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
 | 
			
		||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
			
		||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
			
		||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
 | 
			
		||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
			
		||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
			
		||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
			
		||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
#    define RGBLED_NUM 10  // Number of LEDs
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define DRIVER_LED_TOTAL  55
 | 
			
		||||
 | 
			
		||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
			
		||||
#define DEBOUNCE 5
 | 
			
		||||
 | 
			
		||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
 | 
			
		||||
//#define MATRIX_HAS_GHOST
 | 
			
		||||
 | 
			
		||||
/* 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 useful 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
 | 
			
		||||
 | 
			
		||||
/* Bootmagic Lite key configuration */
 | 
			
		||||
//#define BOOTMAGIC_LITE_ROW 0
 | 
			
		||||
//#define BOOTMAGIC_LITE_COLUMN 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,55 +1,134 @@
 | 
			
		|||
{
 | 
			
		||||
  "manufacturer": "Boardsource",
 | 
			
		||||
  "keyboard_name": "Technik-S",
 | 
			
		||||
    "url": "",
 | 
			
		||||
    "maintainer": "Boardsource",
 | 
			
		||||
  "maintainer": "waffle87",
 | 
			
		||||
  "bootloader": "atmel-dfu",
 | 
			
		||||
  "diode_direction": "COL2ROW",
 | 
			
		||||
  "features": {
 | 
			
		||||
    "bootmagic": true,
 | 
			
		||||
    "extrakey": true,
 | 
			
		||||
    "mousekey": true,
 | 
			
		||||
    "nkro": true,
 | 
			
		||||
    "rgb_matrix": true
 | 
			
		||||
  },
 | 
			
		||||
  "matrix_pins": {
 | 
			
		||||
    "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
 | 
			
		||||
    "rows": ["B0", "B1", "B2", "B3"]
 | 
			
		||||
  },
 | 
			
		||||
  "processor": "atmega32u4",
 | 
			
		||||
  "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
 | 
			
		||||
  "usb": {
 | 
			
		||||
    "device_version": "1.0.0",
 | 
			
		||||
    "pid": "0x0083",
 | 
			
		||||
    "vid": "0x4273"
 | 
			
		||||
  },
 | 
			
		||||
  "rgb_matrix": {
 | 
			
		||||
    "layout": [
 | 
			
		||||
      { "flags": 2, "x": 220, "y": 17 },
 | 
			
		||||
      { "flags": 2, "x": 172, "y": 17 },
 | 
			
		||||
      { "flags": 2, "x": 112, "y": 17 },
 | 
			
		||||
      { "flags": 2, "x": 50, "y": 17 },
 | 
			
		||||
      { "flags": 2, "x": 4, "y": 17 },
 | 
			
		||||
      { "flags": 2, "x": 4, "y": 56 },
 | 
			
		||||
      { "flags": 2, "x": 50, "y": 56 },
 | 
			
		||||
      { "flags": 2, "x": 112, "y": 56 },
 | 
			
		||||
      { "flags": 2, "x": 172, "y": 56 },
 | 
			
		||||
      { "flags": 2, "x": 220, "y": 56 },
 | 
			
		||||
      { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
 | 
			
		||||
      { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
 | 
			
		||||
      { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
 | 
			
		||||
      { "flags": 1, "matrix": [1, 0], "x": 10, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 2], "x": 30, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 3], "x": 51, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 4], "x": 71, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 5], "x": 91, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 6], "x": 112, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 7], "x": 132, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 8], "x": 152, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 9], "x": 173, "y": 21 },
 | 
			
		||||
      { "flags": 4, "matrix": [1, 10], "x": 193, "y": 21 },
 | 
			
		||||
      { "flags": 1, "matrix": [1, 11], "x": 214, "y": 21 },
 | 
			
		||||
      { "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 },
 | 
			
		||||
      { "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 },
 | 
			
		||||
      { "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 },
 | 
			
		||||
      { "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 1], "x": 20, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 2], "x": 40, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 3], "x": 68, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 5], "x": 97, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 6], "x": 126, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 8], "x": 154, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 9], "x": 183, "y": 64 },
 | 
			
		||||
      { "flags": 4, "matrix": [3, 10], "x": 203, "y": 64 },
 | 
			
		||||
      { "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
                { "label": "1", "x": 0, "y": 0 },
 | 
			
		||||
                { "label": "2", "x": 1, "y": 0 },
 | 
			
		||||
                { "label": "3", "x": 2, "y": 0 },
 | 
			
		||||
                { "label": "4", "x": 3, "y": 0 },
 | 
			
		||||
                { "label": "5", "x": 4, "y": 0 },
 | 
			
		||||
                { "label": "6", "x": 5, "y": 0 },
 | 
			
		||||
                { "label": "7", "x": 6, "y": 0 },
 | 
			
		||||
                { "label": "8", "x": 7, "y": 0 },
 | 
			
		||||
                { "label": "9", "x": 8, "y": 0 },
 | 
			
		||||
                { "label": "10", "x": 9, "y": 0 },
 | 
			
		||||
                { "label": "11", "x": 10, "y": 0 },
 | 
			
		||||
                { "label": "12", "x": 11, "y": 0 },
 | 
			
		||||
                { "label": "13", "x": 0, "y": 1, "w": 1.5 },
 | 
			
		||||
                { "label": "14", "x": 1.5, "y": 1 },
 | 
			
		||||
                { "label": "15", "x": 2.5, "y": 1 },
 | 
			
		||||
                { "label": "16", "x": 3.5, "y": 1 },
 | 
			
		||||
                { "label": "17", "x": 4.5, "y": 1 },
 | 
			
		||||
                { "label": "18", "x": 5.5, "y": 1 },
 | 
			
		||||
                { "label": "19", "x": 6.5, "y": 1 },
 | 
			
		||||
                { "label": "20", "x": 7.5, "y": 1 },
 | 
			
		||||
                { "label": "21", "x": 8.5, "y": 1 },
 | 
			
		||||
                { "label": "22", "x": 9.5, "y": 1 },
 | 
			
		||||
                { "label": "23", "x": 10.5, "y": 1, "w": 1.5 },
 | 
			
		||||
                { "label": "24", "x": 0, "y": 2 },
 | 
			
		||||
                { "label": "25", "x": 1, "y": 2 },
 | 
			
		||||
                { "label": "26", "x": 2, "y": 2 },
 | 
			
		||||
                { "label": "27", "x": 3, "y": 2 },
 | 
			
		||||
                { "label": "28", "x": 4, "y": 2 },
 | 
			
		||||
                { "label": "29", "x": 5, "y": 2 },
 | 
			
		||||
                { "label": "30", "x": 6, "y": 2 },
 | 
			
		||||
                { "label": "31", "x": 7, "y": 2 },
 | 
			
		||||
                { "label": "32", "x": 8, "y": 2 },
 | 
			
		||||
                { "label": "33", "x": 9, "y": 2 },
 | 
			
		||||
                { "label": "34", "x": 10, "y": 2 },
 | 
			
		||||
                { "label": "35", "x": 11, "y": 2 },
 | 
			
		||||
                { "label": "36", "x": 0, "y": 3 },
 | 
			
		||||
                { "label": "37", "x": 1, "y": 3 },
 | 
			
		||||
                { "label": "38", "x": 2, "y": 3 },
 | 
			
		||||
                { "label": "39", "x": 3, "y": 3, "w": 1.5 },
 | 
			
		||||
                { "label": "40", "x": 4.5, "y": 3, "w": 1.5 },
 | 
			
		||||
                { "label": "41", "x": 6, "y": 3, "w": 1.5 },
 | 
			
		||||
                { "label": "42", "x": 7.5, "y": 3, "w": 1.5 },
 | 
			
		||||
                { "label": "43", "x": 9, "y": 3 },
 | 
			
		||||
                { "label": "44", "x": 10, "y": 3 },
 | 
			
		||||
                { "label": "45", "x": 11, "y": 3 }
 | 
			
		||||
        { "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": [0, 4],  "x": 4, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 5],  "x": 5, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 6],  "x": 6, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 7],  "x": 7, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 8],  "x": 8, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 9],  "x": 9, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 10],  "x": 10, "y": 0 },
 | 
			
		||||
        { "matrix": [0, 11],  "x": 11, "y": 0 },
 | 
			
		||||
        { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 2],  "x": 1.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 3],  "x": 2.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 4],  "x": 3.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 5],  "x": 4.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 6],  "x": 5.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 7],  "x": 6.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 8],  "x": 7.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 9],  "x": 8.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 10],  "x": 9.5, "y": 1 },
 | 
			
		||||
        { "matrix": [1, 11], "w": 1.5, "x": 10.5, "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 },
 | 
			
		||||
        { "matrix": [2, 4],  "x": 4, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 5],  "x": 5, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 6],  "x": 6, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 7],  "x": 7, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 8],  "x": 8, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 9],  "x": 9, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 10],  "x": 10, "y": 2 },
 | 
			
		||||
        { "matrix": [2, 11],  "x": 11, "y": 2 },
 | 
			
		||||
        { "matrix": [3, 0],  "x": 0, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 1],  "x": 1, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 2],  "x": 2, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 3], "w": 1.5, "x": 3, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 5], "w": 1.5, "x": 4.5, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 6], "w": 1.5, "x": 6, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 8], "w": 1.5, "x": 7.5, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 9],  "x": 9, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 10],  "x": 10, "y": 3 },
 | 
			
		||||
        { "matrix": [3, 11],  "x": 11, "y": 3 }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
/* Copyright 2022 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -22,32 +22,26 @@ enum layers {
 | 
			
		|||
    _LOWER,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Readability keycodes
 | 
			
		||||
#define LOWER   MO(_LOWER)
 | 
			
		||||
#define RAISE   MO(_RAISE)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_MAIN] = LAYOUT(
 | 
			
		||||
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
 | 
			
		||||
    KC_ESC,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
 | 
			
		||||
    KC_LSHIFT,KC_LSHIFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM,  KC_UP, KC_ENT ,
 | 
			
		||||
    RGB_TOG, KC_LCTL, KC_LALT,   LOWER,   KC_SPC,   KC_SPC, RAISE,  KC_LEFT,   KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, 
 | 
			
		||||
    RGB_MOD, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
 | 
			
		||||
    QK_BOOT,   _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD 
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = LAYOUT(
 | 
			
		||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
			
		||||
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC,
 | 
			
		||||
    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# The default keymap for Technik-S
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
/* Copyright 2022 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -22,32 +22,32 @@ enum layers {
 | 
			
		|||
    _LOWER,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Readability keycodes
 | 
			
		||||
#define LOWER   MO(_LOWER)
 | 
			
		||||
#define RAISE   MO(_RAISE)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_MAIN] = LAYOUT(
 | 
			
		||||
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
 | 
			
		||||
    KC_ESC,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
 | 
			
		||||
    KC_LSHIFT,KC_LSHIFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM,  KC_UP, KC_ENT ,
 | 
			
		||||
    RGB_TOG, KC_LCTL, KC_LALT,   LOWER,   KC_SPC,   KC_SPC, RAISE,  KC_LEFT,   KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS,    KC_PLUS,    KC_LCBR, KC_RCBR, 
 | 
			
		||||
    RGB_MOD, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END,  _______,
 | 
			
		||||
    QK_BOOT,   _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD 
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = LAYOUT(
 | 
			
		||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
			
		||||
    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC,
 | 
			
		||||
    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
 | 
			
		||||
  ),
 | 
			
		||||
  [3] = LAYOUT(
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# The via keymap for Technik-S
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +1 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = atmega32u4
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = atmel-dfu
 | 
			
		||||
 | 
			
		||||
# 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 = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
RGB_MATRIX_ENABLE = yes
 | 
			
		||||
RGB_MATRIX_DRIVER = WS2812
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,38 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "technik_s.h"
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
    {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
 | 
			
		||||
    {22, NO_LED, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32},
 | 
			
		||||
    {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44},
 | 
			
		||||
    {45, 46, 47, 48, NO_LED, 49, 50, NO_LED, 51, 52, 53, 54}
 | 
			
		||||
}, {
 | 
			
		||||
    {220, 17}, {172, 17}, {112, 17}, { 50, 17}, {  4, 17}, {  4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
 | 
			
		||||
    {  0,  0}, { 20,  0}, { 40,  0}, { 61,  0}, { 81,  0}, {101,  0}, {122,  0}, {142,  0}, {162,  0}, {183,  0}, {203,  0}, {224,  0},
 | 
			
		||||
         { 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21},
 | 
			
		||||
    {  0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
 | 
			
		||||
    {  0, 64}, { 20, 64}, { 40, 64},      { 68, 64}, { 97, 64},            {126, 64}, {154, 64},       {183, 64}, {203, 64}, {224, 64}
 | 
			
		||||
}, {
 | 
			
		||||
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
 | 
			
		||||
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
			
		||||
    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
			
		||||
    1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
 | 
			
		||||
    1, 1, 1, 1, 4, 4, 1, 1, 1, 1
 | 
			
		||||
} };
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Boardsource
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
 | 
			
		||||
       K12,  K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
 | 
			
		||||
    K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
 | 
			
		||||
    K36, K37, K38, K39, K40, K41, K42, K43, K44, K45 \
 | 
			
		||||
    ) { \
 | 
			
		||||
        {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
 | 
			
		||||
       {K12, KC_NO, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
 | 
			
		||||
        {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
 | 
			
		||||
        {K36, K37, K38, K39,KC_NO,K40, K41,KC_NO,K42, K43, K44, K45} \
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue