-
-
Notifications
You must be signed in to change notification settings - Fork 38.9k
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
Closed
Changes from 14 commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
ef424cb
Adding RGB Matrix Lighting effects to the nk87
makirill 38835f6
Minor updates
makirill 7e41e4d
Documentation updates
makirill 722c2fa
Minor updates
makirill 12b4c4e
Fixing "backspace" key physical position
makirill 5bcb7aa
Updating leds physical position map
makirill db9256d
Removing config_led.* and indicator.h files
makirill ae6c18a
Updating URL at the keymaps/default/readme.md file
makirill eab35ec
Minor update for layer_state_set_user functions
makirill 54ba42e
Switching to use the rgb_matrix_indicators_kb() function
makirill 01c9742
Fixing coding style
makirill d26bbaf
Minor updates based on code review
makirill a33f344
Updating VIA keymap rules.mk
makirill 10a581a
Moving the CIE1931_CUURVE variable to post_rules.mk
makirill a9848c1
Update keyboards/novelkeys/nk87/keymaps/via/rules.mk
makirill ed3a32f
Merge branch 'master' into feature/nk87-rgb-matrix
makirill f4c561c
Adding RGB Matrix Lighting to VIA keymap
makirill File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/* 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 | ||
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,18 @@ | ||
# The default keymap for NK87 | ||
|
||
![Layer 0](https://i.imgur.com/nw29fvc.png) | ||
![Layer 0](https://i.imgur.com/RQvNaqqh.png) | ||
Fn Layer: | ||
![Layer 1](https://i.imgur.com/SyijLFt.png) | ||
![Layer 1](https://i.imgur.com/5mKCvRbh.png) | ||
|
||
Default layer is normal ANSI TKL | ||
|
||
This keymap uses [RGB Matrix Lighting](https://docs.qmk.fm/#/feature_rgb_matrix) | ||
by default. VIA is not supporting configuration of RGB Matrix Lighting effects but there are still options to do the effects configurations: | ||
- Use `Layer 1` keycodes | ||
- Create new keymap and set defaults using following options set at `config.h`: | ||
- RGB_MATRIX_DEFAULT_MODE | ||
- RGB_MATRIX_DEFAULT_HUE | ||
- RGB_MATRIX_DEFAULT_SAT | ||
- RGB_MATRIX_DEFAULT_SPD | ||
- RGB_MATRIX_DEFAULT_VAL | ||
- Use `via` keymap where RGB Matrix Lighting replaced with RGB Backlight (RGB Backlight has less effects implemented than RGB Matrix Lighting) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/* 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 | ||
|
||
/* Backlight options */ | ||
|
||
#define RGB_BACKLIGHT_ENABLED 1 | ||
drashna marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
#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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,8 @@ | ||
|
||
# Build Options | ||
# chagne yes to no to disable | ||
# | ||
VIA_ENABLE = yes | ||
|
||
# For current implementation it should be set to "yes" | ||
makirill marked this conversation as resolved.
Show resolved
Hide resolved
|
||
RGB_BACKLIGHT = yes |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This statement is obsolete — VIA V3 (#18222) has support for RGB Matrix configuration (the builtin support is limited to setting mode/HSV/speed though, and you may need to customize the list of effects in the VIA JSON if you are not enabling all existing effects in the firmware for some reason).