From f0b2bfd5ca5b416a9c7c9bef8c2850f1084bd106 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 15 Oct 2022 14:33:24 +1100 Subject: Programmable Button API refactor and improve docs (#18641) --- quantum/programmable_button.h | 75 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 68 insertions(+), 7 deletions(-) (limited to 'quantum/programmable_button.h') diff --git a/quantum/programmable_button.h b/quantum/programmable_button.h index e89b8b9fd6..e8c916d75c 100644 --- a/quantum/programmable_button.h +++ b/quantum/programmable_button.h @@ -19,12 +19,73 @@ along with this program. If not, see . #include #include -#include "report.h" -void programmable_button_clear(void); -void programmable_button_send(void); -void programmable_button_on(uint8_t index); -void programmable_button_off(uint8_t index); -bool programmable_button_is_on(uint8_t index); +/** + * \defgroup programmable_button + * + * HID Programmable Buttons + * \{ + */ + +/** + * \brief Clear the programmable button report. + */ +void programmable_button_clear(void); + +/** + * \brief Set the state of a button. + * + * \param index The index of the button to press, from 0 to 31. + */ +void programmable_button_add(uint8_t index); + +/** + * \brief Reset the state of a button. + * + * \param index The index of the button to release, from 0 to 31. + */ +void programmable_button_remove(uint8_t index); + +/** + * \brief Set the state of a button, and flush the report. + * + * \param index The index of the button to press, from 0 to 31. + */ +void programmable_button_register(uint8_t index); + +/** + * \brief Reset the state of a button, and flush the report. + * + * \param index The index of the button to release, from 0 to 31. + */ +void programmable_button_unregister(uint8_t index); + +/** + * \brief Get the state of a button. + * + * \param index The index of the button to check, from 0 to 31. + * + * \return `true` if the button is pressed. + */ +bool programmable_button_is_on(uint8_t index); + +/** + * \brief Send the programmable button report to the host. + */ +void programmable_button_flush(void); + +/** + * \brief Get the programmable button report. + * + * \return The bitmask of programmable button states. + */ uint32_t programmable_button_get_report(void); -void programmable_button_set_report(uint32_t report); + +/** + * \brief Set the programmable button report. + * + * \param report A bitmask of programmable button states. + */ +void programmable_button_set_report(uint32_t report); + +/** \} */ -- cgit v1.2.3