Add support for Envious.Design Keyboards

Add various RP2040 keyboards I've designed.
This commit is contained in:
EnviousData 2022-07-02 20:32:40 +01:00
parent 6c7d549e31
commit 6baea243af
54 changed files with 2547 additions and 0 deletions

View File

@ -0,0 +1,20 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H

View File

@ -0,0 +1,45 @@
/* Copyright 2022 Envious DesignLAYOUT_60_iso
*
* 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"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*
*
*
*
*/
#define LAYOUT_60_comb( \
KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC113, \
KC200, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213, \
KC300, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313, \
KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC412, \
KC500, KC501, KC502, KC503, KC504, KC505, KC506, KC507 \
) { \
{ KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC_NO, KC113,}, \
{ KC200, KC_NO, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213,}, \
{ KC300, KC_NO, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313,}, \
{ KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC_NO, KC412, KC_NO,}, \
{ KC500, KC501, KC_NO, KC502, KC_NO, KC_NO, KC503, KC_NO, KC_NO, KC_NO, KC504, KC505, KC_NO, KC506, KC507 } \
}

View File

@ -0,0 +1,152 @@
/*
Copyright 2022 Envious Design
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0xE739
#define DEVICE_VER 0x0001
#define MANUFACTURER EnviousDesign
#define PRODUCT 60F 1.0
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
/*
* 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 { 11, 12, 13, 14, 15 }
#define MATRIX_COL_PINS { 10, 9, 8, 7, 6, 5, 16, 17, 18, 19, 20, 21, 22, 26, 27 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN 25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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
/* disable these deprecated features by default */
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -0,0 +1,10 @@
{
"keyboard_name": "60F 1.0",
"url": "http://envious.design",
"maintainer": "Envious.Design",
"layouts": {
"LAYOUT_60_comb": {
"layout": [{"label":"0,0", "x":2.5, "y":0}, {"label":"0,1", "x":3.5, "y":0}, {"label":"0,2", "x":4.5, "y":0}, {"label":"0,3", "x":5.5, "y":0}, {"label":"0,4", "x":6.5, "y":0}, {"label":"0,5", "x":7.5, "y":0}, {"label":"0,6", "x":8.5, "y":0}, {"label":"0,7", "x":9.5, "y":0}, {"label":"0,8", "x":10.5, "y":0}, {"label":"0,9", "x":11.5, "y":0}, {"label":"0,10", "x":12.5, "y":0}, {"label":"0,11", "x":13.5, "y":0}, {"label":"0,12", "x":14.5, "y":0}, {"label":"0,14", "x":15.5, "y":0, "w":2}, {"label":"1,0", "x":2.5, "y":1, "w":1.5}, {"label":"1,2", "x":4, "y":1}, {"label":"1,3", "x":5, "y":1}, {"label":"1,4", "x":6, "y":1}, {"label":"1,5", "x":7, "y":1}, {"label":"1,6", "x":8, "y":1}, {"label":"1,7", "x":9, "y":1}, {"label":"1,8", "x":10, "y":1}, {"label":"1,9", "x":11, "y":1}, {"label":"1,10", "x":12, "y":1}, {"label":"1,11", "x":13, "y":1}, {"label":"1,12", "x":14, "y":1}, {"label":"1,13", "x":15, "y":1}, {"label":"2,14", "x":16.25, "y":1, "w":1.25, "h":2}, {"label":"1,14", "x":18.5, "y":1, "w":1.5}, {"label":"2,0", "x":2.5, "y":2, "w":1.75}, {"label":"2,2", "x":4.25, "y":2}, {"label":"2,3", "x":5.25, "y":2}, {"label":"2,4", "x":6.25, "y":2}, {"label":"2,5", "x":7.25, "y":2}, {"label":"2,6", "x":8.25, "y":2}, {"label":"2,7", "x":9.25, "y":2}, {"label":"2,8", "x":10.25, "y":2}, {"label":"2,9", "x":11.25, "y":2}, {"label":"2,10", "x":12.25, "y":2}, {"label":"2,11", "x":13.25, "y":2}, {"label":"2,12", "x":14.25, "y":2}, {"label":"2,13", "x":15.25, "y":2}, {"label":"3,0", "x":2.5, "y":3, "w":1.25}, {"label":"3,1", "x":3.75, "y":3}, {"label":"3,2", "x":4.75, "y":3}, {"label":"3,3", "x":5.75, "y":3}, {"label":"3,4", "x":6.75, "y":3}, {"label":"3,5", "x":7.75, "y":3}, {"label":"3,6", "x":8.75, "y":3}, {"label":"3,7", "x":9.75, "y":3}, {"label":"3,8", "x":10.75, "y":3}, {"label":"3,9", "x":11.75, "y":3}, {"label":"3,10", "x":12.75, "y":3}, {"label":"3,11", "x":13.75, "y":3}, {"label":"3,13", "x":14.75, "y":3, "w":2.75}, {"label":"4,0", "x":2.5, "y":4, "w":1.25}, {"label":"4,1", "x":3.75, "y":4, "w":1.25}, {"label":"4,3", "x":5, "y":4, "w":1.25}, {"label":"4,6", "x":6.25, "y":4, "w":6.25}, {"label":"4,10", "x":12.5, "y":4, "w":1.25}, {"label":"4,11", "x":13.75, "y":4, "w":1.25}, {"label":"4,13", "x":15, "y":4, "w":1.25}, {"label":"4,14", "x":16.25, "y":4, "w":1.25}]
}
}
}

View File

@ -0,0 +1,44 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
//tempoary I guess.
#define RESET KC_NO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_60_comb(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL
),
[1] = LAYOUT_60_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS
), [2] = LAYOUT_60_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS
),
};

View File

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0x96, 0x81, 0x7A, 0x4C, 0xCA, 0xED, 0xA7, 0x6B}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }

View File

@ -0,0 +1,44 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
//tempoary I guess.
#define RESET KC_NO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_60_comb(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL
),
[1] = LAYOUT_60_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS
), [2] = LAYOUT_60_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
QK_BOOT, KC_VOLU, KC_UP, KC_MYCM, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INSERT,KC_HOME,KC_PGUP, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS
),
};

View File

@ -0,0 +1,3 @@
EEPROM_DRIVER = vendor
VIA_ENABLE = yes
VIAL_ENABLE = yes

View File

@ -0,0 +1,19 @@
# EnvKB 60F
A low cost Standard 60% Design which takes inspiration from the CFTKB Mysterium.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB 60F **<- you are here**
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb/60f:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,21 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

View File

@ -0,0 +1,19 @@
/* Copyright 2021
*
* 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 QMK_KEYBOARD_H

View File

@ -0,0 +1,23 @@
// Copyright 2022
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
#define XXX KC_NO
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2E, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, K3G, \
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F, K4G \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, XXX, XXX }, \
{ K10, XXX, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, XXX, XXX, XXX }, \
{ K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX, XXX }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F, K3G }, \
{ K40, K41, XXX, K43, K44, XXX, K46, XXX, K48, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G }, \
}

View File

@ -0,0 +1,157 @@
/*
Copyright 2021
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0xE739
#define DEVICE_VER 0x0001
#define MANUFACTURER EnviousDesign
#define PRODUCT EnvKB 65M
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 17
#define GPIO_INPUT_PIN_DELAY 100
#define DEBUG_MATRIX_SCAN_RATE
#define DEBUG_ACTION
/*
* KeyMatrix 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 { GP21, GP20, GP19, GP18, GP17 }
#define MATRIX_COL_PINS { GP0, GP1, GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12, GP13, GP14, GP15, GP16 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyspecific options, make sure you have 'SPLIT_KEY= yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN 25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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 keyreset.
*
* 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 key. 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
/* disable these deprecated features by default */
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -0,0 +1,82 @@
{
"keyboard_name": "EnvKB 65M",
"url": "http://envious.design",
"maintainer": "Envious.Design",
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "K00 (B0,B5)", "x": 0, "y": 0 },
{ "label": "K01 (B0,B6)", "x": 1, "y": 0 },
{ "label": "K02 (B0,B7)", "x": 2, "y": 0 },
{ "label": "K03 (B0,C0)", "x": 3, "y": 0 },
{ "label": "K04 (B0,C1)", "x": 4, "y": 0 },
{ "label": "K05 (B0,C2)", "x": 5, "y": 0 },
{ "label": "K06 (B0,C3)", "x": 6, "y": 0 },
{ "label": "K07 (B0,C4)", "x": 7, "y": 0 },
{ "label": "K08 (B0,C5)", "x": 8, "y": 0 },
{ "label": "K09 (B0,C6)", "x": 9, "y": 0 },
{ "label": "K0A (B0,C7)", "x": 10, "y": 0 },
{ "label": "K0B (B0,D0)", "x": 11, "y": 0 },
{ "label": "K0C (B0,D1)", "x": 12, "y": 0 },
{ "label": "K0E (B0,D3)", "x": 13, "y": 0, "w": 2 },
{ "label": "K10 (B1,B5)", "x": 0, "y": 1, "w": 1.5 },
{ "label": "K12 (B1,B7)", "x": 1.5, "y": 1 },
{ "label": "K13 (B1,C0)", "x": 2.5, "y": 1 },
{ "label": "K14 (B1,C1)", "x": 3.5, "y": 1 },
{ "label": "K15 (B1,C2)", "x": 4.5, "y": 1 },
{ "label": "K16 (B1,C3)", "x": 5.5, "y": 1 },
{ "label": "K17 (B1,C4)", "x": 6.5, "y": 1 },
{ "label": "K18 (B1,C5)", "x": 7.5, "y": 1 },
{ "label": "K19 (B1,C6)", "x": 8.5, "y": 1 },
{ "label": "K1A (B1,C7)", "x": 9.5, "y": 1 },
{ "label": "K1B (B1,D0)", "x": 10.5, "y": 1 },
{ "label": "K1C (B1,D1)", "x": 11.5, "y": 1 },
{ "label": "K1D (B1,D2)", "x": 12.5, "y": 1 },
{ "label": "K2E (B2,D3)", "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
{ "label": "K20 (B2,B5)", "x": 0, "y": 2, "w": 1.75 },
{ "label": "K22 (B2,B7)", "x": 1.75, "y": 2 },
{ "label": "K23 (B2,C0)", "x": 2.75, "y": 2 },
{ "label": "K24 (B2,C1)", "x": 3.75, "y": 2 },
{ "label": "K25 (B2,C2)", "x": 4.75, "y": 2 },
{ "label": "K26 (B2,C3)", "x": 5.75, "y": 2 },
{ "label": "K27 (B2,C4)", "x": 6.75, "y": 2 },
{ "label": "K28 (B2,C5)", "x": 7.75, "y": 2 },
{ "label": "K29 (B2,C6)", "x": 8.75, "y": 2 },
{ "label": "K2A (B2,C7)", "x": 9.75, "y": 2 },
{ "label": "K2B (B2,D0)", "x": 10.75, "y": 2 },
{ "label": "K2C (B2,D1)", "x": 11.75, "y": 2 },
{ "label": "K2D (B2,D2)", "x": 12.75, "y": 2 },
{ "label": "K30 (B3,B5)", "x": 0, "y": 3, "w": 1.25 },
{ "label": "K31 (B3,B6)", "x": 1.25, "y": 3 },
{ "label": "K32 (B3,B7)", "x": 2.25, "y": 3 },
{ "label": "K33 (B3,C0)", "x": 3.25, "y": 3 },
{ "label": "K34 (B3,C1)", "x": 4.25, "y": 3 },
{ "label": "K35 (B3,C2)", "x": 5.25, "y": 3 },
{ "label": "K36 (B3,C3)", "x": 6.25, "y": 3 },
{ "label": "K37 (B3,C4)", "x": 7.25, "y": 3 },
{ "label": "K38 (B3,C5)", "x": 8.25, "y": 3 },
{ "label": "K39 (B3,C6)", "x": 9.25, "y": 3 },
{ "label": "K3A (B3,C7)", "x": 10.25, "y": 3 },
{ "label": "K3B (B3,D0)", "x": 11.25, "y": 3 },
{ "label": "K3D (B3,D2)", "x": 12.25, "y": 3, "w": 1.75 },
{ "label": "K3E (B3,D3)", "x": 14, "y": 3 },
{ "label": "K3F (B3,D4)", "x": 15, "y": 3 },
{ "label": "K3G (B3,D5)", "x": 16, "y": 3 },
{ "label": "K40 (B4,B5)", "x": 0, "y": 4, "w": 1.25 },
{ "label": "K41 (B4,B6)", "x": 1.25, "y": 4, "w": 1.25 },
{ "label": "K43 (B4,C0)", "x": 2.5, "y": 4, "w": 1.25 },
{ "label": "K44 (B4,C1)", "x": 3.75, "y": 4, "w": 2.25 },
{ "label": "K46 (B4,C3)", "x": 6, "y": 4, "w": 1.75 },
{ "label": "K48 (B4,C5)", "x": 7.75, "y": 4, "w": 2.25 },
{ "label": "K4A (B4,C7)", "x": 10, "y": 4 },
{ "label": "K4B (B4,D0)", "x": 11, "y": 4 },
{ "label": "K4C (B4,D1)", "x": 12, "y": 4 },
{ "label": "K4D (B4,D2)", "x": 13, "y": 4 },
{ "label": "K4E (B4,D3)", "x": 14, "y": 4 },
{ "label": "K4F (B4,D4)", "x": 15, "y": 4 },
{ "label": "K4G (B4,D5)", "x": 16, "y": 4 }
]
}
}
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}

View File

@ -0,0 +1,17 @@
#include QMK_KEYBOARD_H
// This is unfinished as hecc
// Ill sort this out once I get a working 65% kit in my hands
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_ENT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, XXXXXXX, XXXXXXX,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, XXXXXXX, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX
),
};

View File

@ -0,0 +1,19 @@
# EnvKB 65M
A low cost 65% kit featuring split space and an attempt at fitting a standard keycap set.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB 65M **<- you are here**
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb/65m:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,25 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
VIA_ENABLE = no
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
#LAYOUTS = 65m_all

View File

@ -0,0 +1,15 @@
# Envious.Design QMK Keyboard
Various RP2040 based keyboard designs intended to be reasonably affordable.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB TKL "Delirium"
* Rev 0
* Rev 1
* RGB
* EnvKB 60F
* EnvKB 65M
* EnvKB MCRO 1.0
* Hardware Availability:
* Order Via [Mechboards](http://Mechboards.co.uk) or [BlackCatPlasticWorks](http://BlackCatPlasticworks.com)

View File

@ -0,0 +1,19 @@
# EnvKB MCRO
A small 12 Key macro pad for various uses
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB MCRO Rev 1 **<-- You are here**
Make example for this keyboard (after setting up your build environment):
```
make envious/mcro/rev1:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,156 @@
/*
Copyright 2022 Envious Design
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0xE739
#define DEVICE_VER 0x0011
#define MANUFACTURER EnviousDesign
#define PRODUCT MCRO 1.0
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
/*
* 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 { GP4, GP11, GP15 }
#define MATRIX_COL_PINS { GP18, GP19, GP20, GP21 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN 25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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
/* disable these deprecated features by default */
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
//#define DYNAMIC_KEYMAP_MACRO_COUNT 16

View File

@ -0,0 +1,10 @@
{
"keyboard_name": "MCRO 1.0",
"url": "http://envious.design",
"maintainer": "Envious.Design",
"layouts": {
"LAYOUT": {
"layout": [{"label":"F13", "x":0, "y":0}, {"label":"F14", "x":1, "y":0}, {"label":"F15", "x":2, "y":0}, {"label":"F16", "x":3, "y":0}, {"label":"F17", "x":0, "y":1.25}, {"label":"F18", "x":1, "y":1.25}, {"label":"F19", "x":2, "y":1.25}, {"label":"F20", "x":3, "y":1.25}, {"label":"F21", "x":0, "y":2.5}, {"label":"F22", "x":1, "y":2.5}, {"label":"F23", "x":2, "y":2.5}, {"label":"F24", "x":3, "y":2.5}]
}
}
}

View File

@ -0,0 +1,43 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
//#include "pico_eeprom.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[1] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[2] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[3] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
};

View File

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0xA4, 0x13, 0x53, 0xAF, 0xD2, 0x3D, 0x62, 0x66}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }

View File

@ -0,0 +1,43 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
//#include "pico_eeprom.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[1] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[2] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
[3] = {
{KC_F13, KC_F14, KC_F15, KC_F16},
{KC_F17, KC_F18, KC_F19, KC_F20},
{KC_F21, KC_F22, KC_F23, KC_F24},
},
};

View File

@ -0,0 +1,3 @@
EEPROM_DRIVER = vendor
VIA_ENABLE = yes
VIAL_ENABLE = yes

View File

@ -0,0 +1,19 @@
# EnvKB MCRO
A small 12 Key macro pad for various uses
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB MCRO Rev 1 **<-- You are here**
Make example for this keyboard (after setting up your build environment):
```
make envious/mcro/rev1:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,21 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
void board_init(void) {
}

View File

@ -0,0 +1,41 @@
/* Copyright 2022 Envious DesignLAYOUT_60_iso
*
* 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"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*
*
*
*
*/
#define LAYOUT( \
K00, K01, K02, K03, \
K10, K11, K12, K13, \
K20, K21, K22, K23 \
) { \
{ K00, K01, K02, K03 }, \
{ K10, K11, K12, K13 }, \
{ K20, K21, K22, K23 } \
}

View File

@ -0,0 +1,30 @@
# MCU name
# MCU_FAMILY = PICO
# MCU_SERIES = RP2040
# MCU = cortex-m0plus
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
#ALLOW_WARNINGS = yes
#PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS!
VIA_ENABLE = no
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

View File

@ -0,0 +1,21 @@
# EnvKB DELIRIUM
A low cost Standard TKL Design which takes inspiration from the CFTKB Mysterium.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB TKL Prototype (Revision 0)
* EnvKB TKL Rev1
* EnvKB TKL RGB HS
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb-tkl/rev1:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,158 @@
/*
Copyright 2022 Envious Design
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0xE739
#define DEVICE_VER 0x0000
#define MANUFACTURER EnviousDesign
#define PRODUCT EnvKB TKL Prototype
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
//#define GPIO_INPUT_PIN_DELAY 100
//#define DEBUG_MATRIX_SCAN_RATE
//#define DEBUG_ACTION
/*
* 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 { 20, 21, 22, 26, 27, 28 }
#define MATRIX_COL_PINS { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 18, 17, 16 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN 25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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
/* disable these deprecated features by default */
// #define NO_ACTION_MACRO
// #define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
//#define TRANSIENT_EEPROM_SIZE 128

View File

@ -0,0 +1,99 @@
{
"keyboard_name": "Delirium Prototype",
"maintainer": "Envious.Design",
"url": "http://envious.design",
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "0,0", "x": 0.0, "y": 0.0 },
{ "label": "0,2", "x": 2.0, "y": 0.0 },
{ "label": "0,3", "x": 3.0, "y": 0.0 },
{ "label": "0,4", "x": 4.0, "y": 0.0 },
{ "label": "0,5", "x": 5.0, "y": 0.0 },
{ "label": "0,7", "x": 6.5, "y": 0.0 },
{ "label": "0,8", "x": 7.5, "y": 0.0 },
{ "label": "0,9", "x": 8.5, "y": 0.0 },
{ "label": "0,10", "x": 9.5, "y": 0.0 },
{ "label": "0,11", "x": 11.0, "y": 0.0 },
{ "label": "0,12", "x": 12.0, "y": 0.0 },
{ "label": "0,13", "x": 13.0, "y": 0.0 },
{ "label": "0,14", "x": 14.0, "y": 0.0 },
{ "label": "0,15", "x": 15.25, "y": 0.0 },
{ "label": "0,16", "x": 16.25, "y": 0.0 },
{ "label": "0,17", "x": 17.25, "y": 0.0 },
{ "label": "1,0", "x": 0.0, "y": 1.5 },
{ "label": "1,1", "x": 1.0, "y": 1.5 },
{ "label": "1,2", "x": 2.0, "y": 1.5 },
{ "label": "1,3", "x": 3.0, "y": 1.5 },
{ "label": "1,4", "x": 4.0, "y": 1.5 },
{ "label": "1,5", "x": 5.0, "y": 1.5 },
{ "label": "1,6", "x": 6.0, "y": 1.5 },
{ "label": "1,7", "x": 7.0, "y": 1.5 },
{ "label": "1,8", "x": 8.0, "y": 1.5 },
{ "label": "1,9", "x": 9.0, "y": 1.5 },
{ "label": "1,10", "x": 10.0, "y": 1.5 },
{ "label": "1,11", "x": 11.0, "y": 1.5 },
{ "label": "1,12", "x": 12.0, "y": 1.5 },
{ "label": "1,14", "w": 2.0, "x": 13.0, "y": 1.5 },
{ "label": "1,15", "x": 15.25, "y": 1.5 },
{ "label": "1,16", "x": 16.25, "y": 1.5 },
{ "label": "1,17", "x": 17.25, "y": 1.5 },
{ "label": "2,0", "w": 1.5, "x": 0.0, "y": 2.5 },
{ "label": "2,2", "x": 1.5, "y": 2.5 },
{ "label": "2,3", "x": 2.5, "y": 2.5 },
{ "label": "2,4", "x": 3.5, "y": 2.5 },
{ "label": "2,5", "x": 4.5, "y": 2.5 },
{ "label": "2,6", "x": 5.5, "y": 2.5 },
{ "label": "2,7", "x": 6.5, "y": 2.5 },
{ "label": "2,8", "x": 7.5, "y": 2.5 },
{ "label": "2,9", "x": 8.5, "y": 2.5 },
{ "label": "2,10", "x": 9.5, "y": 2.5 },
{ "label": "2,11", "x": 10.5, "y": 2.5 },
{ "label": "2,12", "x": 11.5, "y": 2.5 },
{ "label": "2,13", "x": 12.5, "y": 2.5 },
{ "h": 2.0, "label": "3,14", "w": 1.25, "x": 13.75, "y": 2.5 },
{ "label": "2,15", "x": 15.25, "y": 2.5 },
{ "label": "2,16", "x": 16.25, "y": 2.5 },
{ "label": "2,17", "x": 17.25, "y": 2.5 },
{ "label": "3,0", "w": 1.75, "x": 0.0, "y": 3.5 },
{ "label": "3,2", "x": 1.75, "y": 3.5 },
{ "label": "3,3", "x": 2.75, "y": 3.5 },
{ "label": "3,4", "x": 3.75, "y": 3.5 },
{ "label": "3,5", "x": 4.75, "y": 3.5 },
{ "label": "3,6", "x": 5.75, "y": 3.5 },
{ "label": "3,7", "x": 6.75, "y": 3.5 },
{ "label": "3,8", "x": 7.75, "y": 3.5 },
{ "label": "3,9", "x": 8.75, "y": 3.5 },
{ "label": "3,10", "x": 9.75, "y": 3.5 },
{ "label": "3,11", "x": 10.75, "y": 3.5 },
{ "label": "3,12", "x": 11.75, "y": 3.5 },
{ "label": "3,13", "x": 12.75, "y": 3.5 },
{ "label": "4,0", "w": 1.25, "x": 0.0, "y": 4.5 },
{ "label": "4,1", "x": 1.25, "y": 4.5 },
{ "label": "4,2", "x": 2.25, "y": 4.5 },
{ "label": "4,3", "x": 3.25, "y": 4.5 },
{ "label": "4,4", "x": 4.25, "y": 4.5 },
{ "label": "4,5", "x": 5.25, "y": 4.5 },
{ "label": "4,6", "x": 6.25, "y": 4.5 },
{ "label": "4,7", "x": 7.25, "y": 4.5 },
{ "label": "4,8", "x": 8.25, "y": 4.5 },
{ "label": "4,9", "x": 9.25, "y": 4.5 },
{ "label": "4,10", "x": 10.25, "y": 4.5 },
{ "label": "4,11", "x": 11.25, "y": 4.5 },
{ "label": "4,13", "w": 2.75, "x": 12.25, "y": 4.5 },
{ "label": "4,16", "x": 16.25, "y": 4.5 },
{ "label": "5,0", "w": 1.25, "x": 0.0, "y": 5.5 },
{ "label": "5,1", "w": 1.25, "x": 1.25, "y": 5.5 },
{ "label": "5,3", "w": 1.25, "x": 2.5, "y": 5.5 },
{ "label": "5,6", "w": 6.25, "x": 3.75, "y": 5.5 },
{ "label": "5,10", "w": 1.25, "x": 10.0, "y": 5.5 },
{ "label": "5,11", "w": 1.25, "x": 11.25, "y": 5.5 },
{ "label": "5,13", "w": 1.25, "x": 12.5, "y": 5.5 },
{ "label": "5,14", "w": 1.25, "x": 13.75, "y": 5.5 },
{ "label": "5,15", "x": 15.25, "y": 5.5 },
{ "label": "5,16", "x": 16.25, "y": 5.5 },
{ "label": "5,17", "x": 17.25, "y": 5.5 },
]
}
}
}

View File

@ -0,0 +1,37 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT , KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,21 @@
# EnvKB DELIRIUM
A low cost Standard TKL Design which takes inspiration from the CFTKB Mysterium.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB TKL Prototype (Revision 0) **<- you are here**
* EnvKB TKL Rev1
* EnvKB TKL RGB HS
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb-tkl/rev0:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,20 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H

View File

@ -0,0 +1,50 @@
/* Copyright 2022 Envious Design
*
* 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"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*
*
*
*
*/
#define XXX KC_NO
#define LAYOUT( \
K00, K02, K03, K04, K05, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, K2H, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \
K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5D, K5G, \
K60, K61, K63, K66, K6A, K6B, K6D, K6E, K6F, K6G, K6H \
) { \
{ K00, XXX, K02, K03, K04, K05, XXX, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F, K2G, K2H }, \
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \
{ K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, XXX, XXX, XXX, XXX }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, XXX, K5D, XXX, XXX, K5G, XXX }, \
{ K60, K61, XXX, K63, XXX, XXX, K66, XXX, XXX, XXX, K6A, K6B, XXX, K6D, K6E, K6F, K6G, K6H }, \
}

View File

@ -0,0 +1,26 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
ALLOW_WARNINGS = yes
PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS!
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
OLED_DRIVER_ENABLE = no # oled enable
#EEPROM_DRIVER = transient

View File

@ -0,0 +1,160 @@
/*
Copyright 2022 Envious Design
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 "config_common.h"
/* USB Device descriptor parameter */
#define PRODUCT Delirium TKL Rev 1.0+
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0xE739
#define DEVICE_VER 0x0001
#define MANUFACTURER EnviousDesign
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
//#define GPIO_INPUT_PIN_DELAY 100
//#define DEBUG_MATRIX_SCAN_RATE
//#define DEBUG_ACTION
/*
* 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 { 20, 21, 22, 26, 27, 28 }
#define MATRIX_COL_PINS { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 18, 17, 16 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN 0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
#define LED_CAPS_LOCK_PIN GP25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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
/* disable these deprecated features by default */
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
//#define I2C1_SDA_PIN GP0
//#define I2C1_SCL_PIN GP1
//#define I2C_DRIVER I2CD1

View File

@ -0,0 +1,10 @@
{
"keyboard_name": "Delirium TKL 1.0+",
"url": "http://envious.design",
"maintainer": "Envious.Design",
"layouts": {
"LAYOUT_tkl_comb": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"\u00ac", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"\"", "x":2, "y":1.5}, {"label":"\u00a3", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"|", "x":18.5, "y":2.5, "w":1.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"@", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"AltGr", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}]
}
}
}

View File

@ -0,0 +1,56 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_tkl_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0xC3, 0x73, 0xA9, 0xCA, 0xD8, 0x79, 0xAF, 0xC5}
#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 }
#define VIAL_UNLOCK_COMBO_COLS { 0, 13 }

View File

@ -0,0 +1,56 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT_tkl_comb(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT_tkl_comb(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_APP, KC_TRNS, KC_EXEC, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,4 @@
EEPROM_DRIVER = vendor
VIA_ENABLE = yes
VIAL_ENABLE = yes
VIAL_INSECURE = yes

View File

@ -0,0 +1,21 @@
# EnvKB DELIRIUM
A low cost Standard TKL Design which takes inspiration from the CFTKB Mysterium.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB TKL Prototype (Revision 0)
* EnvKB TKL Rev1 **<- you are here**
* EnvKB TKL RGB HS
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb-tkl/rev1:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,19 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H

View File

@ -0,0 +1,50 @@
/* Copyright 2022 Envious Design
*
* 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"
//#include "via.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*
*
*
*
*/
#define LAYOUT_tkl_comb( \
KC000, KC001, KC002, KC003, KC004, KC005, KC006, KC007, KC008, KC009, KC010, KC011, KC012, KC013, KC014, KC015, \
\
KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC113, KC114, KC115, KC116, \
KC200, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213, KC214, KC215, KC216, \
KC300, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313, \
KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC412, KC413, \
KC500, KC501, KC502, KC503, KC504, KC505, KC506, KC507, KC508, KC509, KC510 \
) { \
{ KC000, KC_NO, KC001, KC002, KC003, KC004, KC_NO, KC005, KC006, KC007, KC008, KC009, KC010, KC011, KC012, KC013, KC014, KC015 }, \
{ KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC_NO, KC113, KC114, KC115, KC116 }, \
{ KC200, KC_NO, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213, KC214, KC215, KC216 }, \
{ KC300, KC_NO, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313, KC_NO, KC_NO, KC_NO }, \
{ KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC_NO, KC412, KC_NO, KC_NO, KC413, KC_NO }, \
{ KC500, KC501, KC_NO, KC502, KC_NO, KC_NO, KC503, KC_NO, KC_NO, KC_NO, KC504, KC505, KC_NO, KC506, KC507, KC508, KC509, KC510 }, \
}

View File

@ -0,0 +1,26 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
#ALLOW_WARNINGS = yes
#PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS!
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
#OLED_ENABLE = yes
#OLED_DRIVER = SSD1306

View File

@ -0,0 +1,232 @@
/*
Copyright 2022 Envious Design
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 "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x2E8A
#define PRODUCT_ID 0x000A
#define DEVICE_VER 0x0001
#define MANUFACTURER EnviousDesign
#define PRODUCT ALT Delirium RGB
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
//#define GPIO_INPUT_PIN_DELAY 100
//#define DEBUG_MATRIX_SCAN_RATE
//#define DEBUG_ACTION
/*
* 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 { GP20, GP21, GP22, GP26, GP27, GP28 }
#define MATRIX_COL_PINS { GP2, GP3, GP4, GP5, GP6, GP7, GP8, GP9, GP10, GP11, GP12, GP13, GP14, GP15, GP19, GP18, GP17, GP16 }
#define UNUSED_PINS { GP1, GP23, GP24, GP29 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define LED_NUM_LOCK_PIN B0
//#define LED_CAPS_LOCK_PIN 25
//#define LED_SCROLL_LOCK_PIN B2
//#define LED_COMPOSE_PIN B3
//#define LED_KANA_PIN B4
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define NOP_FUDGE 0.4
//#define RGB_DI_PIN
#define RGB_DI_PIN GP0
//#ifdef RGB_DI_PIN
# define RGBLED_NUM 88
# define RGBLIGHT_HUE_STEP 1
# define RGBLIGHT_SAT_STEP 1
# define RGBLIGHT_VAL_STEP 1
# define RGBLIGHT_LIMIT_VAL 64 /* The maximum brightness level */
# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* 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
/* disable these deprecated features by default */
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
/* RGB BITS AND BOBS (not stock)
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYER_BLINK
#define RGBLIGHT_LAYERS_RETAIN_VAL
#define RGBLIGHT_SLEEP
#define RGBLIGHT_DEFAULT_HUE 84
*/
//#define RGB_DI_PIN GP0
// The number of LEDs connected
#define DRIVER_LED_TOTAL 88
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# 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
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
# define ENABLE_RGB_MATRIX_RAINDROPS
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
# define ENABLE_RGB_MATRIX_HUE_WAVE
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define RGB_MATRIX_KEYPRESSES
# 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
#endif
//some config bits
//#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_DISABLE_AFTER_TIMEOUT 900 // number of ticks to wait until disabling effects (ticks seem to be 1 per second on my RP2040)
#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
//#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 8 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
//#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
#define EECONFIG_RGB_MATRIX (uint32_t *)28

View File

@ -0,0 +1,100 @@
{
"keyboard_name": "Delirium RGB",
"maintainer": "Envious.Design",
"url": "http://envious.design",
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "0,0", "x": 0.0, "y": 0.0 },
{ "label": "0,2", "x": 2.0, "y": 0.0 },
{ "label": "0,3", "x": 3.0, "y": 0.0 },
{ "label": "0,4", "x": 4.0, "y": 0.0 },
{ "label": "0,5", "x": 5.0, "y": 0.0 },
{ "label": "0,7", "x": 6.5, "y": 0.0 },
{ "label": "0,8", "x": 7.5, "y": 0.0 },
{ "label": "0,9", "x": 8.5, "y": 0.0 },
{ "label": "0,10", "x": 9.5, "y": 0.0 },
{ "label": "0,11", "x": 11.0, "y": 0.0 },
{ "label": "0,12", "x": 12.0, "y": 0.0 },
{ "label": "0,13", "x": 13.0, "y": 0.0 },
{ "label": "0,14", "x": 14.0, "y": 0.0 },
{ "label": "0,15", "x": 15.25, "y": 0.0 },
{ "label": "0,16", "x": 16.25, "y": 0.0 },
{ "label": "0,17", "x": 17.25, "y": 0.0 },
{ "label": "1,0", "x": 0.0, "y": 1.5 },
{ "label": "1,1", "x": 1.0, "y": 1.5 },
{ "label": "1,2", "x": 2.0, "y": 1.5 },
{ "label": "1,3", "x": 3.0, "y": 1.5 },
{ "label": "1,4", "x": 4.0, "y": 1.5 },
{ "label": "1,5", "x": 5.0, "y": 1.5 },
{ "label": "1,6", "x": 6.0, "y": 1.5 },
{ "label": "1,7", "x": 7.0, "y": 1.5 },
{ "label": "1,8", "x": 8.0, "y": 1.5 },
{ "label": "1,9", "x": 9.0, "y": 1.5 },
{ "label": "1,10", "x": 10.0, "y": 1.5 },
{ "label": "1,11", "x": 11.0, "y": 1.5 },
{ "label": "1,12", "x": 12.0, "y": 1.5 },
{ "label": "1,14", "w": 2.0, "x": 13.0, "y": 1.5 },
{ "label": "1,15", "x": 15.25, "y": 1.5 },
{ "label": "1,16", "x": 16.25, "y": 1.5 },
{ "label": "1,17", "x": 17.25, "y": 1.5 },
{ "label": "2,0", "w": 1.5, "x": 0.0, "y": 2.5 },
{ "label": "2,2", "x": 1.5, "y": 2.5 },
{ "label": "2,3", "x": 2.5, "y": 2.5 },
{ "label": "2,4", "x": 3.5, "y": 2.5 },
{ "label": "2,5", "x": 4.5, "y": 2.5 },
{ "label": "2,6", "x": 5.5, "y": 2.5 },
{ "label": "2,7", "x": 6.5, "y": 2.5 },
{ "label": "2,8", "x": 7.5, "y": 2.5 },
{ "label": "2,9", "x": 8.5, "y": 2.5 },
{ "label": "2,10", "x": 9.5, "y": 2.5 },
{ "label": "2,11", "x": 10.5, "y": 2.5 },
{ "label": "2,12", "x": 11.5, "y": 2.5 },
{ "label": "2,13", "x": 12.5, "y": 2.5 },
{ "h": 2.0, "label": "3,14", "w": 1.25, "x": 13.75, "y": 2.5 },
{ "label": "2,15", "x": 15.25, "y": 2.5 },
{ "label": "2,16", "x": 16.25, "y": 2.5 },
{ "label": "2,17", "x": 17.25, "y": 2.5 },
{ "label": "3,0", "w": 1.75, "x": 0.0, "y": 3.5 },
{ "label": "3,2", "x": 1.75, "y": 3.5 },
{ "label": "3,3", "x": 2.75, "y": 3.5 },
{ "label": "3,4", "x": 3.75, "y": 3.5 },
{ "label": "3,5", "x": 4.75, "y": 3.5 },
{ "label": "3,6", "x": 5.75, "y": 3.5 },
{ "label": "3,7", "x": 6.75, "y": 3.5 },
{ "label": "3,8", "x": 7.75, "y": 3.5 },
{ "label": "3,9", "x": 8.75, "y": 3.5 },
{ "label": "3,10", "x": 9.75, "y": 3.5 },
{ "label": "3,11", "x": 10.75, "y": 3.5 },
{ "label": "3,12", "x": 11.75, "y": 3.5 },
{ "label": "3,13", "x": 12.75, "y": 3.5 },
{ "label": "4,0", "w": 1.25, "x": 0.0, "y": 4.5 },
{ "label": "4,1", "x": 1.25, "y": 4.5 },
{ "label": "4,2", "x": 2.25, "y": 4.5 },
{ "label": "4,3", "x": 3.25, "y": 4.5 },
{ "label": "4,4", "x": 4.25, "y": 4.5 },
{ "label": "4,5", "x": 5.25, "y": 4.5 },
{ "label": "4,6", "x": 6.25, "y": 4.5 },
{ "label": "4,7", "x": 7.25, "y": 4.5 },
{ "label": "4,8", "x": 8.25, "y": 4.5 },
{ "label": "4,9", "x": 9.25, "y": 4.5 },
{ "label": "4,10", "x": 10.25, "y": 4.5 },
{ "label": "4,11", "x": 11.25, "y": 4.5 },
{ "label": "4,13", "w": 2.75, "x": 12.25, "y": 4.5 },
{ "label": "4,16", "x": 16.25, "y": 4.5 },
{ "label": "5,0", "w": 1.25, "x": 0.0, "y": 5.5 },
{ "label": "5,1", "w": 1.25, "x": 1.25, "y": 5.5 },
{ "label": "5,3", "w": 1.25, "x": 2.5, "y": 5.5 },
{ "label": "5,6", "w": 6.25, "x": 3.75, "y": 5.5 },
{ "label": "5,10", "w": 1.25, "x": 10.0, "y": 5.5 },
{ "label": "5,11", "w": 1.25, "x": 11.25, "y": 5.5 },
{ "label": "5,13", "w": 1.25, "x": 12.5, "y": 5.5 },
{ "label": "5,14", "w": 1.25, "x": 13.75, "y": 5.5 },
{ "label": "5,15", "x": 15.25, "y": 5.5 },
{ "label": "5,16", "x": 16.25, "y": 5.5 },
{ "label": "5,17", "x": 17.25, "y": 5.5 },
{ "label": "2,14", "w": 1.5, "x": 13.5, "y": 6.5 },
]
}
}
}

View File

@ -0,0 +1,97 @@
/* Copyright 2022 Envious Design
*
* 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 QMK_KEYBOARD_H
//#include "pico_eeprom.h"
#include "print.h"
#include "stdbool.h"
#include <stdio.h>
#define rgb_matrix_hsv_to_rgb hsv_to_rgb
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[0] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_SAI, RGB_VAI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_SAD, RGB_VAD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SPD, RGB_HUD
),
[2] = LAYOUT(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_SAI, RGB_VAI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_SAD, RGB_VAD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SPD, RGB_HUD
),
[3] = LAYOUT(
QK_BOOTLOADER, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, KC_VOLD, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_SAI, RGB_VAI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_SAD, RGB_VAD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALCULATOR,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SPD, RGB_HUD
)
};
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
}
void rgb_matrix_indicators_kb(void) {
switch (biton32(layer_state)) {
case 1:
rgb_matrix_set_color(83, 16, 16, 16);
break;
default:
break;
}
}
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (host_keyboard_led_state().caps_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(50, 16, 16, 16); // assuming caps lock is at led #50
}
if (host_keyboard_led_state().scroll_lock) {
RGB_MATRIX_INDICATOR_SET_COLOR(14, 16, 16, 16); // assuming caps lock is at led #14
} else {
}
}

View File

@ -0,0 +1,25 @@
# EnvKB DELIRIUM
A low cost Standard TKL Design which takes inspiration from the CFTKB Mysterium.
* Keyboard Maintainer: [Envious-Data](https://github.com/envious-data)
* Hardware Supported:
* EnvKB TKL Prototype (Revision 0)
* EnvKB TKL Rev1
* EnvKB TKL RGB HS **<- you are here**
Make example for this keyboard (after setting up your build environment):
```
make envious/envkb-tkl/rgb:default
```
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Additional notes
input latency may be increased with more complex animations.

View File

@ -0,0 +1,50 @@
/* Copyright 2022 Envious Design
*
* 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 "rgb.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 0, NO_LED, 1, 2, 3, 4, NO_LED, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, NO_LED, 29, 30, 31, 32 },
{ 33, NO_LED, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, NO_LED, 47, 48, 49},
{ 50, NO_LED, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 46, NO_LED, NO_LED, NO_LED },
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, 75, NO_LED, NO_LED, 76, NO_LED },
{ 77, 78, NO_LED, 79, NO_LED, NO_LED, 80, NO_LED, NO_LED, NO_LED, 81, 82, NO_LED, 83, 84, 85, 86, 87}
}, {
// LED Index to Physical Position
{ 0,0 }, { 26,0 }, { 39,0 }, { 52,0 }, { 65,0 }, { 84,0 }, { 97,0 }, {110,0 }, {123,0 }, {143,0 },
{156,0 }, {169,0 }, {182,0 }, {198,0 }, {211,0 }, {224,0 }, { 0,17 }, { 13,17 }, { 26,17 }, { 39,17 },
{ 52,17 }, { 65,17 }, { 78,17 }, { 91,17 }, {104,17 }, {117,17 }, {130,17 }, {143,17 }, {156,17 }, {175,17 },
{198,17 }, {211,17 }, {224,17 }, { 3,29 }, { 19,29 }, { 32,29 }, { 45,29 }, { 58,29 }, { 71,29 }, { 84,29 },
{ 97,29 }, {110,29 }, {123,29 }, {136,29 }, {149,29 }, {162,29 }, {175,29 }, {198,29 }, {211,29 }, {224,29 },
{ 5,41 }, { 23,41 }, { 36,41 }, { 49,41 }, { 62,41 }, { 75,41 }, { 88,41 }, {101,41 }, {114,41 }, {127,41 },
{140,41 }, {153,41 }, {166,41 }, { 2,52 }, { 16,52 }, { 29,52 }, { 42,52 }, { 55,52 }, { 68,52 }, { 81,52 },
{ 94,52 }, {107,52 }, {120,52 }, {133,52 }, {146,52 }, {170,52 }, {211,52 }, { 2,64 }, { 18,64 }, { 34,64 },
{ 83,64 }, {131,64 }, {148,64 }, {164,64 }, {180,64 }, {198,64 }, {211,64 }, {224,64 },
}, {
// LED Index to Flag
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
8, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4
} };
#endif

View File

@ -0,0 +1,53 @@
/* Copyright 2022 Envious Design
*
* 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"
//#include "via.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*
*
*
*
*/
#define LAYOUT( \
KC000, KC001, KC002, KC003, KC004, KC005, KC006, KC007, KC008, KC009, KC010, KC011, KC012, KC013, KC014, KC015, \
\
KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC113, KC114, KC115, KC116, \
KC200, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213, KC214, KC215, KC216, \
KC300, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313, \
KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC412, KC413, \
KC500, KC501, KC502, KC503, KC504, KC505, KC506, KC507, KC508, KC509, KC510 \
) { \
{ KC000, KC_NO, KC001, KC002, KC003, KC004, KC_NO, KC005, KC006, KC007, KC008, KC009, KC010, KC011, KC012, KC013, KC014, KC015 }, \
{ KC100, KC101, KC102, KC103, KC104, KC105, KC106, KC107, KC108, KC109, KC110, KC111, KC112, KC_NO, KC113, KC114, KC115, KC116 }, \
{ KC200, KC_NO, KC201, KC202, KC203, KC204, KC205, KC206, KC207, KC208, KC209, KC210, KC211, KC212, KC213, KC214, KC215, KC216 }, \
{ KC300, KC_NO, KC301, KC302, KC303, KC304, KC305, KC306, KC307, KC308, KC309, KC310, KC311, KC312, KC313, KC_NO, KC_NO, KC_NO }, \
{ KC400, KC401, KC402, KC403, KC404, KC405, KC406, KC407, KC408, KC409, KC410, KC411, KC_NO, KC412, KC_NO, KC_NO, KC413, KC_NO }, \
{ KC500, KC501, KC_NO, KC502, KC_NO, KC_NO, KC503, KC_NO, KC_NO, KC_NO, KC504, KC505, KC_NO, KC506, KC507, KC508, KC509, KC510 }, \
}

View File

@ -0,0 +1,29 @@
# MCU name
MCU = RP2040
BOOTLOADER = rp2040
#ALLOW_WARNINGS = yes
#PICO_INTRINSICS_ENABLED = no # ATM Unsupported by ChibiOS!
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
#for rgb to work with rp2040
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
WS2812_DRIVER = vendor
EEPROM_DRIVER = vendor