Commit Graph

38 Commits (748401e5c180e91181bc10a80491d7d5568c008a)

Author SHA1 Message Date
SjB 45e0d09414 moved oneshot cancellation code outside of process_record.
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
8 years ago
SjB 6f44ca7a59 oneshot timeout would only timeout after an event.
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.
8 years ago
Didier Loiseau d430999047 Fix issue #772 Meh and Hyper not working 8 years ago
Joe Wasson 8090f6b499 Improve one-hand support by adding more actions and tap keys. 8 years ago
Joe Wasson dd37860160 Add one-hand support.
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.
8 years ago
Jack Humbert bf5c2ccee5 splits process_action up to handle records separately (#329)
* 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?
9 years ago
Erez Zukerman 1a8c0dd22d Leader key implementation (#326)
* 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
9 years ago
Thiago Alves 74e97eefd7 Adds oneshot layer and oneshot tap toggling (#308)
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.
9 years ago
Jack Humbert 2bbf3d5820 stops forcing debug_action 9 years ago
IBNobody d5b72e7bde Fixed many compiler warnings related to print being disabled 9 years ago
Erez Zukerman 153a6fb0d3 Merge pull request #182 from Vifon/modifier-release-fix
Fix the layer-dependent modifiers handling
9 years ago
Didier Loiseau 08871e56f7 Fix issue #221: LGUI(KC_LSFT) does not work
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)
9 years ago
Wojciech Siewierski 567f256c5d Refactor the source layer cache encoding 9 years ago
Wojciech Siewierski 47dd29513e Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware into modifier-release-fix 9 years ago
Wojciech Siewierski 4dce7258d1 Cleanup after merge
- remove a superfluous parenthesis
- wrap lines longer than 80 characters
- add const specifiers where appropriate
- remove unnecessary casts
9 years ago
eltang 5a9091689c Update action.c 9 years ago
eltang 6c8e374d57 Update action.c 9 years ago
eltang f4f592910c Update action.c 9 years ago
eltang da101b8866 Update action.c 9 years ago
eltang fddccc95fe Update action.c 9 years ago
eltang 680301e3e3 Update action.c 9 years ago
Eric-L-T f5365d1c1c Update action.c 9 years ago
Eric-L-T 307f1dee21 Update action.c 9 years ago
Eric-L-T 420fc8620b Update action.c 9 years ago
Eric-L-T 9a35f01c55 Update action.c 9 years ago
Eric-L-T 317455178d Update action.c 9 years ago
Damien Pollet acd64aa841 Rename function to be keyboard-specific 9 years ago
Damien Pollet ef21a855e6 Add per-event user hook function to QMK 9 years ago
Wojciech Siewierski b4f442dfea Cut the memory consumption of PREVENT_STUCK_MODIFIERS in half 9 years ago
Wojciech Siewierski a5cdc3aab1 Expose the pressed_actions_cache global variable 9 years ago
Wojciech Siewierski 73cb87740b Always provide an implementation of process_action_nocache 9 years ago
Wojciech Siewierski 20dd9c0326 process_action may be called either with key cache or without it
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.
9 years ago
Didier Loiseau b7a81f0419 Fix #156: clear weak mods on every key press
- 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
9 years ago
Wojciech Siewierski 8d55a12a95 Document the issue of stuck modifiers 9 years ago
Wojciech Siewierski c2480884aa Fix the layer-dependent modifiers handling
Closes #181.
9 years ago
Erez Zukerman f024a462cd Fixes rolling combos for mod-tap keys 9 years ago
Jun Wako 1f4a22ee81 Remove unneeded tap delays #201 10 years ago
tmk 1a02ebcc61 Merge commit 'a074364c3731d66b56d988c8a6c960a83ea0e0a1' as 'tmk_core' 10 years ago