Fixes rolling combos for mod-tap keys
parent
d3db8d62f6
commit
f024a462cd
|
@ -53,6 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* Set 0 if debouncing isn't needed */
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 2
|
#define DEBOUNCE 2
|
||||||
#define TAPPING_TERM 200
|
#define TAPPING_TERM 200
|
||||||
|
#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -142,12 +142,15 @@ void process_action(keyrecord_t *record)
|
||||||
default:
|
default:
|
||||||
if (event.pressed) {
|
if (event.pressed) {
|
||||||
if (tap_count > 0) {
|
if (tap_count > 0) {
|
||||||
|
#ifndef IGNORE_MOD_TAP_INTERRUPT
|
||||||
if (record->tap.interrupted) {
|
if (record->tap.interrupted) {
|
||||||
dprint("MODS_TAP: Tap: Cancel: add_mods\n");
|
dprint("mods_tap: tap: cancel: add_mods\n");
|
||||||
// ad hoc: set 0 to cancel tap
|
// ad hoc: set 0 to cancel tap
|
||||||
record->tap.count = 0;
|
record->tap.count = 0;
|
||||||
register_mods(mods);
|
register_mods(mods);
|
||||||
} else {
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
dprint("MODS_TAP: Tap: register_code\n");
|
dprint("MODS_TAP: Tap: register_code\n");
|
||||||
register_code(action.key.code);
|
register_code(action.key.code);
|
||||||
}
|
}
|
||||||
|
@ -397,7 +400,7 @@ void register_code(uint8_t code)
|
||||||
set_mods(tmp_mods);
|
set_mods(tmp_mods);
|
||||||
send_keyboard_report();
|
send_keyboard_report();
|
||||||
oneshot_cancel();
|
oneshot_cancel();
|
||||||
} else
|
} else
|
||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue