mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-22 16:37:58 +06:00
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:
parent
38ab86e8f2
commit
9584db055b
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
@ -47,4 +47,4 @@ CUSTOM_MATRIX = yes
|
||||||
SRC = matrix.c i2c.c
|
SRC = matrix.c i2c.c
|
||||||
|
|
||||||
# programming options
|
# programming options
|
||||||
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex
|
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex
|
||||||
|
|
Loading…
Reference in New Issue
Block a user