diff options
author | Balz Guenat <balz.guenat@gmail.com> | 2018-01-01 23:47:51 +0100 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-01-01 17:47:51 -0500 |
commit | 4931510ad38aadb1769c9241bfad0c3d77ad687f (patch) | |
tree | b2e23ebbde408a3f6580b34e8cf3332346e7c3f3 /tmk_core | |
parent | d6215ad6aff3857cea8a6877b56a547a76ab13ac (diff) | |
download | qmk_firmware-4931510ad38aadb1769c9241bfad0c3d77ad687f.tar.gz qmk_firmware-4931510ad38aadb1769c9241bfad0c3d77ad687f.zip |
backlight breathing overhaul (#2187)
* add breathing to bananasplit
* backlight breathing overhaul
* fix the backlight_tick thing.
* fix for vision_division backlight
* fix a few keymaps and probably break breathing for some weirdly set-up boards.
* remove BL_x keycodes because they made unreasonable assumptions
* some fixes for BL keycodes
* integer cie lightness scaling
* use cie lightness for non-breathing backlight and make breathing able to reach true max brightness
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/common/action.c | 7 | ||||
-rw-r--r-- | tmk_core/common/action_code.h | 6 | ||||
-rw-r--r-- | tmk_core/common/backlight.c | 6 |
3 files changed, 14 insertions, 5 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index b39aa4cbc..dd3a5b3ee 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c | |||
@@ -512,8 +512,11 @@ void process_action(keyrecord_t *record, action_t action) | |||
512 | case BACKLIGHT_STEP: | 512 | case BACKLIGHT_STEP: |
513 | backlight_step(); | 513 | backlight_step(); |
514 | break; | 514 | break; |
515 | case BACKLIGHT_LEVEL: | 515 | case BACKLIGHT_ON: |
516 | backlight_level(action.backlight.level); | 516 | backlight_level(BACKLIGHT_LEVELS); |
517 | break; | ||
518 | case BACKLIGHT_OFF: | ||
519 | backlight_level(0); | ||
517 | break; | 520 | break; |
518 | } | 521 | } |
519 | } | 522 | } |
diff --git a/tmk_core/common/action_code.h b/tmk_core/common/action_code.h index b15aaa0eb..05bc84573 100644 --- a/tmk_core/common/action_code.h +++ b/tmk_core/common/action_code.h | |||
@@ -304,7 +304,8 @@ enum backlight_opt { | |||
304 | BACKLIGHT_DECREASE = 1, | 304 | BACKLIGHT_DECREASE = 1, |
305 | BACKLIGHT_TOGGLE = 2, | 305 | BACKLIGHT_TOGGLE = 2, |
306 | BACKLIGHT_STEP = 3, | 306 | BACKLIGHT_STEP = 3, |
307 | BACKLIGHT_LEVEL = 4, | 307 | BACKLIGHT_ON = 4, |
308 | BACKLIGHT_OFF = 5, | ||
308 | }; | 309 | }; |
309 | 310 | ||
310 | /* Macro */ | 311 | /* Macro */ |
@@ -316,7 +317,8 @@ enum backlight_opt { | |||
316 | #define ACTION_BACKLIGHT_DECREASE() ACTION(ACT_BACKLIGHT, BACKLIGHT_DECREASE << 8) | 317 | #define ACTION_BACKLIGHT_DECREASE() ACTION(ACT_BACKLIGHT, BACKLIGHT_DECREASE << 8) |
317 | #define ACTION_BACKLIGHT_TOGGLE() ACTION(ACT_BACKLIGHT, BACKLIGHT_TOGGLE << 8) | 318 | #define ACTION_BACKLIGHT_TOGGLE() ACTION(ACT_BACKLIGHT, BACKLIGHT_TOGGLE << 8) |
318 | #define ACTION_BACKLIGHT_STEP() ACTION(ACT_BACKLIGHT, BACKLIGHT_STEP << 8) | 319 | #define ACTION_BACKLIGHT_STEP() ACTION(ACT_BACKLIGHT, BACKLIGHT_STEP << 8) |
319 | #define ACTION_BACKLIGHT_LEVEL(level) ACTION(ACT_BACKLIGHT, BACKLIGHT_LEVEL << 8 | (level)) | 320 | #define ACTION_BACKLIGHT_ON() ACTION(ACT_BACKLIGHT, BACKLIGHT_ON << 8) |
321 | #define ACTION_BACKLIGHT_OFF() ACTION(ACT_BACKLIGHT, BACKLIGHT_OFF << 8) | ||
320 | /* Command */ | 322 | /* Command */ |
321 | #define ACTION_COMMAND(id, opt) ACTION(ACT_COMMAND, (opt)<<8 | (id)) | 323 | #define ACTION_COMMAND(id, opt) ACTION(ACT_COMMAND, (opt)<<8 | (id)) |
322 | /* Function */ | 324 | /* Function */ |
diff --git a/tmk_core/common/backlight.c b/tmk_core/common/backlight.c index d03bfe931..4d2491b98 100644 --- a/tmk_core/common/backlight.c +++ b/tmk_core/common/backlight.c | |||
@@ -61,6 +61,8 @@ void backlight_decrease(void) | |||
61 | void backlight_toggle(void) | 61 | void backlight_toggle(void) |
62 | { | 62 | { |
63 | backlight_config.enable ^= 1; | 63 | backlight_config.enable ^= 1; |
64 | if (backlight_config.raw == 1) // enabled but level = 0 | ||
65 | backlight_config.level = 1; | ||
64 | eeconfig_update_backlight(backlight_config.raw); | 66 | eeconfig_update_backlight(backlight_config.raw); |
65 | dprintf("backlight toggle: %u\n", backlight_config.enable); | 67 | dprintf("backlight toggle: %u\n", backlight_config.enable); |
66 | backlight_set(backlight_config.enable ? backlight_config.level : 0); | 68 | backlight_set(backlight_config.enable ? backlight_config.level : 0); |
@@ -81,7 +83,9 @@ void backlight_step(void) | |||
81 | 83 | ||
82 | void backlight_level(uint8_t level) | 84 | void backlight_level(uint8_t level) |
83 | { | 85 | { |
84 | backlight_config.level ^= level; | 86 | if (level > BACKLIGHT_LEVELS) |
87 | level = BACKLIGHT_LEVELS; | ||
88 | backlight_config.level = level; | ||
85 | backlight_config.enable = !!backlight_config.level; | 89 | backlight_config.enable = !!backlight_config.level; |
86 | eeconfig_update_backlight(backlight_config.raw); | 90 | eeconfig_update_backlight(backlight_config.raw); |
87 | backlight_set(backlight_config.level); | 91 | backlight_set(backlight_config.level); |