summaryrefslogtreecommitdiffstats
path: root/tmk_core/common/action.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix compile issues related to NO_ACTION_MACRO/FUNCTION and LTO_ENABLE (#8663)Konstantin Đorđević2020-04-091-0/+10
| | | | | | | | | | | | | | | | * Define NO_ACTION_MACRO/FUNCTION in header instead of makefile when LTO is enabled Currently, boards and keymaps that define NO_ACTION_MACRO/FUNCTION unconditionally will not compile with LTO_ENABLE (#8604). This fixes the issue by moving the definitions from common.mk to action.h, which enables us to check for previous definitions of those macros (this cannot be done in a makefile). * Remove LTO checks in templates Since now NO_ACTION_MACRO/FUNCTION are defined as needed in action.h (which is included by quantum.h), checking for LTO in keyboard and user code is no longer required. * Update LTO_ENABLE docs
* Add Post Processing to process_record (#4892)Drashna Jaelre2020-03-231-0/+2
| | | | | | | | | | | | | | | | | | | * Improve process_record system Code based on @colinta's * Rename and better handle functions * Fix incorrect function call to process_record_user * Add documentation for post_process_record * Add both get_event_keycode and get_record_keycode functions And add some comments about these functions * Update code format * Cleanup merge artifacts
* Fix bug in `do_code16()` (#6935)fauxpark2019-10-161-0/+2
| | | | | | * Fix bug in `do_code16()` * Remove qk_ mods functions
* clang-format changesskullY2019-08-301-19/+18
|
* Add support for RETRO_TAPPING to LT(layer, kc)lambda_sakura2019-01-251-0/+1
|
* Keep pressed keys on layer state change (fixes #2053, #2279) (#3905)Konstantin Đorđević2018-12-281-0/+1
| | | | | | | | | | * Keep pressed keys on layer state change * Add doc comment for clear_keyboard_but_mods_and_keys * Keep pressed keys only if PREVENT_STUCK_MODIFIERS is on * Check STRICT_LAYER_RELEASE instead of PREVENT_STUCK_MODIFIERS
* Fix up tap_code functionality (#4609)Drashna Jaelre2018-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Add tap_code function (#3784)Drashna Jaelre2018-10-011-0/+1
| | | | | | | | | | * Add tap_code * formatting * Doc clarification * Rename variable to make more consistent
* Make `PREVENT_STUCK_MODIFIERS` the default (#3107)Joe Wasson2018-09-171-1/+1
| | | | | | | | | | * Remove chording as it is not documented, not used, and needs work. * Make Leader Key an optional feature. * Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE` * Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
* Fix swap-hands tapping.Joe Wasson2018-03-161-0/+4
| | | | This is an inelegant hack for #2522 but makes things work. Basically we give `action.c` a chance to handle the hold event early so that we can swap the keyboard for later keys. Later, to allow the hold to happen again quickly we nuke the key record so that tapping is reset. I tried to find a cleaner way, honestly.
* Rename ONEHAND_ENABLE to SWAP_HANDS_ENABLE for consistencyJoe Wasson2018-03-161-1/+1
|
* Add one-hand support.Joe Wasson2016-08-201-0/+18
| | | | This adds an action, `ACTION_SWAP_HANDS`, that swaps the the keys on the keyboard across a keymap-defined hemisphere in order to support one-hand typing without requiring a separate one-handed layer. See updated `doc/keymap.md` for more information.
* splits process_action up to handle records separately (#329)Jack Humbert2016-05-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * adds music sequencer functionality * implements audio/music functions in quantum.c * splits up process_action to allow independent processing of actions * merging?
* Leader key implementation (#326)Erez Zukerman2016-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * updates process_action functions to return bool
* Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware into ↵Wojciech Siewierski2016-04-031-0/+3
|\ | | | | | | modifier-release-fix
| * Rename function to be keyboard-specificDamien Pollet2016-03-281-2/+2
| |
| * Add per-event user hook function to QMKDamien Pollet2016-03-281-0/+3
| |
* | Update action.hEric-L-T2016-04-011-1/+0
| |
* | Cut the memory consumption of PREVENT_STUCK_MODIFIERS in halfWojciech Siewierski2016-03-271-1/+1
| |
* | Expose the pressed_actions_cache global variableWojciech Siewierski2016-03-151-0/+1
| |
* | Always provide an implementation of process_action_nocacheWojciech Siewierski2016-03-151-1/+1
| |
* | process_action may be called either with key cache or without itWojciech Siewierski2016-03-131-0/+4
|/ | | | | | | If one wants to temporarily disable the key cache (for example because it interferes with a macro), `disable_action_cache` must be set to `true`. `process_action_nocache` is a simple wrapper doing just that for a single call.
* Revert "Make action_for_key a weak symbol"tmk2015-05-211-1/+0
| | | | | | This reverts commit c17b8a599e3ec3b0a327bcd66082541f2517ab30. The commit made compile error and its intention is unclear.
* Make action_for_key a weak symbolDan McGregor2015-05-191-0/+1
|
* Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core'tmk2015-04-101-0/+82