VIA V3 - The Custom UI Update (#18222)
This commit is contained in:
parent
575b0e33fa
commit
bc6f8dc8b0
68 changed files with 751 additions and 886 deletions
|
@ -4,12 +4,3 @@
|
|||
#pragma once
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
||||
|
||||
// Enable a limited form of RGB Matrix support in VIA (requires redefining the
|
||||
// effect list in the VIA JSON, which then becomes not 100% compatible with the
|
||||
// RGBLIGHT firmwares).
|
||||
#define VIA_QMK_RGBLIGHT_ENABLE
|
||||
|
||||
// Enable the workaround for the speed parameter mismatch between RGBLIGHT and
|
||||
// RGB Matrix, so that the speed slider in VIA behaves in a more useful way.
|
||||
#define VIA_CUSTOM_LIGHTING_ENABLE
|
||||
|
|
|
@ -164,60 +164,6 @@ uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t
|
|||
return 0;
|
||||
}
|
||||
|
||||
# if defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
|
||||
|
||||
// VIA supports only 4 discrete values for effect speed; map these to some
|
||||
// useful speed values for RGB Matrix.
|
||||
enum speed_values {
|
||||
RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects
|
||||
RGBLIGHT_SPEED_1 = UINT8_MAX / 4,
|
||||
RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value
|
||||
RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast
|
||||
};
|
||||
|
||||
static uint8_t speed_from_rgblight(uint8_t rgblight_speed) {
|
||||
switch (rgblight_speed) {
|
||||
case 0:
|
||||
return RGBLIGHT_SPEED_0;
|
||||
case 1:
|
||||
return RGBLIGHT_SPEED_1;
|
||||
case 2:
|
||||
default:
|
||||
return RGBLIGHT_SPEED_2;
|
||||
case 3:
|
||||
return RGBLIGHT_SPEED_3;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) {
|
||||
if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) {
|
||||
return 0;
|
||||
} else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) {
|
||||
return 1;
|
||||
} else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) {
|
||||
return 2;
|
||||
} else {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
|
||||
switch (data[0]) {
|
||||
case id_lighting_get_value:
|
||||
if (data[1] == id_qmk_rgblight_effect_speed) {
|
||||
data[2] = speed_to_rgblight(rgb_matrix_get_speed());
|
||||
}
|
||||
break;
|
||||
case id_lighting_set_value:
|
||||
if (data[1] == id_qmk_rgblight_effect_speed) {
|
||||
rgb_matrix_set_speed_noeeprom(speed_from_rgblight(data[2]));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
# endif // defined(VIA_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
|
||||
|
||||
#endif // defined(RGB_MATRIX_ENABLE)
|
||||
|
||||
void winry315_set_orientation(uint8_t orientation) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue