[Keyboard] Fixes fox idb_60 keyboard (#10827)

* Fixed VIA keymap build warning on gcc 10.2.0, Fixed misleading LED function names, Fixed formatting

* Fix: Allow layer LED indicators to be overriden on the keymap level

* Implemented suggested change from led_set_kb callback to led_update_kb callback

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/idb/idb_60/idb_60.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
Thorben 2020-11-25 18:10:42 +01:00 committed by GitHub
parent 86b0acbae0
commit 50611bd814
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 164 additions and 201 deletions

View File

@ -5,17 +5,6 @@ void keyboard_pre_init_kb(void) {
setPinOutput(C5);
}
void led_set_kb(uint8_t usb_led) {
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
_idb_60_caps_led_on();
} else {
_idb_60_caps_led_off();
}
led_set_user(usb_led);
}
inline void _idb_60_caps_led_on(void) {
writePinLow(C5);
}
@ -31,3 +20,28 @@ inline void _idb_60_caps_led_off(void) {
inline void _idb_60_fn_led_off(void) {
writePinHigh(C4);
}
// Capslock LED indicator
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if (res) {
if (led_state.caps_lock) {
_idb_60_caps_led_on();
} else {
_idb_60_caps_led_off();
}
}
return res;
}
// Layer LED indicator - drive LED when not on base layer
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
if (get_highest_layer(state) == 0) {
_idb_60_fn_led_off();
} else {
_idb_60_fn_led_on();
}
return state;
}

View File

@ -11,11 +11,11 @@ void _idb_60_fn_led_off(void);
#define _idb_60_esc_led_off() _idb_60_fn_led_off()
#define LAYOUT( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07,\
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36,\
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56,\
K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76,\
K80, K90, K81, K93, K95, K86, K96\
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
K80, K90, K81, K93, K95, K86, K96 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07 }, \
{ K10, K11, K12, K13, K14, K15, K16 }, \
@ -32,11 +32,11 @@ void _idb_60_fn_led_off(void);
#define LAYOUT_all LAYOUT
#define LAYOUT_default( \
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16,\
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36,\
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56,\
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76,\
K80, K81, K93, K95, K96\
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K56, \
K60, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \
K80, K81, K93, K95, K96 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, KC_NO }, \
{ K10, K11, K12, K13, K14, K15, K16 }, \

View File

@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
// Layer LED indicators
layer_state_t layer_state_set_user(layer_state_t state) {
if (layer_state_cmp(state, 1)) {
_idb_60_fn_led_on();
} else {
_idb_60_fn_led_off();
}
return state;
}

View File

@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
// Layer LED indicators
layer_state_t layer_state_set_user(layer_state_t state) {
if (layer_state_cmp(state, 1)) {
_idb_60_fn_led_on();
} else {
_idb_60_fn_led_off();
}
return state;
}

View File

@ -25,15 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
// Layer LED indicators
layer_state_t layer_state_set_user(layer_state_t state) {
if (layer_state_cmp(state, 1)) {
_idb_60_fn_led_on();
} else {
_idb_60_fn_led_off();
}
return state;
}

View File

@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
// Layer LED indicators
layer_state_t layer_state_set_user(layer_state_t state) {
if (layer_state_cmp(state, 1)) {
_idb_60_fn_led_on();
} else {
_idb_60_fn_led_off();
}
return state;
}

View File

@ -1,2 +1 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View File

@ -22,6 +22,4 @@ KEYBOARD_LOCK_ENABLE = no # Allow locking of keyboard via magic key
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
BLUETOOTH_ENABLE = no # Enable Bluetooth