summaryrefslogtreecommitdiffstats
path: root/tmk_core/common/action.c
Commit message (Collapse)AuthorAgeFilesLines
* moved oneshot cancellation code outside of process_record.SjB2017-01-291-8/+8
| | | | | | | The oneshot cancellation code do not depend on the action_tapping_process and since process_record get called via the action_tapping_process logic moved the oneshot cancellation code into the action_exec function just before the action_tapping_process call
* oneshot timeout would only timeout after an event.SjB2017-01-151-7/+7
| | | | | | | | | | | After setting a ONESHOT_TIMEOUT value, the oneshot layer state would not expire without an event being triggered (key pressed). The reason was that in the process_record function we would return priort to execute the process_action function if it detected a NOEVENT cycle. The process_action contained the codes to timeout the oneshot layer state. The codes to clear the oneshot layer state have been move just in front of where we check for the NOEVENT cycle in the process_record function.
* Fix issue #772 Meh and Hyper not workingDidier Loiseau2016-09-231-3/+4
|
* Improve one-hand support by adding more actions and tap keys.Joe Wasson2016-08-201-4/+53
|
* Add one-hand support.Joe Wasson2016-08-201-0/+33
| | | | 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-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-2/+5
| | | | | | | | | | | | | | | | | | | | * 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
* Adds oneshot layer and oneshot tap toggling (#308)Thiago Alves2016-05-051-8/+89
| | | | | | | | | | This commit is mostly a cherry-pick from `ahtn` at https://github.com/tmk/tmk_keyboard/pull/255. These are the changes: * Adds ACTION_LAYER_ONESHOT * Adds ONESHOT_TAP_TOGGLE * Mentions sticky keys in the docs on oneshot.
* stops forcing debug_actionJack Humbert2016-04-281-4/+4
|
* Fixed many compiler warnings related to print being disabledIBNobody2016-04-171-4/+4
|
* Merge pull request #182 from Vifon/modifier-release-fixErez Zukerman2016-04-061-1/+17
|\ | | | | Fix the layer-dependent modifiers handling
| * Refactor the source layer cache encodingWojciech Siewierski2016-04-051-41/+0
| |
| * Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware into ↵Wojciech Siewierski2016-04-031-0/+10
| |\ | | | | | | | | | modifier-release-fix
| * | Cleanup after mergeWojciech Siewierski2016-04-021-7/+13
| | | | | | | | | | | | | | | | | | | | | - remove a superfluous parenthesis - wrap lines longer than 80 characters - add const specifiers where appropriate - remove unnecessary casts
| * | Update action.celtang2016-04-021-1/+1
| | |
| * | Update action.celtang2016-04-021-1/+1
| | |
| * | Update action.celtang2016-04-021-1/+1
| | |
| * | Update action.celtang2016-04-021-1/+1
| | |
| * | Update action.celtang2016-04-021-1/+1
| | |
| * | Update action.celtang2016-04-021-1/+2
| | |
| * | Update action.cEric-L-T2016-04-011-1/+1
| | |
| * | Update action.cEric-L-T2016-04-011-8/+8
| | |
| * | Update action.cEric-L-T2016-04-011-6/+6
| | |
| * | Update action.cEric-L-T2016-04-011-1/+1
| | |
| * | Update action.cEric-L-T2016-04-011-4/+15
| | |
| * | Cut the memory consumption of PREVENT_STUCK_MODIFIERS in halfWojciech Siewierski2016-03-271-3/+3
| | |
| * | Expose the pressed_actions_cache global variableWojciech Siewierski2016-03-151-4/+3
| | |
| * | Always provide an implementation of process_action_nocacheWojciech Siewierski2016-03-151-0/+5
| | |
| * | process_action may be called either with key cache or without itWojciech Siewierski2016-03-131-0/+15
| | | | | | | | | | | | | | | | | | | | | 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.
| * | Document the issue of stuck modifiersWojciech Siewierski2016-03-081-1/+1
| | |
| * | Fix the layer-dependent modifiers handlingWojciech Siewierski2016-03-051-1/+21
| | | | | | | | | | | | Closes #181.
* | | Fix issue #221: LGUI(KC_LSFT) does not workDidier Loiseau2016-04-061-2/+12
| |/ |/| | | | | | | | | | | on mod keys, register LGUI, LSFT etc. as normal mods instead of weak mods: - they won't be cleared when pressing another key (#188) - they won't be cleared by layer switching - LSFT(KC_LGUI) will now have the same behavior as LGUI(KC_LSFT)
* | Rename function to be keyboard-specificDamien Pollet2016-03-281-2/+2
| |
* | Add per-event user hook function to QMKDamien Pollet2016-03-281-0/+5
| |
* | Fix #156: clear weak mods on every key pressDidier Loiseau2016-03-081-0/+5
|/ | | | | | - new macro_mods bit field for mods applied by macros - weak_mods now only used for ACT_{L,R}MODS (i.e. LSFT, RSFT, LCTL etc.) - clear the _weak_ mods on every key *pressed* such that LSFT etc. can no more interfere with the next key
* Fixes rolling combos for mod-tap keysErez Zukerman2015-10-281-3/+6
|
* Remove unneeded tap delays #201Jun Wako2015-04-231-1/+6
|
* Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core'tmk2015-04-101-0/+565