Add support for key backlighting to bfake

If BACKLIGHT_ENABLE is set to `yes` in `rules.mk`, then the user
can use the `BL_*` keycodes to adjust the backlight. At the moment,
only on/off is supported.
This commit is contained in:
Chris Lee 2017-12-02 03:26:49 -07:00 committed by Jack Humbert
parent 38ab86e8f2
commit 9584db055b
3 changed files with 26 additions and 4 deletions

View file

@ -16,7 +16,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "bfake.h" #include "bfake.h"
#ifdef BACKLIGHT_ENABLE
#include "backlight.h"
#endif
#ifdef RGBLIGHT_ENABLE
#include "rgblight.h" #include "rgblight.h"
#endif
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
@ -24,6 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "i2c.h" #include "i2c.h"
#include "quantum.h" #include "quantum.h"
#ifdef RGBLIGHT_ENABLE
extern rgblight_config_t rgblight_config; extern rgblight_config_t rgblight_config;
void rgblight_set(void) { void rgblight_set(void) {
@ -38,8 +44,23 @@ void rgblight_set(void) {
i2c_init(); i2c_init();
i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM); i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
} }
#endif
__attribute__ ((weak)) __attribute__ ((weak))
void matrix_scan_user(void) { void matrix_scan_user(void) {
rgblight_task(); }
void backlight_init_ports(void) {
DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
}
void backlight_set(uint8_t level) {
if (level == 0) {
// Turn out the lights
PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
} else {
// Turn on the lights
PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
}
} }

View file

@ -37,7 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
#define DEBOUNCING_DELAY 5 #define DEBOUNCING_DELAY 5
#define NO_BACKLIGHT_CLOCK
#define BACKLIGHT_LEVELS 1
#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_ANIMATIONS
#define NO_UART 1 #define NO_UART 1

View file

@ -37,7 +37,7 @@ EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no
RGBLIGHT_CUSTOM_DRIVER = yes RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0 OPT_DEFS = -DDEBUG_LEVEL=0