diff options
author | Drashna Jaelre <[email protected]> | 2018-10-01 17:53:47 -0700 |
---|---|---|
committer | Jack Humbert <[email protected]> | 2018-10-01 20:53:47 -0400 |
commit | 26f4e7031a643ce2760ae7b6df3bd2c79710451a (patch) | |
tree | b678c4f87a6060c62b10a0bbee53dd70a771dfe4 | |
parent | e885c793bcffcba03e18e93e41120b21cdfb6b75 (diff) | |
download | qmk_firmware-26f4e7031a643ce2760ae7b6df3bd2c79710451a.tar.gz qmk_firmware-26f4e7031a643ce2760ae7b6df3bd2c79710451a.zip |
Add tap_code function (#3784)
* Add tap_code
* formatting
* Doc clarification
* Rename variable to make more consistent
-rw-r--r-- | docs/feature_macros.md | 4 | ||||
-rw-r--r-- | tmk_core/common/action.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/docs/feature_macros.md b/docs/feature_macros.md index 6731530812..ba5d91882f 100644 --- a/docs/feature_macros.md +++ b/docs/feature_macros.md @@ -228,6 +228,10 @@ This sends the `<kc>` keydown event to the computer. Some examples would be `KC_ Parallel to `register_code` function, this sends the `<kc>` keyup event to the computer. If you don't use this, the key will be held down until it's sent. +### `tap_code(<kc>);` + +This will send `register_code(<kc>)` and then `unregister_code(<kc>)`. This is useful if you want to send both the press and release events ("tap" the key, rather than hold it). + ### `clear_keyboard();` This will clear all mods and keys currently pressed. diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h index 0322c73ed1..833febe9ce 100644 --- a/tmk_core/common/action.h +++ b/tmk_core/common/action.h @@ -88,6 +88,7 @@ void process_record(keyrecord_t *record); void process_action(keyrecord_t *record, action_t action); void register_code(uint8_t code); void unregister_code(uint8_t code); +inline void tap_code(uint8_t code) { register_code(code); unregister_code(code); } void register_mods(uint8_t mods); void unregister_mods(uint8_t mods); //void set_mods(uint8_t mods); |