X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Faction.c;h=339b3ee67edf6628f30b33fc64cd63ea834b1a96;hb=325a99acd9c81f60519b6e594b2bf5d1e478ac56;hp=1f15bd091861735b1b621510edb1e161035896ea;hpb=5ce9bf8353568b341b79b3cea676ea62a7d40442;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 1f15bd09..339b3ee6 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -131,10 +131,17 @@ void process_action(keyrecord_t *record) case MODS_TAP_TOGGLE: if (event.pressed) { if (tap_count <= TAPPING_TOGGLE) { - register_mods(mods); + if (mods & get_mods()) { + dprint("MODS_TAP_TOGGLE: toggle mods off\n"); + unregister_mods(mods); + } else { + dprint("MODS_TAP_TOGGLE: toggle mods on\n"); + register_mods(mods); + } } } else { if (tap_count < TAPPING_TOGGLE) { + dprint("MODS_TAP_TOGGLE: release : unregister_mods\n"); unregister_mods(mods); } }