[Core] Added add_oneshot_mods
& del_oneshot_mods
(#10549)
* Added `add_oneshot_mods` & `del_oneshot_mods` Deleted undefined and unused prototypes: - void oneshot_enable(void) - void oneshot_disable(void) - void oneshot_toggle(void) Reordered the oneshot functions to follow the same order as other mod functions, that is to say : get, add, del, set, clear * Stricter conditions on add_oneshot_mods & del_oneshot_mods Prevent extending the one shot timer if the called add_oneshot_mods or del_oneshot_mods do not change anything to the current one shot mod state. Co-authored-by: David Kosorin <david@kosorin.net> Co-authored-by: David Kosorin <david@kosorin.net>
This commit is contained in:
parent
28d6b9d7be
commit
3dcb0463ad
2 changed files with 29 additions and 9 deletions
|
@ -290,6 +290,32 @@ void set_macro_mods(uint8_t mods) { macro_mods = mods; }
|
||||||
void clear_macro_mods(void) { macro_mods = 0; }
|
void clear_macro_mods(void) { macro_mods = 0; }
|
||||||
|
|
||||||
#ifndef NO_ACTION_ONESHOT
|
#ifndef NO_ACTION_ONESHOT
|
||||||
|
/** \brief get oneshot mods
|
||||||
|
*
|
||||||
|
* FIXME: needs doc
|
||||||
|
*/
|
||||||
|
uint8_t get_oneshot_mods(void) { return oneshot_mods; }
|
||||||
|
|
||||||
|
void add_oneshot_mods(uint8_t mods) {
|
||||||
|
if ((oneshot_mods & mods) != mods) {
|
||||||
|
# if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
|
||||||
|
oneshot_time = timer_read();
|
||||||
|
# endif
|
||||||
|
oneshot_mods |= mods;
|
||||||
|
oneshot_mods_changed_kb(mods);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void del_oneshot_mods(uint8_t mods) {
|
||||||
|
if (oneshot_mods & mods) {
|
||||||
|
oneshot_mods &= ~mods;
|
||||||
|
# if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
|
||||||
|
oneshot_time = oneshot_mods ? timer_read() : 0;
|
||||||
|
# endif
|
||||||
|
oneshot_mods_changed_kb(oneshot_mods);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** \brief set oneshot mods
|
/** \brief set oneshot mods
|
||||||
*
|
*
|
||||||
* FIXME: needs doc
|
* FIXME: needs doc
|
||||||
|
@ -316,11 +342,6 @@ void clear_oneshot_mods(void) {
|
||||||
oneshot_mods_changed_kb(oneshot_mods);
|
oneshot_mods_changed_kb(oneshot_mods);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** \brief get oneshot mods
|
|
||||||
*
|
|
||||||
* FIXME: needs doc
|
|
||||||
*/
|
|
||||||
uint8_t get_oneshot_mods(void) { return oneshot_mods; }
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** \brief Called when the one shot modifiers have been changed.
|
/** \brief Called when the one shot modifiers have been changed.
|
||||||
|
|
|
@ -57,12 +57,11 @@ void set_macro_mods(uint8_t mods);
|
||||||
void clear_macro_mods(void);
|
void clear_macro_mods(void);
|
||||||
|
|
||||||
/* oneshot modifier */
|
/* oneshot modifier */
|
||||||
void set_oneshot_mods(uint8_t mods);
|
|
||||||
uint8_t get_oneshot_mods(void);
|
uint8_t get_oneshot_mods(void);
|
||||||
|
void add_oneshot_mods(uint8_t mods);
|
||||||
|
void del_oneshot_mods(uint8_t mods);
|
||||||
|
void set_oneshot_mods(uint8_t mods);
|
||||||
void clear_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);
|
bool has_oneshot_mods_timed_out(void);
|
||||||
|
|
||||||
uint8_t get_oneshot_locked_mods(void);
|
uint8_t get_oneshot_locked_mods(void);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue