123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #ifndef ACTION_UTIL_H
- #define ACTION_UTIL_H
- #include <stdint.h>
- #include "report.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern report_keyboard_t *keyboard_report;
- void send_keyboard_report(void);
- inline void add_key(uint8_t key) {
- add_key_to_report(keyboard_report, key);
- }
- inline void del_key(uint8_t key) {
- del_key_from_report(keyboard_report, key);
- }
- inline void clear_keys(void) {
- clear_keys_from_report(keyboard_report);
- }
- uint8_t get_mods(void);
- void add_mods(uint8_t mods);
- void del_mods(uint8_t mods);
- void set_mods(uint8_t mods);
- void clear_mods(void);
- uint8_t get_weak_mods(void);
- void add_weak_mods(uint8_t mods);
- void del_weak_mods(uint8_t mods);
- void set_weak_mods(uint8_t mods);
- void clear_weak_mods(void);
- uint8_t get_macro_mods(void);
- void add_macro_mods(uint8_t mods);
- void del_macro_mods(uint8_t mods);
- void set_macro_mods(uint8_t mods);
- void clear_macro_mods(void);
- void set_oneshot_mods(uint8_t mods);
- uint8_t get_oneshot_mods(void);
- void clear_oneshot_mods(void);
- void oneshot_toggle(void);
- void oneshot_enable(void);
- void oneshot_disable(void);
- bool has_oneshot_mods_timed_out(void);
- uint8_t get_oneshot_locked_mods(void);
- void set_oneshot_locked_mods(uint8_t mods);
- void clear_oneshot_locked_mods(void);
- typedef enum {
- ONESHOT_PRESSED = 0b01,
- ONESHOT_OTHER_KEY_PRESSED = 0b10,
- ONESHOT_START = 0b11,
- ONESHOT_TOGGLED = 0b100
- } oneshot_fullfillment_t;
- void set_oneshot_layer(uint8_t layer, uint8_t state);
- uint8_t get_oneshot_layer(void);
- void clear_oneshot_layer_state(oneshot_fullfillment_t state);
- void reset_oneshot_layer(void);
- bool is_oneshot_layer_active(void);
- uint8_t get_oneshot_layer_state(void);
- bool has_oneshot_layer_timed_out(void);
- void oneshot_locked_mods_changed_user(uint8_t mods);
- void oneshot_locked_mods_changed_kb(uint8_t mods);
- void oneshot_mods_changed_user(uint8_t mods);
- void oneshot_mods_changed_kb(uint8_t mods);
- void oneshot_layer_changed_user(uint8_t layer);
- void oneshot_layer_changed_kb(uint8_t layer);
- uint8_t has_anymod(void);
- #ifdef __cplusplus
- }
- #endif
- #endif
|