aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/common
diff options
context:
space:
mode:
authorBalz Guenat <balz.guenat@gmail.com>2018-01-01 23:47:51 +0100
committerJack Humbert <jack.humb@gmail.com>2018-01-01 17:47:51 -0500
commit4931510ad38aadb1769c9241bfad0c3d77ad687f (patch)
treeb2e23ebbde408a3f6580b34e8cf3332346e7c3f3 /tmk_core/common
parentd6215ad6aff3857cea8a6877b56a547a76ab13ac (diff)
downloadqmk_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/common')
-rw-r--r--tmk_core/common/action.c7
-rw-r--r--tmk_core/common/action_code.h6
-rw-r--r--tmk_core/common/backlight.c6
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)
61void backlight_toggle(void) 61void 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
82void backlight_level(uint8_t level) 84void 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);