Programmable Button API refactor and improve docs (#18641)
This commit is contained in:
parent
19aed5e999
commit
f0b2bfd5ca
6 changed files with 220 additions and 86 deletions
|
@ -19,12 +19,73 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#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);
|
||||
|
||||
/** \} */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue