[Keyboard] boardsource/technik_s data driven (#17636)
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
Copyright 2020 Boardsource
 | 
					Copyright 2022 Boardsource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					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
 | 
					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
 | 
					#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_DI_PIN C6
 | 
				
			||||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
					#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
 | 
				
			||||||
// RGB Matrix Animation modes. Explicitly enabled
 | 
					#define DRIVER_LED_TOTAL 55
 | 
				
			||||||
// For full list of effects, see:
 | 
					 | 
				
			||||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
					#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
					#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BREATHING
 | 
					#define ENABLE_RGB_MATRIX_BREATHING
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_SAT
 | 
					#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_SAT
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
 | 
					#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_ALL
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
 | 
					#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_PINWHEEL
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
					#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
 | 
					#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_RAIN
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
					#define ENABLE_RGB_MATRIX_PIXEL_FLOW
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
 | 
					#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_TYPING_HEATMAP
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
 | 
					#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
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
 | 
					#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_CROSS
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
					#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SPLASH
 | 
					#define ENABLE_RGB_MATRIX_SPLASH
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
					#define ENABLE_RGB_MATRIX_MULTISPLASH
 | 
				
			||||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
 | 
					#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,56 +1,135 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "keyboard_name": "Technik-S",
 | 
					  "manufacturer": "Boardsource",
 | 
				
			||||||
    "url": "",
 | 
					  "keyboard_name": "Technik-S",
 | 
				
			||||||
    "maintainer": "Boardsource",
 | 
					  "maintainer": "waffle87",
 | 
				
			||||||
    "layouts": {
 | 
					  "bootloader": "atmel-dfu",
 | 
				
			||||||
        "LAYOUT": {
 | 
					  "diode_direction": "COL2ROW",
 | 
				
			||||||
            "layout": [
 | 
					  "features": {
 | 
				
			||||||
                { "label": "1", "x": 0, "y": 0 },
 | 
					    "bootmagic": true,
 | 
				
			||||||
                { "label": "2", "x": 1, "y": 0 },
 | 
					    "extrakey": true,
 | 
				
			||||||
                { "label": "3", "x": 2, "y": 0 },
 | 
					    "mousekey": true,
 | 
				
			||||||
                { "label": "4", "x": 3, "y": 0 },
 | 
					    "nkro": true,
 | 
				
			||||||
                { "label": "5", "x": 4, "y": 0 },
 | 
					    "rgb_matrix": true
 | 
				
			||||||
                { "label": "6", "x": 5, "y": 0 },
 | 
					  },
 | 
				
			||||||
                { "label": "7", "x": 6, "y": 0 },
 | 
					  "matrix_pins": {
 | 
				
			||||||
                { "label": "8", "x": 7, "y": 0 },
 | 
					    "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
 | 
				
			||||||
                { "label": "9", "x": 8, "y": 0 },
 | 
					    "rows": ["B0", "B1", "B2", "B3"]
 | 
				
			||||||
                { "label": "10", "x": 9, "y": 0 },
 | 
					  },
 | 
				
			||||||
                { "label": "11", "x": 10, "y": 0 },
 | 
					  "processor": "atmega32u4",
 | 
				
			||||||
                { "label": "12", "x": 11, "y": 0 },
 | 
					  "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
 | 
				
			||||||
                { "label": "13", "x": 0, "y": 1, "w": 1.5 },
 | 
					  "usb": {
 | 
				
			||||||
                { "label": "14", "x": 1.5, "y": 1 },
 | 
					    "device_version": "1.0.0",
 | 
				
			||||||
                { "label": "15", "x": 2.5, "y": 1 },
 | 
					    "pid": "0x0083",
 | 
				
			||||||
                { "label": "16", "x": 3.5, "y": 1 },
 | 
					    "vid": "0x4273"
 | 
				
			||||||
                { "label": "17", "x": 4.5, "y": 1 },
 | 
					  },
 | 
				
			||||||
                { "label": "18", "x": 5.5, "y": 1 },
 | 
					  "rgb_matrix": {
 | 
				
			||||||
                { "label": "19", "x": 6.5, "y": 1 },
 | 
					    "layout": [
 | 
				
			||||||
                { "label": "20", "x": 7.5, "y": 1 },
 | 
					      { "flags": 2, "x": 220, "y": 17 },
 | 
				
			||||||
                { "label": "21", "x": 8.5, "y": 1 },
 | 
					      { "flags": 2, "x": 172, "y": 17 },
 | 
				
			||||||
                { "label": "22", "x": 9.5, "y": 1 },
 | 
					      { "flags": 2, "x": 112, "y": 17 },
 | 
				
			||||||
                { "label": "23", "x": 10.5, "y": 1, "w": 1.5 },
 | 
					      { "flags": 2, "x": 50, "y": 17 },
 | 
				
			||||||
                { "label": "24", "x": 0, "y": 2 },
 | 
					      { "flags": 2, "x": 4, "y": 17 },
 | 
				
			||||||
                { "label": "25", "x": 1, "y": 2 },
 | 
					      { "flags": 2, "x": 4, "y": 56 },
 | 
				
			||||||
                { "label": "26", "x": 2, "y": 2 },
 | 
					      { "flags": 2, "x": 50, "y": 56 },
 | 
				
			||||||
                { "label": "27", "x": 3, "y": 2 },
 | 
					      { "flags": 2, "x": 112, "y": 56 },
 | 
				
			||||||
                { "label": "28", "x": 4, "y": 2 },
 | 
					      { "flags": 2, "x": 172, "y": 56 },
 | 
				
			||||||
                { "label": "29", "x": 5, "y": 2 },
 | 
					      { "flags": 2, "x": 220, "y": 56 },
 | 
				
			||||||
                { "label": "30", "x": 6, "y": 2 },
 | 
					      { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
 | 
				
			||||||
                { "label": "31", "x": 7, "y": 2 },
 | 
					      { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
 | 
				
			||||||
                { "label": "32", "x": 8, "y": 2 },
 | 
					      { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
 | 
				
			||||||
                { "label": "33", "x": 9, "y": 2 },
 | 
					      { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
 | 
				
			||||||
                { "label": "34", "x": 10, "y": 2 },
 | 
					      { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
 | 
				
			||||||
                { "label": "35", "x": 11, "y": 2 },
 | 
					      { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
 | 
				
			||||||
                { "label": "36", "x": 0, "y": 3 },
 | 
					      { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
 | 
				
			||||||
                { "label": "37", "x": 1, "y": 3 },
 | 
					      { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
 | 
				
			||||||
                { "label": "38", "x": 2, "y": 3 },
 | 
					      { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
 | 
				
			||||||
                { "label": "39", "x": 3, "y": 3, "w": 1.5 },
 | 
					      { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
 | 
				
			||||||
                { "label": "40", "x": 4.5, "y": 3, "w": 1.5 },
 | 
					      { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
 | 
				
			||||||
                { "label": "41", "x": 6, "y": 3, "w": 1.5 },
 | 
					      { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
 | 
				
			||||||
                { "label": "42", "x": 7.5, "y": 3, "w": 1.5 },
 | 
					      { "flags": 1, "matrix": [1, 0], "x": 10, "y": 21 },
 | 
				
			||||||
                { "label": "43", "x": 9, "y": 3 },
 | 
					      { "flags": 4, "matrix": [1, 2], "x": 30, "y": 21 },
 | 
				
			||||||
                { "label": "44", "x": 10, "y": 3 },
 | 
					      { "flags": 4, "matrix": [1, 3], "x": 51, "y": 21 },
 | 
				
			||||||
                { "label": "45", "x": 11, "y": 3 }
 | 
					      { "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": [
 | 
				
			||||||
 | 
					        { "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
 | 
					 * 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
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
@@ -22,32 +22,26 @@ enum layers {
 | 
				
			|||||||
    _LOWER,
 | 
					    _LOWER,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Readability keycodes
 | 
					 | 
				
			||||||
#define LOWER   MO(_LOWER)
 | 
					#define LOWER   MO(_LOWER)
 | 
				
			||||||
#define RAISE   MO(_RAISE)
 | 
					#define RAISE   MO(_RAISE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_MAIN] = LAYOUT(
 | 
					  [_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_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_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 ,
 | 
					    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
 | 
					    RGB_TOG, KC_LCTL, KC_LALT,   LOWER,   KC_SPC,   KC_SPC, RAISE,  KC_LEFT,   KC_DOWN, KC_RIGHT
 | 
				
			||||||
  ),
 | 
					  ),
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					  [_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_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, 
 | 
					    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,  _______,
 | 
					    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 
 | 
					    QK_BOOT,   _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD 
 | 
				
			||||||
  ),
 | 
					  ),
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					  [_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_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_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_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
				
			||||||
 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
 | 
					    _______, _______, _______, _______, _______, _______, _______, _______, 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
 | 
					 * 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
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
@@ -22,32 +22,32 @@ enum layers {
 | 
				
			|||||||
    _LOWER,
 | 
					    _LOWER,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Readability keycodes
 | 
					 | 
				
			||||||
#define LOWER   MO(_LOWER)
 | 
					#define LOWER   MO(_LOWER)
 | 
				
			||||||
#define RAISE   MO(_RAISE)
 | 
					#define RAISE   MO(_RAISE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_MAIN] = LAYOUT(
 | 
					  [_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_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_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 ,
 | 
					    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
 | 
					    RGB_TOG, KC_LCTL, KC_LALT,   LOWER,   KC_SPC,   KC_SPC, RAISE,  KC_LEFT,   KC_DOWN, KC_RIGHT
 | 
				
			||||||
  ),
 | 
					  ),
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					  [_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_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, 
 | 
					    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,  _______,
 | 
					    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 
 | 
					    QK_BOOT,   _______, _______, _______, _______, _______, _______, _______,    KC_MNXT,    KC_VOLD 
 | 
				
			||||||
  ),
 | 
					  ),
 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					  [_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_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_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_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
 | 
				
			||||||
 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
 | 
					    _______, _______, _______, _______, _______, _______, _______, _______, 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
 | 
					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} \
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user