diff options
author | Drashna Jaelre <drashna@live.com> | 2018-12-14 09:01:58 -0800 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2018-12-14 09:01:58 -0800 |
commit | 02d44beb4410b806cb8c38e272941d212fee8a74 (patch) | |
tree | b82be304dcea0c838b45abe2e9909a9f30a49dc9 /quantum | |
parent | 80dfd34fe454f8dde67145fef51eb82ef7ea2e45 (diff) | |
download | firmware-02d44beb4410b806cb8c38e272941d212fee8a74.tar.gz firmware-02d44beb4410b806cb8c38e272941d212fee8a74.tar.bz2 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 'quantum')
-rw-r--r-- | quantum/quantum.c | 8 | ||||
-rw-r--r-- | quantum/quantum.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 69692233e..a57d4f89f 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -132,6 +132,14 @@ void unregister_code16 (uint16_t code) { } } +void tap_code16(uint16_t code) { + register_code16(code); + #if TAP_CODE_DELAY > 0 + wait_ms(TAP_CODE_DELAY); + #endif + unregister_code16(code); +} + __attribute__ ((weak)) bool process_action_kb(keyrecord_t *record) { return true; diff --git a/quantum/quantum.h b/quantum/quantum.h index 5920e4b13..0faf1af29 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -243,7 +243,7 @@ void shutdown_user(void); void register_code16(uint16_t code); void unregister_code16(uint16_t code); -inline void tap_code16(uint16_t code) { register_code16(code); unregister_code16(code); } +void tap_code16(uint16_t code); #ifdef BACKLIGHT_ENABLE void backlight_init_ports(void); |