New and improved lock LED callbacks (#7215)

* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
This commit is contained in:
fauxpark
2019-11-06 11:42:16 +11:00
committed by Joel Challis
parent ed0575fc8a
commit dfb78d2a08
9 changed files with 142 additions and 70 deletions

View File

@ -1070,10 +1070,30 @@ void api_send_unicode(uint32_t unicode) {
#endif
}
/** \brief Lock LED set callback - keymap/user level
*
* \deprecated Use led_update_user() instead.
*/
__attribute__((weak)) void led_set_user(uint8_t usb_led) {}
/** \brief Lock LED set callback - keyboard level
*
* \deprecated Use led_update_kb() instead.
*/
__attribute__((weak)) void led_set_kb(uint8_t usb_led) { led_set_user(usb_led); }
/** \brief Lock LED update callback - keymap/user level
*
* \return True if led_update_kb() should run its own code, false otherwise.
*/
__attribute__((weak)) bool led_update_user(led_t led_state) { return true; }
/** \brief Lock LED update callback - keyboard level
*
* \return Ignored for now.
*/
__attribute__((weak)) bool led_update_kb(led_t led_state) { return led_update_user(led_state); }
__attribute__((weak)) void led_init_ports(void) {}
__attribute__((weak)) void led_set(uint8_t usb_led) {
@ -1096,6 +1116,7 @@ __attribute__((weak)) void led_set(uint8_t usb_led) {
#endif
led_set_kb(usb_led);
led_update_kb((led_t) usb_led);
}
//------------------------------------------------------------------------------