aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/common
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2018-12-14 09:01:58 -0800
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-12-14 09:01:58 -0800
commit02d44beb4410b806cb8c38e272941d212fee8a74 (patch)
treeb82be304dcea0c838b45abe2e9909a9f30a49dc9 /tmk_core/common
parent80dfd34fe454f8dde67145fef51eb82ef7ea2e45 (diff)
downloadqmk_firmware-02d44beb4410b806cb8c38e272941d212fee8a74.tar.gz
qmk_firmware-02d44beb4410b806cb8c38e272941d212fee8a74.zip
Fix up tap_code functionality (#4609)
* Add delay in Tap Code to avoid issues I think a few people have reporting issues with it working properly, and it may be a timing issue. The 'register_code' uses this sort of delay in some of the functions, and this is probably why. Adding the 100ms delay should hopefully fix any issues with it. * Make tap_code delay configurable * Update documentation * Bring tap_code16 inline with changes * Fix type for tap_code16 Bad copy-paste job * Just use the value check for the define * Clarify timing in docs Co-Authored-By: drashna <drashna@live.com> * Wordsmithing Co-Authored-By: drashna <drashna@live.com>
Diffstat (limited to 'tmk_core/common')
-rw-r--r--tmk_core/common/action.c12
-rw-r--r--tmk_core/common/action.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index 8bdcd54e3..456d1e25f 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -851,6 +851,18 @@ void unregister_code(uint8_t code)
851 * 851 *
852 * FIXME: Needs documentation. 852 * FIXME: Needs documentation.
853 */ 853 */
854void tap_code(uint8_t code) {
855 register_code(code);
856 #if TAP_CODE_DELAY > 0
857 wait_ms(TAP_CODE_DELAY);
858 #endif
859 unregister_code(code);
860}
861
862/** \brief Utilities for actions. (FIXME: Needs better description)
863 *
864 * FIXME: Needs documentation.
865 */
854void register_mods(uint8_t mods) 866void register_mods(uint8_t mods)
855{ 867{
856 if (mods) { 868 if (mods) {
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index 833febe9c..5d797fd62 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -88,7 +88,7 @@ void process_record(keyrecord_t *record);
88void process_action(keyrecord_t *record, action_t action); 88void process_action(keyrecord_t *record, action_t action);
89void register_code(uint8_t code); 89void register_code(uint8_t code);
90void unregister_code(uint8_t code); 90void unregister_code(uint8_t code);
91inline void tap_code(uint8_t code) { register_code(code); unregister_code(code); } 91void tap_code(uint8_t code);
92void register_mods(uint8_t mods); 92void register_mods(uint8_t mods);
93void unregister_mods(uint8_t mods); 93void unregister_mods(uint8_t mods);
94//void set_mods(uint8_t mods); 94//void set_mods(uint8_t mods);