Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RGB Matrix Lighting implementation for Novelkeys NK87 #19422

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 53 additions & 56 deletions keyboards/novelkeys/nk87/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once

#include "config_common.h"
#include "config_led.h"
fauxpark marked this conversation as resolved.
Show resolved Hide resolved

/* key matrix size */
#define MATRIX_ROWS 6
Expand Down Expand Up @@ -78,59 +79,55 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

/* Backlight options */

#define RGB_BACKLIGHT_ENABLED 1

#define RGB_BACKLIGHT_NK87

// they aren't really used if RGB_BACKLIGHT_HS60 defined
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
#define RGB_BACKLIGHT_USE_ISO_ENTER 0
#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0

// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0

// disable backlight after timeout in minutes, 0 = no timeout
#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0

// the default brightness
#define RGB_BACKLIGHT_BRIGHTNESS 255

// the default effect (RGB test)
#define RGB_BACKLIGHT_EFFECT 6

// the default effect speed (0-3)
#define RGB_BACKLIGHT_EFFECT_SPEED 0

// the default color1 and color2
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 128

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for
// alphas vs. mods
// Each value is for a row, bit 0 is column 0
// Alpha=0 Mod=1
// Rows are shifted one down, F-row cannot be dynamically modified at the moment.
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b1110000000000000
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b1100000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0010000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b1001000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b1111100000000111

#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }

// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 32
#ifdef RGB_MATRIX_ENABLE

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define 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_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#endif // RGB_MATRIX_ENABLE
170 changes: 170 additions & 0 deletions keyboards/novelkeys/nk87/config_led.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
/* Copyright 2022 Kirill Malgichev (@makirill)
*
* 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 "config_led.h"
#include "quantum.h"

#include "indicator.h"


#ifdef RGB_MATRIX_ENABLE
fauxpark marked this conversation as resolved.
Show resolved Hide resolved


const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, B_1, A_1, C_1}, // 0 LA1
{0, E_1, D_1, F_1}, // 1 LA2
{0, H_1, G_1, I_1}, // 2 LA3
{0, K_1, J_1, L_1}, // 3 LA4
{0, B_2, A_2, C_2}, // 4 LA5
{0, E_2, D_2, F_2}, // 5 LA6
{0, H_2, G_2, I_2}, // 6 LA7
{0, K_2, J_2, L_2}, // 7 LA8
{0, B_3, A_3, C_3}, // 8 LA9
{0, E_3, D_3, F_3}, // 9 LA10
{0, H_3, G_3, I_3}, // 10 LA11
{0, K_3, J_3, L_3}, // 11 LA12
{0, B_4, A_4, C_4}, // 12 LA13
{0, E_4, D_4, F_4}, // 13 LA14
{0, H_4, G_4, I_4}, // 14 LA15
{0, K_4, J_4, L_4}, // 15 LA16
{0, B_5, A_5, C_5}, // 16 LA17
{0, E_5, D_5, F_5}, // 17 LA18
{0, H_5, G_5, I_5}, // 18 LA19
{0, K_5, J_5, L_5}, // 19 LA20
{0, B_6, A_6, C_6}, // 20 LA21
{0, E_6, D_6, F_6}, // 21 LA22
{0, H_6, G_6, I_6}, // 22 LA23
{0, K_6, J_6, L_6}, // 23 LA24
{0, B_7, A_7, C_7}, // 24 LA25
{0, E_7, D_7, F_7}, // 25 LA26
{0, H_7, G_7, I_7}, // 26 LA27
{0, K_7, J_7, L_7}, // 27 LA28
{0, B_8, A_8, C_8}, // 28 LA29
{0, E_8, D_8, F_8}, // 29 LA30
{0, H_8, G_8, I_8}, // 30 LA31
{0, K_8, J_8, L_8}, // 31 LA32
{0, B_9, A_9, C_9}, // 32 LA33
{0, E_9, D_9, F_9}, // 33 LA34
{0, H_9, G_9, I_9}, // 34 LA35
{0, K_9, J_9, L_9}, // 35 LA36
{0, B_10, A_10, C_10}, // 36 LA37
{0, E_10, D_10, F_10}, // 37 LA38
{0, H_10, G_10, I_10}, // 38 LA39
{0, K_10, J_10, L_10}, // 39 LA40
{0, B_11, A_11, C_11}, // 40 LA41
{0, E_11, D_11, F_11}, // 41 LA42
{0, H_11, G_11, I_11}, // 42 LA43
{0, K_11, J_11, L_11}, // 43 LA44
{0, B_12, A_12, C_12}, // 44 LA45
{0, E_12, D_12, F_12}, // 45 LA46
{0, H_12, G_12, I_12}, // 46 LA47
{0, K_12, J_12, L_12}, // 47 LA48
{0, B_13, A_13, C_13}, // 48 LA49
{0, E_13, D_13, F_13}, // 49 LA50
{0, H_13, G_13, I_13}, // 50 LA51
{0, K_13, J_13, L_13}, // 51 LA52
{0, B_14, A_14, C_14}, // 52 LA53
{0, E_14, D_14, F_14}, // 53 LA54
{0, H_14, G_14, I_14}, // 54 LA55
{0, K_14, J_14, L_14}, // 55 LA56
{0, B_15, A_15, C_15}, // 56 LA57
{0, E_15, D_15, F_15}, // 57 LA58
{0, H_15, G_15, I_15}, // 58 LA59
{0, K_15, J_15, L_15}, // 59 LA60
{0, E_16, D_16, F_16}, // 60 LA62
{0, H_16, G_16, I_16}, // 61 LA63
{0, K_16, J_16, L_16}, // 62 LA64
{1, B_1, A_1, C_1}, // 63 LB1
{1, B_2, A_2, C_2}, // 64 LB5
{1, B_3, A_3, C_3}, // 65 LB9
{1, K_3, J_3, L_3}, // 66 LB12
{1, B_4, A_4, C_4}, // 67 LB13
{1, B_5, A_5, C_5}, // 68 LB17
{1, B_6, A_6, C_6}, // 69 LB21
{1, B_7, A_7, C_7}, // 70 LB25
{1, B_8, A_8, C_8}, // 71 LB29
{1, B_9, A_9, C_9}, // 71 LB33
{1, B_10, A_10, C_10}, // 73 LB37
{1, B_11, A_11, C_11}, // 74 LB41
{1, B_12, A_12, C_12}, // 75 LB45
{1, B_13, A_13, C_13}, // 76 LB49
{1, H_13, G_13, I_13}, // 77 LB51
{1, K_13, J_13, L_13}, // 78 LB52
{1, B_14, A_14, C_14}, // 79 LB53
{1, H_14, G_14, I_14}, // 80 LB55
{1, K_14, J_14, L_14}, // 81 LB56
{1, B_15, A_15, C_15}, // 82 LB57
{1, H_15, G_15, I_15}, // 83 LB59
{1, K_15, J_15, L_15}, // 84 LB60
{1, B_16, A_16, C_16}, // 85 LB61
{1, K_16, J_16, L_16}, // 86 LB64
{1, H_16, G_16, I_16}, // 87 LB63
{1, K_12, J_12, L_12} // 88 LB48
};

// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Indicators
// LB1, LB5, LB9, LB13, LB17, LB21, LB25, LB29, LB33, LB37, LB41, LB45, LB49, LB53, LB57, LB61, LB64, 1 (LB63 Blue channel)
// LA1, LA5, LA9, LA13, LA17, LA21, LA25, LA29, LA33, LA37, LA41, LA45, LA49, LA53, LB52, LB56, LB60, 2 (LB63 Red/Green channel)
// LA2, LA6, LA10, LA14, LA18, LA22, LA26, LA30, LA34, LA38, LA42, LA46, LA50, ---, LB51, LB55, LB59, 3 (LB48 Blue channel)
// LA3, LA7, LA11, LA15, LA19, LA23, LA27, LA31, LA35, LA39, LA43, LA47, LA54, LA55, ---, ---, ---, 4
// LA4, ---, LA8, LA12, LA16, LA20, LA24, LA28, LA32, LA36, LA40, LA44, LA51, ---, ---, LA52, ---, 5
// LA57, LA58, LA59, ---, ---, ---, LA60, ---, ---, ---, ---, LA62, LA63, LA64, LA48, LA56, LB12 6
led_config_t g_led_config = { {
{ 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 82, 85, 86 },
{ 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 78, 81, 84 },
{ 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, NO_LED, 77, 80, 83 },
{ 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 53, 54, NO_LED, NO_LED, NO_LED },
{ 3, NO_LED, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 50, NO_LED, NO_LED, 51, NO_LED },
{ 56, 57, 58, NO_LED, NO_LED, NO_LED, 59, NO_LED, NO_LED, NO_LED, NO_LED, 60, 61, 62, 47, 55, 66 },
}, {
{ 9, 22 }, { 12, 32 }, { 13, 41 }, { 16, 50 }, { 21, 22 }, { 27, 32 }, { 30, 41 }, { 36, 50 }, { 33, 22 }, { 39, 32 },
{ 42, 41 }, { 48, 50 }, { 45, 22 }, { 51, 32 }, { 53, 41 }, { 60, 50 }, { 57, 22 }, { 63, 32 }, { 65, 41 }, { 72, 50 },
{ 69, 22 }, { 75, 32 }, { 77, 41 }, { 84, 50 }, { 81, 22 }, { 87, 32 }, { 89, 41 }, { 96, 50 }, { 92, 22 }, { 99, 32 },
{ 101, 41 }, { 108, 50 }, { 104, 22 }, { 111, 32 }, { 113, 41 }, { 120, 50 }, { 116, 22 }, { 123, 32 }, { 125, 41 }, { 132, 50 },
{ 128, 22 }, { 135, 32 }, { 137, 41 }, { 143, 50 }, { 140, 22 }, { 147, 32 }, { 149, 41 }, { 192, 60 }, { 152, 22 }, { 159, 32 },
{ 166, 50 }, { 204, 50 }, { 171, 22 }, { 174, 32 }, { 169, 41 }, { 204, 60 }, { 12, 60 }, { 27, 60 }, { 42, 60 }, { 93, 60 },
{ 144, 60 }, { 159, 60 }, { 174, 60 }, { 9, 10 }, { 24, 10 }, { 36, 10 }, { 216, 60 }, { 48, 10 }, { 60, 10 }, { 75, 10 },
{ 87, 10 }, { 99, 10 }, { 111, 10 }, { 126, 10 }, { 138, 10 }, { 150, 10 }, { 162, 10 }, { 192, 32 }, { 192, 22 }, { 177, 10 },
{ 204, 32 }, { 204, 22 }, { 192, 10 }, { 216, 32 }, { 216, 22 }, { 204, 10 }, { 216, 10 }, { 223, 5 }, { 223, 12 }
}, {
4, 4, 4, 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,
1, 4, 4, 4, 4, 4, 1, 1, 1, 4,
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, 8, 8
} };


/* Indicator LEDS are part of the LED driver
* Top LED is blue only. LED driver 2 RGB 63 Blue channel
* Middle LED is blue and red. LED driver 2 RGB 63 Red and Green channel
* Bottom LED is red only LED driver 2 RGB 48 Blue channel.
*/
void indicators_update(uint8_t caps, uint8_t fn1, uint8_t fn2) {
rgb_matrix_set_color(87, fn1, fn1, caps);
rgb_matrix_set_color(88, 0, 0, fn2);
}

#endif // RGB_MATRIX_ENABLE
27 changes: 27 additions & 0 deletions keyboards/novelkeys/nk87/config_led.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* Copyright 2022 Kirill Malgichev (@makirill)
*
* 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

#ifdef RGB_MATRIX_ENABLE
fauxpark marked this conversation as resolved.
Show resolved Hide resolved
#define DRIVER_ADDR_1 0x50
#define DRIVER_ADDR_2 0x52
#define DRIVER_COUNT 2

#define DRIVER_1_LED_TOTAL 63
#define DRIVER_2_LED_TOTAL 26
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#endif // RGB_MATRIX_ENABLE
21 changes: 21 additions & 0 deletions keyboards/novelkeys/nk87/indicator.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2022 Kirill Malgichev (@makirill)
*
* 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

#ifdef RGB_MATRIX_ENABLE
void indicators_update(uint8_t caps, uint8_t fn1, uint8_t fn2);

#endif // RGB_MATRIX_ENABLE
2 changes: 1 addition & 1 deletion keyboards/novelkeys/nk87/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"device_version": "0.0.1"
},
"layouts": {
"LAYOUT_all": {
"LAYOUT": {
fauxpark marked this conversation as resolved.
Show resolved Hide resolved
"layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1.25, "y":0}, {"label":"0,2", "x":2.25, "y":0}, {"label":"0,3", "x":3.25, "y":0}, {"label":"0,4", "x":4.25, "y":0}, {"label":"0,5", "x":5.5, "y":0}, {"label":"0,6", "x":6.5, "y":0}, {"label":"0,7", "x":7.5, "y":0}, {"label":"0,8", "x":8.5, "y":0}, {"label":"0,9", "x":9.75, "y":0}, {"label":"0,10", "x":10.75, "y":0}, {"label":"0,12", "x":11.75, "y":0}, {"label":"0,12", "x":12.75, "y":0}, {"label":"0,13", "x":14, "y":0}, {"label":"0,14", "x":15.25, "y":0}, {"label":"0,15", "x":16.25, "y":0}, {"label":"0,16", "x":17.25, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"1,4", "x":4, "y":1.25}, {"label":"1,5", "x":5, "y":1.25}, {"label":"1,6", "x":6, "y":1.25}, {"label":"1,7", "x":7, "y":1.25}, {"label":"1,8", "x":8, "y":1.25}, {"label":"1,9", "x":9, "y":1.25}, {"label":"1,10", "x":10, "y":1.25}, {"label":"1,11", "x":11, "y":1.25}, {"label":"1,12", "x":12, "y":1.25}, {"label":"1,13", "x":13, "y":1.25, "w":2}, {"label":"1,14", "x":15.25, "y":1.25}, {"label":"1,15", "x":16.25, "y":1.25}, {"label":"1,16", "x":17.25, "y":1.25}, {"label":"2,0", "x":0, "y":2.25, "w":1.5}, {"label":"2,1", "x":1.5, "y":2.25}, {"label":"2,2", "x":2.5, "y":2.25}, {"label":"2,3", "x":3.5, "y":2.25}, {"label":"2,4", "x":4.5, "y":2.25}, {"label":"2,5", "x":5.5, "y":2.25}, {"label":"2,6", "x":6.5, "y":2.25}, {"label":"2,7", "x":7.5, "y":2.25}, {"label":"2,8", "x":8.5, "y":2.25}, {"label":"2,9", "x":9.5, "y":2.25}, {"label":"2,10", "x":10.5, "y":2.25}, {"label":"2,11", "x":11.5, "y":2.25}, {"label":"2,12", "x":12.5, "y":2.25}, {"label":"3,12", "x":13.5, "y":2.25, "w":1.5}, {"label":"2,14", "x":15.25, "y":2.25}, {"label":"2,15", "x":16.25, "y":2.25}, {"label":"2,16", "x":17.25, "y":2.25}, {"label":"3,0", "x":0, "y":3.25, "w":1.75}, {"label":"3,1", "x":1.75, "y":3.25}, {"label":"3,2", "x":2.75, "y":3.25}, {"label":"3,3", "x":3.75, "y":3.25}, {"label":"3,4", "x":4.75, "y":3.25}, {"label":"3,5", "x":5.75, "y":3.25}, {"label":"3,6", "x":6.75, "y":3.25}, {"label":"3,7", "x":7.75, "y":3.25}, {"label":"3,8", "x":8.75, "y":3.25}, {"label":"3,9", "x":9.75, "y":3.25}, {"label":"3,10", "x":10.75, "y":3.25}, {"label":"3,11", "x":11.75, "y":3.25}, {"label":"3,13", "x":12.75, "y":3.25, "w":2.25}, {"label":"4,0", "x":0, "y":4.25, "w":2.25}, {"label":"4,2", "x":2.25, "y":4.25}, {"label":"4,3", "x":3.25, "y":4.25}, {"label":"4,4", "x":4.25, "y":4.25}, {"label":"4,5", "x":5.25, "y":4.25}, {"label":"4,6", "x":6.25, "y":4.25}, {"label":"4,7", "x":7.25, "y":4.25}, {"label":"4,8", "x":8.25, "y":4.25}, {"label":"4,9", "x":9.25, "y":4.25}, {"label":"4,10", "x":10.25, "y":4.25}, {"label":"4,11", "x":11.25, "y":4.25}, {"label":"4,12", "x":12.25, "y":4.25, "w":2.75}, {"label":"4,15", "x":16.25, "y":4.25}, {"label":"5,0", "x":0, "y":5.25, "w":1.5}, {"label":"5,1", "x":1.5, "y":5.25}, {"label":"5,2", "x":2.5, "y":5.25, "w":1.5}, {"label":"5,6", "x":4, "y":5.25, "w":7}, {"label":"5,11", "x":11, "y":5.25, "w":1.5}, {"label":"5,12", "x":12.5, "y":5.25}, {"label":"5,13", "x":13.5, "y":5.25, "w":1.5}, {"label":"5,14", "x":15.25, "y":5.25}, {"label":"5,15", "x":16.25, "y":5.25}, {"label":"5,16", "x":17.25, "y":5.25}]
}
}
Expand Down
25 changes: 25 additions & 0 deletions keyboards/novelkeys/nk87/keymaps/default/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/* Copyright 2022 Kirill Malgichev (@makirill)
*
* 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

#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
#define RGB_MATRIX_TIMEOUT 900000 // 15 minutes (15 * 60 * 1000ms)

// Effects
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain
#define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes
#endif // RGB_MATRIX_ENABLE
drashna marked this conversation as resolved.
Show resolved Hide resolved
Loading