mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-04-23 15:41:28 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
bb108b77d9
@ -688,6 +688,16 @@ Remove the spread effect entirely.
|
||||
#define RGB_MATRIX_TYPING_HEATMAP_SLIM
|
||||
```
|
||||
|
||||
### RGB Matrix Effect Solid Reactive :id=rgb-matrix-effect-solid-reactive
|
||||
|
||||
Solid reactive effects will pulse RGB light on key presses with user configurable hues. To enable gradient mode that will automatically change reactive color, add the following define:
|
||||
|
||||
```c
|
||||
#define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
```
|
||||
|
||||
Gradient mode will loop through the color wheel hues over time and its duration can be controlled with the effect speed keycodes (`RGB_SPI`/`RGB_SPD`).
|
||||
|
||||
## Custom RGB Matrix Effects :id=custom-rgb-matrix-effects
|
||||
|
||||
By setting `RGB_MATRIX_CUSTOM_USER = yes` in `rules.mk`, new effects can be defined directly from your keymap or userspace, without having to edit any QMK core files. To declare new effects, create a `rgb_matrix_user.inc` file in the user keymap directory or userspace folder.
|
||||
|
@ -1,8 +1,6 @@
|
||||
# Mode SixtyFive M65S
|
||||
# Mode SixtyFive M75H
|
||||
|
||||

|
||||
|
||||
The M65S is the solderable PCB for the Mode SixtyFive keyboard, a sixty-five-percent high-end keyboard sold by [Mode Designs](https://shop.modedesigns.com/).
|
||||
The M75H is the hot-swappable PCB for the Mode SeventyFive keyboard, a seventy-five-percent high-end keyboard sold by [Mode Designs](https://shop.modedesigns.com/).
|
||||
|
||||
- Keyboard Maintainer: [Gondolindrim](https://github.com/Gondolindrim)
|
||||
- Hardware Supported: proprietary PCB using STM32F401 controller
|
||||
@ -10,10 +8,10 @@ The M65S is the solderable PCB for the Mode SixtyFive keyboard, a sixty-five-per
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mode/m65s:default
|
||||
make mode/m75h:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mode/m65s:default:flash
|
||||
make mode/m75h:default:flash
|
||||
|
||||
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).
|
||||
|
@ -4,6 +4,9 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE)
|
||||
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||
|
||||
static HSV SOLID_REACTIVE_math(HSV hsv, uint16_t offset) {
|
||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
|
||||
# endif
|
||||
hsv.h += qsub8(130, offset);
|
||||
return hsv;
|
||||
}
|
||||
|
@ -19,6 +19,9 @@ static HSV SOLID_REACTIVE_CROSS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di
|
||||
dy = dy * 16 > 255 ? 255 : dy * 16;
|
||||
effect += dx > dy ? dy : dx;
|
||||
if (effect > 255) effect = 255;
|
||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
|
||||
# endif
|
||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||
return hsv;
|
||||
}
|
||||
|
@ -16,6 +16,9 @@ static HSV SOLID_REACTIVE_NEXUS_math(HSV hsv, int16_t dx, int16_t dy, uint8_t di
|
||||
if (effect > 255) effect = 255;
|
||||
if (dist > 72) effect = 255;
|
||||
if ((dx > 8 || dx < -8) && (dy > 8 || dy < -8)) effect = 255;
|
||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
|
||||
# endif
|
||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||
hsv.h = rgb_matrix_config.hsv.h + dy / 4;
|
||||
return hsv;
|
||||
|
@ -4,6 +4,9 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE)
|
||||
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||
|
||||
static HSV SOLID_REACTIVE_SIMPLE_math(HSV hsv, uint16_t offset) {
|
||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
|
||||
# endif
|
||||
hsv.v = scale8(255 - offset, hsv.v);
|
||||
return hsv;
|
||||
}
|
||||
|
@ -14,6 +14,9 @@ RGB_MATRIX_EFFECT(SOLID_REACTIVE_MULTIWIDE)
|
||||
static HSV SOLID_REACTIVE_WIDE_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) {
|
||||
uint16_t effect = tick + dist * 5;
|
||||
if (effect > 255) effect = 255;
|
||||
# ifdef RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
|
||||
hsv.h = scale16by8(g_rgb_timer, add8(rgb_matrix_config.speed, 1) >> 6);
|
||||
# endif
|
||||
hsv.v = qadd8(hsv.v, 255 - effect);
|
||||
return hsv;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user