fl16: Implement step brightness for RGB keyboards

Signed-off-by: Daniel Schaefer <dhs@frame.work>
This commit is contained in:
Daniel Schaefer 2023-07-11 04:25:55 +08:00
parent 0f2f4fb052
commit ed8cbb8975

View File

@ -62,7 +62,36 @@ void suspend_wakeup_init_kb(void) {
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
process_record_user(keycode, record);
uint8_t h;
uint8_t s;
uint8_t v;
uint8_t new_v;
switch (keycode) {
// Implement step brightness for RGB backlight
case BL_STEP:
if (record->event.pressed) {
h = rgb_matrix_get_hue();
s = rgb_matrix_get_sat();
v = rgb_matrix_get_val();
switch (v) {
default: // Default when user set to a different level
case 0:
new_v = 85;
break;
case 85:
new_v = 170;
break;
case 170:
new_v = 255;
break;
case 255:
new_v = 0;
break;
}
rgb_matrix_sethsv_noeeprom(h, s, new_v);
}
return true;
case KC_SCRN:
// Simulate press WIN+P
// Works (at least) on Windows and GNOME