Get rid of `USB_LED_CAPS_LOCK` (#21436)
parent
928e03e8d6
commit
87b11345a5
|
@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B2);
|
setPinOutput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B2);
|
setPinInput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B2);
|
setPinOutput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B2);
|
setPinInput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,10 +72,11 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// support for standard mod state keys (caps lock, scroll lock, etc.)
|
// support for standard mod state keys (caps lock, scroll lock, etc.)
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
||||||
} else {
|
} else {
|
||||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B2);
|
setPinOutput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B2);
|
setPinInput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,11 +157,11 @@ void dynamic_macro_record_end_user(int8_t direction) {
|
||||||
// Custom Caps Lock backlight behaviour
|
// Custom Caps Lock backlight behaviour
|
||||||
// ------------------------------------
|
// ------------------------------------
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
// This exists because I don't like the backlight to turn OFF when the Caps Lock is ON.
|
// This exists because I don't like the backlight to turn OFF when the Caps Lock is ON.
|
||||||
// That is, this will turn the backlight ON (at half the brightness) when the Caps Lock is ON as well.
|
// That is, this will turn the backlight ON (at half the brightness) when the Caps Lock is ON as well.
|
||||||
static bool prev_is_caps_on;
|
static bool prev_is_caps_on;
|
||||||
bool is_caps_on = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK);
|
bool is_caps_on = led_state.caps_lock;
|
||||||
|
|
||||||
if (prev_is_caps_on != is_caps_on) {
|
if (prev_is_caps_on != is_caps_on) {
|
||||||
prev_is_caps_on = is_caps_on;
|
prev_is_caps_on = is_caps_on;
|
||||||
|
@ -178,7 +178,7 @@ void led_set_user(uint8_t usb_led) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Turn on the Pro Micro's on-board LEDs for Caps Lock
|
// Turn on the Pro Micro's on-board LEDs for Caps Lock
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
// Set to low
|
// Set to low
|
||||||
setPinOutput(B0);
|
setPinOutput(B0);
|
||||||
writePinLow(B0);
|
writePinLow(B0);
|
||||||
|
@ -189,6 +189,7 @@ void led_set_user(uint8_t usb_led) {
|
||||||
setPinInput(B0);
|
setPinInput(B0);
|
||||||
setPinInput(D5);
|
setPinInput(D5);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backlight idle timeout feature
|
// Backlight idle timeout feature
|
||||||
|
|
|
@ -35,11 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool led_update_user(led_t led_state){
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led){
|
|
||||||
//turn on the Pro Micro's on board LEDs for CAPS LOCK
|
//turn on the Pro Micro's on board LEDs for CAPS LOCK
|
||||||
if(IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)){
|
if(led_state.caps_lock){
|
||||||
//set led pins to low
|
//set led pins to low
|
||||||
setPinOutput(B0);
|
setPinOutput(B0);
|
||||||
writePinLow(B0);
|
writePinLow(B0);
|
||||||
|
@ -50,4 +48,5 @@ void led_set_user(uint8_t usb_led){
|
||||||
setPinInput(B0);
|
setPinInput(B0);
|
||||||
setPinInput(D5);
|
setPinInput(D5);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,10 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
|
|
||||||
|
bool led_update_kb(led_t led_state)
|
||||||
void led_set(uint8_t usb_led)
|
|
||||||
{
|
{
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
bool res = led_update_user(led_state);
|
||||||
|
if (res) {
|
||||||
|
if (led_state.caps_lock) {
|
||||||
// output low
|
// output low
|
||||||
DDRB |= (1<<0);
|
DDRB |= (1<<0);
|
||||||
PORTB &= ~(1<<0);
|
PORTB &= ~(1<<0);
|
||||||
|
@ -36,3 +37,5 @@ void led_set(uint8_t usb_led)
|
||||||
PORTD &= ~(1<<5);
|
PORTD &= ~(1<<5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -51,10 +51,11 @@ void matrix_init_user(void) {
|
||||||
writePinLow(B0);
|
writePinLow(B0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
writePinHigh(B0);
|
writePinHigh(B0);
|
||||||
} else {
|
} else {
|
||||||
writePinLow(B0);
|
writePinLow(B0);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
||||||
} else {
|
} else {
|
||||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||||
|
|
|
@ -85,7 +85,7 @@ void highlight_layer3(void){
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rgb_matrix_indicators_user(void) {
|
bool rgb_matrix_indicators_user(void) {
|
||||||
uint8_t this_led = host_keyboard_leds();
|
led_t led_state = host_keyboard_led_state();
|
||||||
if (!g_suspend_state) {
|
if (!g_suspend_state) {
|
||||||
switch (get_highest_layer(layer_state)) {
|
switch (get_highest_layer(layer_state)) {
|
||||||
case 3:
|
case 3:
|
||||||
|
@ -94,7 +94,7 @@ bool rgb_matrix_indicators_user(void) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
|
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -146,7 +146,7 @@ void highlight_layer3(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool rgb_matrix_indicators_user(void) {
|
bool rgb_matrix_indicators_user(void) {
|
||||||
uint8_t this_led = host_keyboard_leds();
|
led_t led_state = host_keyboard_led_state();
|
||||||
if (!g_suspend_state) {
|
if (!g_suspend_state) {
|
||||||
switch (get_highest_layer(layer_state)) {
|
switch (get_highest_layer(layer_state)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -161,7 +161,7 @@ bool rgb_matrix_indicators_user(void) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( this_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
|
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -296,12 +296,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
} else {
|
} else {
|
||||||
ergodox_right_led_1_off();
|
ergodox_right_led_1_off();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -194,11 +194,12 @@ void matrix_scan_user(void) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led){
|
bool led_update_user(led_t led_state){
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK))
|
if (led_state.caps_lock)
|
||||||
{
|
{
|
||||||
capsOn = true;
|
capsOn = true;
|
||||||
}else {
|
}else {
|
||||||
capsOn = false;
|
capsOn = false;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,11 +351,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)){
|
if (led_state.caps_lock){
|
||||||
frenchdev_led_3_on();
|
frenchdev_led_3_on();
|
||||||
} else {
|
} else {
|
||||||
frenchdev_led_3_off();
|
frenchdev_led_3_off();
|
||||||
}
|
}
|
||||||
return ;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,24 +67,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
return OLED_ROTATION_180;
|
return OLED_ROTATION_180;
|
||||||
}
|
}
|
||||||
bool oled_task_user(void) {
|
bool oled_task_user(void) {
|
||||||
// Host Keyboard Layer Status
|
|
||||||
/*oled_write_P(PSTR("Lyr: "), false);
|
|
||||||
switch (get_highest_layer(layer_state)) {
|
|
||||||
case 0:
|
|
||||||
oled_write_P(PSTR("Alpha\n"), false);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
oled_write_P(PSTR("FN\n"), false);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
|
||||||
oled_write_ln_P(PSTR("Undefined"), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t led_usb_state = host_keyboard_leds();
|
|
||||||
oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
|
|
||||||
*/
|
|
||||||
|
|
||||||
static const char PROGMEM qmk_logo[] = {
|
static const char PROGMEM qmk_logo[] = {
|
||||||
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
|
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
|
||||||
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
|
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
|
||||||
|
|
|
@ -1303,8 +1303,8 @@ void turn_off_capslock(void) {
|
||||||
rgbsps_send();
|
rgbsps_send();
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK);
|
bool new_capslock = led_state.caps_lock;
|
||||||
if (new_capslock ^ capslock) { // capslock state is different
|
if (new_capslock ^ capslock) { // capslock state is different
|
||||||
if ((capslock = new_capslock)) {
|
if ((capslock = new_capslock)) {
|
||||||
rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
|
rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
|
||||||
|
@ -1313,6 +1313,7 @@ void turn_off_capslock(void) {
|
||||||
}
|
}
|
||||||
rgbsps_send();
|
rgbsps_send();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1306,8 +1306,8 @@ void turn_off_capslock(void) {
|
||||||
rgbsps_send();
|
rgbsps_send();
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK);
|
bool new_capslock = led_state.caps_lock;
|
||||||
if (new_capslock ^ capslock) { // capslock state is different
|
if (new_capslock ^ capslock) { // capslock state is different
|
||||||
if ((capslock = new_capslock)) {
|
if ((capslock = new_capslock)) {
|
||||||
rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
|
rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
|
||||||
|
@ -1316,6 +1316,7 @@ void turn_off_capslock(void) {
|
||||||
}
|
}
|
||||||
rgbsps_send();
|
rgbsps_send();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -69,22 +69,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______),
|
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______),
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool led_update_user(led_t led_state) {
|
||||||
return true;
|
if (led_state.caps_lock) {
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
||||||
rgblight_enable_noeeprom();
|
rgblight_enable_noeeprom();
|
||||||
} else {
|
} else {
|
||||||
rgblight_disable_noeeprom();
|
rgblight_disable_noeeprom();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,8 +43,8 @@ static void check_light_layer(layer_state_t state) {
|
||||||
last_checked_layer = true;
|
last_checked_layer = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void check_light_led(uint8_t leds) {
|
static void check_light_led(led_t led_state) {
|
||||||
if (IS_LED_ON(leds, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
caps_light();
|
caps_light();
|
||||||
} else if (IS_LAYER_ON(L_FN)) {
|
} else if (IS_LAYER_ON(L_FN)) {
|
||||||
fn_light();
|
fn_light();
|
||||||
|
@ -57,7 +57,7 @@ static void check_light_led(uint8_t leds) {
|
||||||
static void inline check_light(void) {
|
static void inline check_light(void) {
|
||||||
last_checked_layer
|
last_checked_layer
|
||||||
? check_light_layer(layer_state)
|
? check_light_layer(layer_state)
|
||||||
: check_light_led(host_keyboard_leds());
|
: check_light_led(host_keyboard_led_state());
|
||||||
}
|
}
|
||||||
|
|
||||||
void eeconfig_init_keymap(void) {
|
void eeconfig_init_keymap(void) {
|
||||||
|
|
|
@ -79,11 +79,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B2);
|
setPinOutput(B2);
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B2);
|
setPinInput(B2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,12 +56,13 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
||||||
} else {
|
} else {
|
||||||
layer_state_set_user(layer_state);
|
layer_state_set_user(layer_state);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void myrgb_toggle(void) {
|
void myrgb_toggle(void) {
|
||||||
|
|
|
@ -39,10 +39,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
writePinLow(B1);
|
writePinLow(B1);
|
||||||
} else {
|
} else {
|
||||||
writePinHigh(B1);
|
writePinHigh(B1);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,7 +165,7 @@ if(IS_LAYER_ON(NSSL)) {
|
||||||
|
|
||||||
//capslock leds
|
//capslock leds
|
||||||
|
|
||||||
if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
rgb_matrix_set_color_all(50, 15.6, 0);
|
rgb_matrix_set_color_all(50, 15.6, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,12 +64,13 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
||||||
} else {
|
} else {
|
||||||
layer_state_set_user(layer_state);
|
layer_state_set_user(layer_state);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void myrgb_toggle(void) {
|
void myrgb_toggle(void) {
|
||||||
|
|
|
@ -64,12 +64,13 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
rgblight_mode_noeeprom(RGBLIGHT_MODE_ALTERNATING);
|
||||||
} else {
|
} else {
|
||||||
layer_state_set_user(layer_state);
|
layer_state_set_user(layer_state);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void myrgb_toggle(void) {
|
void myrgb_toggle(void) {
|
||||||
|
|
|
@ -100,10 +100,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
writePinLow(E6);
|
writePinLow(E6);
|
||||||
} else {
|
} else {
|
||||||
writePinHigh(E6);
|
writePinHigh(E6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,11 +49,12 @@ EE_CLR, _______, _______, _______, _______,
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
// Turn LED On/Off for Caps Lock
|
// Turn LED On/Off for Caps Lock
|
||||||
if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
the50_led_on();
|
the50_led_on();
|
||||||
} else {
|
} else {
|
||||||
the50_led_off();
|
the50_led_off();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,11 +69,12 @@ EE_CLR, _______, _______, _______, _______,
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
// Turn LED On/Off for Caps Lock
|
// Turn LED On/Off for Caps Lock
|
||||||
if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
the50_led_on();
|
the50_led_on();
|
||||||
} else {
|
} else {
|
||||||
the50_led_off();
|
the50_led_off();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,12 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B6);
|
setPinOutput(B6);
|
||||||
writePinHigh(B6);
|
writePinHigh(B6);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B6);
|
setPinInput(B6);
|
||||||
writePinLow(B6);
|
writePinLow(B6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B6);
|
setPinOutput(B6);
|
||||||
writePinHigh(B6);
|
writePinHigh(B6);
|
||||||
}
|
}
|
||||||
|
@ -79,4 +79,5 @@ void led_set_user(uint8_t usb_led) {
|
||||||
setPinInput(B6);
|
setPinInput(B6);
|
||||||
writePinLow(B6);
|
writePinLow(B6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,12 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(B6);
|
setPinOutput(B6);
|
||||||
writePinHigh(B6);
|
writePinHigh(B6);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(B6);
|
setPinInput(B6);
|
||||||
writePinLow(B6);
|
writePinLow(B6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,11 +70,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
DDRB |= (1 << 6); PORTB |= (1 << 6);
|
DDRB |= (1 << 6); PORTB |= (1 << 6);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DDRB &= ~(1 << 6); PORTB &= ~(1 << 6);
|
DDRB &= ~(1 << 6); PORTB &= ~(1 << 6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
|
|
||||||
case KC_CAPS:
|
case KC_CAPS:
|
||||||
if(IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)){
|
if(host_keyboard_led_state().caps_lock){
|
||||||
caps_mode_index = CAPS_MODE_LOWER;
|
caps_mode_index = CAPS_MODE_LOWER;
|
||||||
} else{
|
} else{
|
||||||
caps_mode_index = CAPS_MODE_UPPER;
|
caps_mode_index = CAPS_MODE_UPPER;
|
||||||
|
|
|
@ -47,10 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
rgblight_sethsv(HSV_RED);
|
rgblight_sethsv(HSV_RED);
|
||||||
} else {
|
} else {
|
||||||
rgblight_sethsv(HSV_TURQUOISE);
|
rgblight_sethsv(HSV_TURQUOISE);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
|
@ -13,21 +13,22 @@ void matrix_init_user(void)
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
void led_set_user(uint8_t usb_led)
|
bool led_update_user(led_t led_state)
|
||||||
{
|
{
|
||||||
static uint8_t old_usb_led = 0;
|
static led_t old_led_state = {0};
|
||||||
_delay_ms(10); // gets rid of tick
|
_delay_ms(10); // gets rid of tick
|
||||||
if (!is_playing_notes()) {
|
if (!is_playing_notes()) {
|
||||||
if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
if (led_state.caps_lock && !old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning on
|
// if capslock LED is turning on
|
||||||
PLAY_SONG(song_caps_on);
|
PLAY_SONG(song_caps_on);
|
||||||
}
|
}
|
||||||
else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
else if (!led_state.caps_lock && old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning off
|
// if capslock LED is turning off
|
||||||
PLAY_SONG(song_caps_off);
|
PLAY_SONG(song_caps_off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
old_usb_led = usb_led;
|
old_led_state = led_state;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -13,21 +13,22 @@ void matrix_init_user(void)
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
void led_set_user(uint8_t usb_led)
|
bool led_update_user(led_t led_state)
|
||||||
{
|
{
|
||||||
static uint8_t old_usb_led = 0;
|
static led_t old_led_state = {0};
|
||||||
_delay_ms(10); // gets rid of tick
|
_delay_ms(10); // gets rid of tick
|
||||||
if (!is_playing_notes()) {
|
if (!is_playing_notes()) {
|
||||||
if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
if (led_state.caps_lock && !old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning on
|
// if capslock LED is turning on
|
||||||
PLAY_SONG(song_caps_on);
|
PLAY_SONG(song_caps_on);
|
||||||
}
|
}
|
||||||
else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
else if (!led_state.caps_lock && old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning off
|
// if capslock LED is turning off
|
||||||
PLAY_SONG(song_caps_off);
|
PLAY_SONG(song_caps_off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
old_usb_led = usb_led;
|
old_led_state = led_state;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -13,21 +13,22 @@ void matrix_init_user(void)
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
void led_set_user(uint8_t usb_led)
|
bool led_update_user(led_t led_state)
|
||||||
{
|
{
|
||||||
static uint8_t old_usb_led = 0;
|
static led_t old_led_state = {0};
|
||||||
_delay_ms(10); // gets rid of tick
|
_delay_ms(10); // gets rid of tick
|
||||||
if (!is_playing_notes()) {
|
if (!is_playing_notes()) {
|
||||||
if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
if (led_state.caps_lock && !old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning on
|
// if capslock LED is turning on
|
||||||
PLAY_SONG(song_caps_on);
|
PLAY_SONG(song_caps_on);
|
||||||
}
|
}
|
||||||
else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
else if (!led_state.caps_lock && old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning off
|
// if capslock LED is turning off
|
||||||
PLAY_SONG(song_caps_off);
|
PLAY_SONG(song_caps_off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
old_usb_led = usb_led;
|
old_led_state = led_state;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1527,7 +1527,7 @@ void scap_finished(tap_dance_state_t* state, void* user_data) {
|
||||||
register_code(KC_LSFT);
|
register_code(KC_LSFT);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
tap_code(KC_CAPS);
|
tap_code(KC_CAPS);
|
||||||
reset_tap_dance(state);
|
reset_tap_dance(state);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -13,21 +13,22 @@ void matrix_init_user(void)
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
void led_set_user(uint8_t usb_led)
|
bool led_update_user(led_t led_state)
|
||||||
{
|
{
|
||||||
static uint8_t old_usb_led = 0;
|
static led_t old_led_state = {0};
|
||||||
_delay_ms(10); // gets rid of tick
|
_delay_ms(10); // gets rid of tick
|
||||||
if (!is_playing_notes()) {
|
if (!is_playing_notes()) {
|
||||||
if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
if (led_state.caps_lock && !old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning on
|
// if capslock LED is turning on
|
||||||
PLAY_SONG(song_caps_on);
|
PLAY_SONG(song_caps_on);
|
||||||
}
|
}
|
||||||
else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) {
|
else if (!led_state.caps_lock && old_led_state.caps_lock) {
|
||||||
// if capslock LED is turning off
|
// if capslock LED is turning off
|
||||||
PLAY_SONG(song_caps_off);
|
PLAY_SONG(song_caps_off);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
old_usb_led = usb_led;
|
old_led_state = led_state;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -17,20 +17,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
bool led_update_user(led_t led_state) {
|
||||||
}
|
if (led_state.caps_lock) {
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
||||||
DDRD |= (1 << 1); PORTD &= ~(1 << 1);
|
DDRD |= (1 << 1); PORTD &= ~(1 << 1);
|
||||||
} else {
|
} else {
|
||||||
DDRD &= ~(1 << 1); PORTD &= ~(1 << 1);
|
DDRD &= ~(1 << 1); PORTD &= ~(1 << 1);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(F4);
|
setPinOutput(F4);
|
||||||
writePinLow(F4);
|
writePinLow(F4);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(F4);
|
setPinInput(F4);
|
||||||
writePinLow(F4);
|
writePinLow(F4);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,13 +100,14 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
CAPS = 1;
|
CAPS = 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CAPS = 0;
|
CAPS = 0;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void togg_indicator(uint8_t *state, uint8_t pin) {
|
void togg_indicator(uint8_t *state, uint8_t pin) {
|
||||||
|
|
|
@ -91,8 +91,9 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
CAPS = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK);
|
CAPS = led_state.caps_lock;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void togg_indicator(uint8_t *state, uint8_t pin) {
|
void togg_indicator(uint8_t *state, uint8_t pin) {
|
||||||
|
|
|
@ -163,7 +163,7 @@ bool oled_task_user(void) {
|
||||||
oled_set_cursor(0,6);
|
oled_set_cursor(0,6);
|
||||||
oled_write_P(PSTR(" WPM: "), false);
|
oled_write_P(PSTR(" WPM: "), false);
|
||||||
oled_write(get_u8_str(get_current_wpm(), '0'), false);
|
oled_write(get_u8_str(get_current_wpm(), '0'), false);
|
||||||
if(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)){
|
if(host_keyboard_led_state().caps_lock){
|
||||||
oled_set_cursor(0,5);
|
oled_set_cursor(0,5);
|
||||||
oled_write_P(PSTR(" CAPS LOCK"), false);
|
oled_write_P(PSTR(" CAPS LOCK"), false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,12 +91,13 @@ Capslock's led cannot be controlled separately on bananasplit and you can only t
|
||||||
leds at once. If you only install led for capslock, it will look like capslock has toggable
|
leds at once. If you only install led for capslock, it will look like capslock has toggable
|
||||||
backlight.
|
backlight.
|
||||||
*/
|
*/
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led && (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
DDRB |= (1 << 7);
|
DDRB |= (1 << 7);
|
||||||
PORTB |= (1 << 7);
|
PORTB |= (1 << 7);
|
||||||
} else {
|
} else {
|
||||||
DDRB &= ~(1 << 7);
|
DDRB &= ~(1 << 7);
|
||||||
PORTB &= ~(1 << 7);
|
PORTB &= ~(1 << 7);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,12 +75,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
setPinOutput(A3);
|
setPinOutput(A3);
|
||||||
writePinHigh(A3);
|
writePinHigh(A3);
|
||||||
} else {
|
} else {
|
||||||
setPinInput(A3);
|
setPinInput(A3);
|
||||||
writePinLow(A3);
|
writePinLow(A3);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,10 +74,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
DDRA |= (1 << 3); PORTA |= (1 << 3);
|
DDRA |= (1 << 3); PORTA |= (1 << 3);
|
||||||
} else {
|
} else {
|
||||||
DDRA &= ~(1 << 3); PORTA &= ~(1 << 3);
|
DDRA &= ~(1 << 3); PORTA &= ~(1 << 3);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,8 +95,8 @@ WASD are Up Left Right Down respectively
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
// output low
|
// output low
|
||||||
DDRE |= (1<<PE6);
|
DDRE |= (1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
|
@ -106,4 +106,5 @@ void led_set_user(uint8_t usb_led) {
|
||||||
DDRE &= ~(1<<PE6);
|
DDRE &= ~(1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,8 +97,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
_____, _____, _____, _____, _____, _____, _____, _____),
|
_____, _____, _____, _____, _____, _____, _____, _____),
|
||||||
};
|
};
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
// output low
|
// output low
|
||||||
DDRE |= (1<<PE6);
|
DDRE |= (1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
|
@ -108,4 +108,5 @@ void led_set_user(uint8_t usb_led) {
|
||||||
DDRE &= ~(1<<PE6);
|
DDRE &= ~(1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
// output low
|
// output low
|
||||||
DDRE |= (1<<PE6);
|
DDRE |= (1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
|
@ -80,6 +80,7 @@ void led_set_user(uint8_t usb_led) {
|
||||||
DDRE &= ~(1<<PE6);
|
DDRE &= ~(1<<PE6);
|
||||||
PORTE &= ~(1<<PE6);
|
PORTE &= ~(1<<PE6);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define C_RED 0xFF, 0x00, 0x00
|
#define C_RED 0xFF, 0x00, 0x00
|
||||||
|
|
|
@ -110,7 +110,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
|
||||||
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
||||||
uint8_t this_mod = get_mods();
|
uint8_t this_mod = get_mods();
|
||||||
uint8_t this_led = host_keyboard_leds();
|
led_t this_led = host_keyboard_led_state();
|
||||||
uint8_t this_osm = get_oneshot_mods();
|
uint8_t this_osm = get_oneshot_mods();
|
||||||
#define THUMB_LED 6
|
#define THUMB_LED 6
|
||||||
#define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__)
|
#define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__)
|
||||||
|
@ -134,7 +134,7 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) {
|
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) {
|
||||||
if (!layer_state_is(_ADJUST)) {
|
if (!layer_state_is(_ADJUST)) {
|
||||||
RGB_MATRIX_INDICATOR_SET_COLOR(12, 0x00, 0xFF, 0x00);
|
RGB_MATRIX_INDICATOR_SET_COLOR(12, 0x00, 0xFF, 0x00);
|
||||||
RGB_MATRIX_INDICATOR_SET_COLOR(13, 0x00, 0xFF, 0x00);
|
RGB_MATRIX_INDICATOR_SET_COLOR(13, 0x00, 0xFF, 0x00);
|
||||||
|
|
|
@ -101,7 +101,7 @@ bool rgb_matrix_indicators_kb(void) {
|
||||||
if (!rgb_matrix_indicators_user()) {
|
if (!rgb_matrix_indicators_user()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
rgb_matrix_set_color(30, 0xFF, 0x00, 0x00);
|
rgb_matrix_set_color(30, 0xFF, 0x00, 0x00);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -130,16 +130,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
bool led_update_user(led_t led_state) {
|
||||||
|
if (led_state.caps_lock) {
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
|
||||||
capslock_led_on();
|
capslock_led_on();
|
||||||
} else {
|
} else {
|
||||||
capslock_led_off();
|
capslock_led_off();
|
||||||
|
@ -149,4 +141,5 @@ void led_set_user(uint8_t usb_led) {
|
||||||
} else {
|
} else {
|
||||||
gp100_led_off();
|
gp100_led_off();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,9 +109,9 @@ void update_led(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
// Caps Lock Indicator
|
// Caps Lock Indicator
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
writePinLow(B2);
|
writePinLow(B2);
|
||||||
rgblight_setrgb(255, 110, 0);
|
rgblight_setrgb(255, 110, 0);
|
||||||
}
|
}
|
||||||
|
@ -133,6 +133,7 @@ void led_set_user(uint8_t usb_led) {
|
||||||
}
|
}
|
||||||
update_led();
|
update_led();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
|
|
@ -310,9 +310,6 @@ void matrix_init_user(void) {
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
uint8_t layer = get_highest_layer(layer_state);
|
uint8_t layer = get_highest_layer(layer_state);
|
||||||
|
|
||||||
//led 1, RED, Caps-Lock ON
|
|
||||||
//if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ergodox_right_led_1_on();
|
|
||||||
|
|
||||||
//led 2, GREEN
|
//led 2, GREEN
|
||||||
if (layer == LAYER_NUM)
|
if (layer == LAYER_NUM)
|
||||||
ergodox_right_led_2_on();
|
ergodox_right_led_2_on();
|
||||||
|
@ -327,9 +324,10 @@ void matrix_scan_user(void) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK))
|
if (led_state.caps_lock)
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
else
|
else
|
||||||
ergodox_right_led_1_off();
|
ergodox_right_led_1_off();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,7 +213,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
void housekeeping_task_keymap(void) { // runs frequently to update info
|
void housekeeping_task_keymap(void) { // runs frequently to update info
|
||||||
#ifdef KEYBOARD_ergodox_ez
|
#ifdef KEYBOARD_ergodox_ez
|
||||||
uint8_t modifiers = get_mods();
|
uint8_t modifiers = get_mods();
|
||||||
uint8_t led_usb_state = host_keyboard_leds();
|
led_t led_state = host_keyboard_led_state();
|
||||||
uint8_t one_shot = get_oneshot_mods();
|
uint8_t one_shot = get_oneshot_mods();
|
||||||
|
|
||||||
if (!skip_leds) {
|
if (!skip_leds) {
|
||||||
|
@ -225,7 +225,7 @@ void housekeeping_task_keymap(void) { // runs frequently to update info
|
||||||
// Since we're not using the LEDs here for layer indication anymore,
|
// Since we're not using the LEDs here for layer indication anymore,
|
||||||
// then lets use them for modifier indicators. Shame we don't have 4...
|
// then lets use them for modifier indicators. Shame we don't have 4...
|
||||||
// Also, no "else", since we want to know each, independently.
|
// Also, no "else", since we want to know each, independently.
|
||||||
if ((modifiers | one_shot) & MOD_MASK_SHIFT || led_usb_state & (1 << USB_LED_CAPS_LOCK)) {
|
if ((modifiers | one_shot) & MOD_MASK_SHIFT || led_state.caps_lock) {
|
||||||
ergodox_right_led_2_on();
|
ergodox_right_led_2_on();
|
||||||
ergodox_right_led_2_set(50);
|
ergodox_right_led_2_set(50);
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,12 +94,12 @@ layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||||
|
|
||||||
void matrix_scan_keymap(void) {
|
void matrix_scan_keymap(void) {
|
||||||
uint8_t modifiers = get_mods();
|
uint8_t modifiers = get_mods();
|
||||||
uint8_t led_usb_state = host_keyboard_leds();
|
led_t led_state = host_keyboard_led_state();
|
||||||
uint8_t one_shot = get_oneshot_mods();
|
uint8_t one_shot = get_oneshot_mods();
|
||||||
uint8_t layer_is_workman = layer_state_is(_WORKMAN);
|
uint8_t layer_is_workman = layer_state_is(_WORKMAN);
|
||||||
|
|
||||||
if ((modifiers) && (layer_is_workman)) {
|
if ((modifiers) && (layer_is_workman)) {
|
||||||
if (modifiers & MOD_MASK_SHIFT || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MOD_MASK_SHIFT) {
|
if (modifiers & MOD_MASK_SHIFT || led_state.caps_lock || one_shot & MOD_MASK_SHIFT) {
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
ergodox_right_led_1_set( 25 );
|
ergodox_right_led_1_set( 25 );
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -238,7 +238,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
// shift or caps lock turns on red light
|
// shift or caps lock turns on red light
|
||||||
if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
|
if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || host_keyboard_led_state().caps_lock) {
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
} else {
|
} else {
|
||||||
ergodox_right_led_1_off();
|
ergodox_right_led_1_off();
|
||||||
|
|
|
@ -238,7 +238,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
// shift or caps lock turns on red light
|
// shift or caps lock turns on red light
|
||||||
if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
|
if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || host_keyboard_led_state().caps_lock) {
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
} else {
|
} else {
|
||||||
ergodox_right_led_1_off();
|
ergodox_right_led_1_off();
|
||||||
|
|
|
@ -686,7 +686,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
if ((capslock_state & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
|
if ((capslock_state & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) {
|
||||||
// CAPSLOCK is currently active, disable it
|
// CAPSLOCK is currently active, disable it
|
||||||
if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
unregister_code(KC_LOCKING_CAPS_LOCK);
|
unregister_code(KC_LOCKING_CAPS_LOCK);
|
||||||
} else {
|
} else {
|
||||||
register_code(KC_LOCKING_CAPS_LOCK);
|
register_code(KC_LOCKING_CAPS_LOCK);
|
||||||
|
@ -697,11 +697,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return process_record_user_shifted(keycode, record);
|
return process_record_user_shifted(keycode, record);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Runs just one time when the keyboard initializes.
|
|
||||||
void matrix_init_user(void){
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
uint8_t layer = get_highest_layer(layer_state);
|
uint8_t layer = get_highest_layer(layer_state);
|
||||||
|
|
|
@ -106,7 +106,7 @@ void matrix_scan_user(void) {
|
||||||
ergodox_right_led_3_off();
|
ergodox_right_led_3_off();
|
||||||
ergodox_board_led_off();
|
ergodox_board_led_off();
|
||||||
|
|
||||||
if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
ergodox_right_led_3_on();
|
ergodox_right_led_3_on();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,11 +154,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
// Runs just one time when the keyboard initializes.
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
|
|
||||||
|
@ -185,7 +180,7 @@ void matrix_scan_user(void) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
// if capslk is on, set led 1 on
|
// if capslk is on, set led 1 on
|
||||||
ergodox_right_led_1_on();
|
ergodox_right_led_1_on();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -100,12 +100,13 @@ void keyboard_post_init_keymap(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use Green LED for Caps Lock
|
// Use Green LED for Caps Lock
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (IS_LED_OFF(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
writePinLow(LED_GREEN);
|
writePinLow(LED_GREEN);
|
||||||
} else {
|
} else {
|
||||||
writePinHigh(LED_GREEN);
|
writePinHigh(LED_GREEN);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -184,7 +184,7 @@ led_config_t g_led_config = {
|
||||||
|
|
||||||
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
||||||
uint8_t this_mod = get_mods();
|
uint8_t this_mod = get_mods();
|
||||||
uint8_t this_led = host_keyboard_leds();
|
led_t this_led = host_keyboard_led_state();
|
||||||
uint8_t this_osm = get_oneshot_mods();
|
uint8_t this_osm = get_oneshot_mods();
|
||||||
# ifdef KEYBOARD_planck_ez
|
# ifdef KEYBOARD_planck_ez
|
||||||
# define THUMB_LED 41
|
# define THUMB_LED 41
|
||||||
|
@ -208,7 +208,7 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) {
|
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) {
|
||||||
if (!layer_state_cmp(layer_state, _ADJUST)) {
|
if (!layer_state_cmp(layer_state, _ADJUST)) {
|
||||||
RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00);
|
RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00);
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,15 +110,18 @@ ISR(TIMERx_COMPA_vect) {
|
||||||
uint8_t index : 6;
|
uint8_t index : 6;
|
||||||
} pwm;
|
} pwm;
|
||||||
} timer = {.row = 0};
|
} timer = {.row = 0};
|
||||||
|
static led_t led_state = {0};
|
||||||
|
|
||||||
timer.row++;
|
timer.row++;
|
||||||
|
|
||||||
// LED on
|
// LED on
|
||||||
if (timer.pwm.count == 0) {
|
if (timer.pwm.count == 0) {
|
||||||
led_set(1 << USB_LED_CAPS_LOCK);
|
led_state.caps_lock = true;
|
||||||
|
led_set(led_state.raw);
|
||||||
}
|
}
|
||||||
// LED off
|
// LED off
|
||||||
if (timer.pwm.count == pgm_read_byte(&breathing_table[timer.pwm.index])) {
|
if (timer.pwm.count == pgm_read_byte(&breathing_table[timer.pwm.index])) {
|
||||||
led_set(0);
|
led_state.caps_lock = false;
|
||||||
|
led_set(led_state.raw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,16 +42,19 @@ void sleep_led_timer_callback(void) {
|
||||||
uint8_t index : 6;
|
uint8_t index : 6;
|
||||||
} pwm;
|
} pwm;
|
||||||
} timer = {.row = 0};
|
} timer = {.row = 0};
|
||||||
|
static led_t led_state = {0};
|
||||||
|
|
||||||
timer.row++;
|
timer.row++;
|
||||||
|
|
||||||
// LED on
|
// LED on
|
||||||
if (timer.pwm.count == 0) {
|
if (timer.pwm.count == 0) {
|
||||||
led_set(1 << USB_LED_CAPS_LOCK);
|
led_state.caps_lock = true;
|
||||||
|
led_set(led_state.raw);
|
||||||
}
|
}
|
||||||
// LED off
|
// LED off
|
||||||
if (timer.pwm.count == breathing_table[timer.pwm.index]) {
|
if (timer.pwm.count == breathing_table[timer.pwm.index]) {
|
||||||
led_set(0);
|
led_state.caps_lock = false;
|
||||||
|
led_set(led_state.raw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,7 +193,7 @@ void sleep_led_toggle(void) {
|
||||||
void sleep_led_init(void) {}
|
void sleep_led_init(void) {}
|
||||||
|
|
||||||
void sleep_led_enable(void) {
|
void sleep_led_enable(void) {
|
||||||
led_set(1 << USB_LED_CAPS_LOCK);
|
led_set(2); // Caps Lock
|
||||||
}
|
}
|
||||||
|
|
||||||
void sleep_led_disable(void) {
|
void sleep_led_disable(void) {
|
||||||
|
|
|
@ -153,14 +153,14 @@ __attribute__((weak)) void led_set(uint8_t usb_led) {
|
||||||
/** \brief Trigger behaviour on transition to suspend
|
/** \brief Trigger behaviour on transition to suspend
|
||||||
*/
|
*/
|
||||||
void led_suspend(void) {
|
void led_suspend(void) {
|
||||||
uint8_t leds_off = 0;
|
led_t leds_off = {0};
|
||||||
#ifdef BACKLIGHT_CAPS_LOCK
|
#ifdef BACKLIGHT_CAPS_LOCK
|
||||||
if (is_backlight_enabled()) {
|
if (is_backlight_enabled()) {
|
||||||
// Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off
|
// Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off
|
||||||
leds_off |= (1 << USB_LED_CAPS_LOCK);
|
leds_off.caps_lock = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
led_set(leds_off);
|
led_set(leds_off.raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief Trigger behaviour on transition from suspend
|
/** \brief Trigger behaviour on transition from suspend
|
||||||
|
|
|
@ -22,9 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* FIXME: Add doxygen comments here. */
|
/* FIXME: Add doxygen comments here. */
|
||||||
|
|
||||||
/* keyboard LEDs */
|
|
||||||
#define USB_LED_CAPS_LOCK 1
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -11,9 +11,9 @@ void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight
|
||||||
* This is especially useful for One Shot Mods, since it's not always obvious if they're still lit up.
|
* This is especially useful for One Shot Mods, since it's not always obvious if they're still lit up.
|
||||||
*/
|
*/
|
||||||
#if defined(INDICATOR_LIGHTS)
|
#if defined(INDICATOR_LIGHTS)
|
||||||
void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
|
void set_rgb_indicators(uint8_t this_mod, led_t this_led, uint8_t this_osm) {
|
||||||
if (userspace_config.rgb_layer_change && get_highest_layer(layer_state) == 0) {
|
if (userspace_config.rgb_layer_change && get_highest_layer(layer_state) == 0) {
|
||||||
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) {
|
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) {
|
||||||
# ifdef SHFT_LED1
|
# ifdef SHFT_LED1
|
||||||
rgblight_sethsv_at(120, 255, 255, SHFT_LED1);
|
rgblight_sethsv_at(120, 255, 255, SHFT_LED1);
|
||||||
# endif // SHFT_LED1
|
# endif // SHFT_LED1
|
||||||
|
@ -79,7 +79,7 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
|
||||||
/* Function for the indicators */
|
/* Function for the indicators */
|
||||||
void matrix_scan_indicator(void) {
|
void matrix_scan_indicator(void) {
|
||||||
if (has_initialized) {
|
if (has_initialized) {
|
||||||
set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
|
set_rgb_indicators(get_mods(), host_keyboard_led_state(), get_oneshot_mods());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // INDICATOR_LIGHTS
|
#endif // INDICATOR_LIGHTS
|
||||||
|
|
|
@ -135,14 +135,15 @@ void matrix_init_user(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool is_capslocked = false;
|
static bool is_capslocked = false;
|
||||||
void led_set_user(uint8_t usb_led) {
|
bool led_update_user(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_state.caps_lock) {
|
||||||
is_capslocked = true;
|
is_capslocked = true;
|
||||||
// DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
// DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
||||||
} else {
|
} else {
|
||||||
is_capslocked = false;
|
is_capslocked = false;
|
||||||
// DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
// DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
//rgblight_set();
|
//rgblight_set();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue