[Keyboard] KBDfans Bella RGB ANSI and Bella RGB ISO (#11438)

* add bella rgb keyboards

* Update rgb_iso.c

* fix error

* Update rgb_iso.h

* Update keyboards/kbdfans/bella/rgb/rules.mk

* Update keyboards/kbdfans/bella/rgb_iso/rules.mk

* Update keymap.c

* Update keyboards/kbdfans/bella/rgb/info.json

* Update keyboards/kbdfans/bella/rgb_iso/info.json

* Update keyboards/kbdfans/bella/rgb_iso/config.h

* Update keyboards/kbdfans/bella/rgb/config.h

* Update keyboards/kbdfans/bella/rgb_iso/rules.mk

* Update keyboards/kbdfans/bella/rgb_iso/rules.mk

* Update keyboards/kbdfans/bella/rgb_iso/rules.mk

* Update keyboards/kbdfans/bella/rgb/rules.mk

* Update keyboards/kbdfans/bella/rgb/rules.mk

* Update keyboards/kbdfans/bella/rgb/rules.mk

* Update rgb_iso.c

* Update rgb.c

* Update rgb_iso.c

* Update rgb_iso.h

* Update keyboards/kbdfans/bella/rgb/config.h

* Update keyboards/kbdfans/bella/rgb/rgb.h

* Update keyboards/kbdfans/bella/rgb/info.json

* Update keyboards/kbdfans/bella/rgb/info.json

* Update keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c

* Update keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c

* Update keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c

* Update keyboards/kbdfans/bella/rgb_iso/readme.md

* Update keyboards/kbdfans/bella/rgb_iso/readme.md

* Update keyboards/kbdfans/bella/rgb_iso/readme.md

* Apply suggestions from code review

kbdfans/bella/rgb: Change remaining instances of LAYOUT_all to LAYOUT

* Apply suggestions from code review

kbdfans/bella/rgb: update readme

- update keyboard name
- include flashing and bootloader instructions

* Apply suggestions from code review

kbdfans/bella/rgb_iso: update keyboard name

Changes remaining instances of "BELLA_RGB_ISO" to "BELLA RGB ISO".

* Apply suggestions from code review

kbdfans/bella/rgb_iso: Change LAYOUT_all to LAYOUT

* Apply suggestions from code review

kbdfans/bella/rgb_iso: Move ISO Enter's keycode to home row per QMK standard
This commit is contained in:
moyi4681 2021-02-05 05:58:02 +08:00 committed by GitHub
parent 09f9bdd3d1
commit 69315cb643
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 781 additions and 0 deletions

View file

@ -0,0 +1,57 @@
/* Copyright 2021 dztech
*
* 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 0x4B42
#define PRODUCT_ID 0x0008
#define DEVICE_VER 0x0001
#define MANUFACTURER KBDFANS
#define PRODUCT BELLA RGB ANSI
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D2, D3, D5, D4, D6, D7, B4, B5 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons.
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 108
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0
#endif
#define DYNAMIC_KEYMAP_LAYER_COUNT 2

View file

@ -0,0 +1,12 @@
{
"keyboard_name": "BELLA RGB ANSI",
"url": "",
"maintainer": "moyi4681",
"width": 16.25,
"height": 6.25,
"layouts": {
"LAYOUT": {
"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":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Home", "x":15.25, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15.25, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15.25, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Fn", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.25}, {"label":"\u2193", "x":14.25, "y":5.25}, {"label":"\u2192", "x":15.25, "y":5.25}]
}
}
}

View file

@ -0,0 +1,36 @@
/* Copyright 2021 dztech
*
* 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] = {
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_PGUP,
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_LSFT, 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_LALT, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, EEP_RST, 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)
};

View file

@ -0,0 +1,36 @@
/* Copyright 2021 dztech
*
* 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] = {
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_PGUP,
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_LSFT, 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_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, 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, EEP_RST, 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),
};

View file

@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View file

@ -0,0 +1,19 @@
# BELLA RGB ANSI (Hotswap)
* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)
* Hardware Supported: BELLA RGB ANSI (ATmega32U4)
* Hardware Availability: [KBDFans](https://kbdfans.cn/)
Make example for this keyboard (after setting up your build environment):
make kbdfans/bella/rgb:default
Flashing example for this keyboard:
make kbdfans/bella/rgb:default:flash
## Accessing Bootloader Mode
To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
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,169 @@
/* Copyright 2021 dztech
*
* 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
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
{0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
{0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
{0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB58 */
{0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB71 */
{0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB84 */
{0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB97 */
{0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB7 */
{0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB20 */
{0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB33 */
{0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB46 */
{0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB59 */
{0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB72 */
{0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB85 */
{0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB5 */
{0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB18 */
{0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB31 */
{0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB44 */
{0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB57 */
{0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB70 */
{0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB83 */
{0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB96 */
{0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB8 */
{0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB21 */
{0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB34 */
{0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB47 */
{0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB60 */
{0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB73 */
{0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB86 */
{0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB4 */
{0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB17 */
{0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB30 */
{0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB43 */
{0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB56 */
{0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB69 */
{0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB82 */
{0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB95 */
{0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB9 */
{0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB22 */
{0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB35 */
{0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB48 */
{0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB61 */
{0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB74 */
{0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB87 */
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB3 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB16 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB29*/
{0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB42 */
{0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB55 */
{0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB68 */
{0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB81 */
{0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB94 */
{0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB10 */
{0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB23 */
{0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB36 */
{0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB49 */
{0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB62 */
{0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB88 */
{0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB2 */
{0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB28 */
{0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB41 */
{0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB54 */
{0, CS6_SW6, CS5_SW6, CS4_SW6}, /* RGB67 */
{0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB80 */
{0, CS6_SW8, CS5_SW8, CS4_SW8}, /* RGB93 */
{0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB11 */
{0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB24 */
{0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB37 */
{0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB50 */
{0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB63 */
{0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB76 */
{0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB1 */
{0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB14 */
{0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB27 */
{0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB103 */
{0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB38 */
{0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB51 */
{0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB64 */
{0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB77 */
{0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB90 */
{0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB110 */
{0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB19 */
{0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB108 */
{0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB98 */
{0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB112 */
{0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB99 */
{0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB107 */
{0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB100 */
{0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB89 */
{0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB115 */
{0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB116 */
{0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB25 */
{0, CS3_SW9, CS2_SW9, CS1_SW9}, /* RGB105 */
{0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB40 */
};
led_config_t g_led_config = {
{
/* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15*/
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, NO_LED, 9, 10, 11, 12, 13, }, /* R0 */
{ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, NO_LED, 27, 28, }, /* R1 */
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, NO_LED, 43, }, /* R2 */
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, NO_LED, 57, }, /* R3 */
{ 58, NO_LED, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, NO_LED, }, /* R4 */
{ 71, 72, 73, NO_LED, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, NO_LED, 78, 79, }, /* R5 */
}, {
{0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0},
{0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17},
{4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {202, 29}, {224, 29},
{5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {196, 41}, {224, 41},
{9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52},
{2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64},
{0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0},
{0, 32}, {224,32},
{0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64},
}, {
4,1,1,1,1,1,1,1,1,1,1,1,1,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,4,4,4,4,4,4,4,1,
4,4,4,4,4,4,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,
}
};
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
if (host_keyboard_led_state().caps_lock)
{
rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF);
}
}
#endif

View file

@ -0,0 +1,34 @@
/* Copyright 2021 dztech
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K000, K002, K003, K004, K005, K006, K007, K008, K009, K011, K012, K013, K014, K015, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K315, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, \
K500, K501, K502, K506, K510, K511, K512, K514, K515 \
) { \
{ K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, KC_NO, K011, K012, K013, K014, K015 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, K315 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, KC_NO }, \
{ K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, KC_NO, K514, K515 } \
}

View file

@ -0,0 +1,25 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# 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 = yes # 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
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3741
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View file

@ -0,0 +1,57 @@
/* Copyright 2021 dztech
*
* 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 0x4B42
#define PRODUCT_ID 0x0009
#define DEVICE_VER 0x0001
#define MANUFACTURER KBDFANS
#define PRODUCT BELLA RGB ISO
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D2, D3, D5, D4, D6, D7, B4, B5 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
/* disable these deprecated features by default */
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons.
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 109
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0
#endif
#define DYNAMIC_KEYMAP_LAYER_COUNT 2

View file

@ -0,0 +1,12 @@
{
"keyboard_name": "BELLA RGB ISO",
"url": "",
"maintainer": "moyi4681",
"width": 16.25,
"height": 6.25,
"layouts": {
"LAYOUT": {
"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":"Page Up", "x":15.25, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"label":"Insert", "x":15.25, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"Delete", "x":15.25, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"~", "x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, {"label":"Page Down", "x":15.25, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"label":"|", "x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Fn", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.25}, {"label":"\u2193", "x":14.25, "y":5.25}, {"label":"\u2192", "x":15.25, "y":5.25}]
}
}
}

View file

@ -0,0 +1,36 @@
/* Copyright 2021 dztech
*
* 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] = {
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_PGUP,
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_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_DEL,
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_BSLS, KC_ENT, KC_PGDN,
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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RGB_MOD, 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, RESET, EEP_RST, 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)
};

View file

@ -0,0 +1,36 @@
/* Copyright 2021 dztech
*
* 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] = {
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_PGUP,
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_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_DEL,
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_BSLS, KC_ENT, KC_PGDN,
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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RGB_MOD, 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, RESET, EEP_RST, 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)
};

View file

@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View file

@ -0,0 +1,19 @@
# BELLA RGB ISO (Hotswap)
* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)
* Hardware Supported: BELLA RGB ISO (ATmega32U4)
* Hardware Availability: [KBDFans](https://kbdfans.cn/)
Make example for this keyboard (after setting up your build environment):
make kbdfans/bella/rgb_iso:default
Flashing example for this keyboard:
make kbdfans/bella/rgb_iso:default:flash
## Accessing Bootloader Mode
To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
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,170 @@
/* Copyright 2021 dztech
*
* 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_iso.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
{0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
{0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
{0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB58 */
{0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB71 */
{0, CS18_SW7, CS17_SW7, CS16_SW7}, /* RGB84 */
{0, CS18_SW8, CS17_SW8, CS16_SW8}, /* RGB97 */
{0, CS21_SW1, CS20_SW1, CS19_SW1}, /* RGB7 */
{0, CS21_SW2, CS20_SW2, CS19_SW2}, /* RGB20 */
{0, CS21_SW3, CS20_SW3, CS19_SW3}, /* RGB33 */
{0, CS21_SW4, CS20_SW4, CS19_SW4}, /* RGB46 */
{0, CS21_SW5, CS20_SW5, CS19_SW5}, /* RGB59 */
{0, CS21_SW6, CS20_SW6, CS19_SW6}, /* RGB72 */
{0, CS21_SW7, CS20_SW7, CS19_SW7}, /* RGB85 */
{0, CS15_SW1, CS14_SW1, CS13_SW1}, /* RGB5 */
{0, CS15_SW2, CS14_SW2, CS13_SW2}, /* RGB18 */
{0, CS15_SW3, CS14_SW3, CS13_SW3}, /* RGB31 */
{0, CS15_SW4, CS14_SW4, CS13_SW4}, /* RGB44 */
{0, CS15_SW5, CS14_SW5, CS13_SW5}, /* RGB57 */
{0, CS15_SW6, CS14_SW6, CS13_SW6}, /* RGB70 */
{0, CS15_SW7, CS14_SW7, CS13_SW7}, /* RGB83 */
{0, CS15_SW8, CS14_SW8, CS13_SW8}, /* RGB96 */
{0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB8 */
{0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB21 */
{0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB34 */
{0, CS24_SW4, CS23_SW4, CS22_SW4}, /* RGB47 */
{0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB60 */
{0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB73 */
{0, CS24_SW7, CS23_SW7, CS22_SW7}, /* RGB86 */
{0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB4 */
{0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB17 */
{0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB30 */
{0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB43 */
{0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB56 */
{0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB69 */
{0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB82 */
{0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB95 */
{0, CS27_SW1, CS26_SW1, CS25_SW1}, /* RGB9 */
{0, CS27_SW2, CS26_SW2, CS25_SW2}, /* RGB22 */
{0, CS27_SW3, CS26_SW3, CS25_SW3}, /* RGB35 */
{0, CS27_SW4, CS26_SW4, CS25_SW4}, /* RGB48 */
{0, CS27_SW5, CS26_SW5, CS25_SW5}, /* RGB61 */
{0, CS27_SW6, CS26_SW6, CS25_SW6}, /* RGB74 */
{0, CS27_SW7, CS26_SW7, CS25_SW7}, /* RGB87 */
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB3 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB16 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB29*/
{0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB42 */
{0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB55 */
{0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB68 */
{0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB81 */
{0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB94 */
{0, CS30_SW1, CS29_SW1, CS28_SW1}, /* RGB10 */
{0, CS30_SW2, CS29_SW2, CS28_SW2}, /* RGB23 */
{0, CS30_SW3, CS29_SW3, CS28_SW3}, /* RGB36 */
{0, CS30_SW4, CS29_SW4, CS28_SW4}, /* RGB49 */
{0, CS30_SW5, CS29_SW5, CS28_SW5}, /* RGB62 */
{0, CS30_SW7, CS29_SW7, CS28_SW7}, /* RGB88 */
{0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB2 */
{0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB15 */
{0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB28 */
{0, CS6_SW4, CS5_SW4, CS4_SW4}, /* RGB41 */
{0, CS6_SW5, CS5_SW5, CS4_SW5}, /* RGB54 */
{0, CS6_SW6, CS5_SW6, CS4_SW6}, /* RGB67 */
{0, CS6_SW7, CS5_SW7, CS4_SW7}, /* RGB80 */
{0, CS6_SW8, CS5_SW8, CS4_SW8}, /* RGB93 */
{0, CS33_SW1, CS32_SW1, CS31_SW1}, /* RGB11 */
{0, CS33_SW2, CS32_SW2, CS31_SW2}, /* RGB24 */
{0, CS33_SW3, CS32_SW3, CS31_SW3}, /* RGB37 */
{0, CS33_SW4, CS32_SW4, CS31_SW4}, /* RGB50 */
{0, CS33_SW5, CS32_SW5, CS31_SW5}, /* RGB63 */
{0, CS33_SW6, CS32_SW6, CS31_SW6}, /* RGB76 */
{0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB1 */
{0, CS3_SW2, CS2_SW2, CS1_SW2}, /* RGB14 */
{0, CS3_SW3, CS2_SW3, CS1_SW3}, /* RGB27 */
{0, CS36_SW8, CS35_SW8, CS34_SW8}, /* RGB103 */
{0, CS36_SW3, CS35_SW3, CS34_SW3}, /* RGB38 */
{0, CS36_SW4, CS35_SW4, CS34_SW4}, /* RGB51 */
{0, CS36_SW5, CS35_SW5, CS34_SW5}, /* RGB64 */
{0, CS36_SW6, CS35_SW6, CS34_SW6}, /* RGB77 */
{0, CS36_SW7, CS35_SW7, CS34_SW7}, /* RGB90 */
{0, CS18_SW9, CS17_SW9, CS16_SW9}, /* RGB110 */
{0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB19 */
{0, CS12_SW9, CS11_SW9, CS10_SW9}, /* RGB108 */
{0, CS21_SW8, CS20_SW8, CS19_SW8}, /* RGB98 */
{0, CS24_SW9, CS23_SW9, CS22_SW9}, /* RGB112 */
{0, CS24_SW8, CS23_SW8, CS22_SW8}, /* RGB99 */
{0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB107 */
{0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB100 */
{0, CS33_SW7, CS32_SW7, CS31_SW7}, /* RGB89 */
{0, CS33_SW9, CS32_SW9, CS31_SW9}, /* RGB115 */
{0, CS36_SW9, CS35_SW9, CS34_SW9}, /* RGB116 */
{0, CS36_SW2, CS35_SW2, CS34_SW2}, /* RGB25 */
{0, CS3_SW9, CS2_SW9, CS1_SW9}, /* RGB105 */
{0, CS3_SW4, CS2_SW4, CS1_SW4}, /* RGB40 */
};
led_config_t g_led_config = {
{
/* C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15*/
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, NO_LED, 9, 10, 11, 12, 13, }, /* R0 */
{ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, NO_LED, 27, 28, }, /* R1 */
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 56, NO_LED, 43, }, /* R2 */
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 42, NO_LED, 57, }, /* R3 */
{ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, 71, NO_LED, }, /* R4 */
{ 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, }, /* R5 */
}, {
{0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0},
{0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17},
{4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {200, 35}, {224, 29},
{5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {187, 41}, {224, 41},
{2, 52}, {18, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52},
{2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64},
{0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0},
{0, 32}, {224,32},
{0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64},
}, {
4,1,1,1,1,1,1,1,1,1,1,1,1,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,4,4,4,4,4,4,4,4,1,
4,4,4,4,4,4,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,
}
};
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
__attribute__ ((weak))
void rgb_matrix_indicators_user(void)
{
if (host_keyboard_led_state().caps_lock)
{
rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF);
}
}
#endif

View file

@ -0,0 +1,34 @@
/* Copyright 2021 dztech
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K000, K002, K003, K004, K005, K006, K007, K008, K009, K011, K012, K013, K014, K015, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K215, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K213, K313, K315, \
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, \
K500, K501, K502, K506, K510, K511, K512, K514, K515 \
) { \
{ K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, KC_NO, K011, K012, K013, K014, K015 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, K315 }, \
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, KC_NO }, \
{ K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, KC_NO, K514, K515 } \
}

View file

@ -0,0 +1,25 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# 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 = yes # 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
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3741
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in