~ruther/qmk_firmware

8e47f64888b4b9edfcf6038d2dac0ec7d95623c1 — lambda_sakura 7 years ago 0ba9620
Add support for RETRO_TAPPING to LT(layer, kc)
2 files changed, 10 insertions(+), 1 deletions(-)

M tmk_core/common/action.c
M tmk_core/common/action.h
M tmk_core/common/action.c => tmk_core/common/action.c +9 -1
@@ 653,7 653,7 @@ void process_action(keyrecord_t *record, action_t action)

#ifndef NO_ACTION_TAPPING
  #ifdef RETRO_TAPPING
  if (!is_tap_key(record->event.key)) {
  if (!is_tap_action(action)) {
    retro_tapping_counter = 0;
  } else {
    if (event.pressed) {


@@ 929,7 929,15 @@ void clear_keyboard_but_mods_and_keys()
bool is_tap_key(keypos_t key)
{
    action_t action = layer_switch_get_action(key);
    return is_tap_action(action);
}

/** \brief Utilities for actions. (FIXME: Needs better description)
 *
 * FIXME: Needs documentation.
 */
bool is_tap_action(action_t action)
{
    switch (action.kind.id) {
        case ACT_LMODS_TAP:
        case ACT_RMODS_TAP:

M tmk_core/common/action.h => tmk_core/common/action.h +1 -0
@@ 97,6 97,7 @@ void clear_keyboard_but_mods(void);
void clear_keyboard_but_mods_and_keys(void);
void layer_switch(uint8_t new_layer);
bool is_tap_key(keypos_t key);
bool is_tap_action(action_t action);

#ifndef NO_ACTION_TAPPING
void process_record_tap_hint(keyrecord_t *record);