You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

55 lines
1.0 KiB

// Copyright 2022 Kevin Goldberg @kevkevco <hello@kevkev.co>
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "features/caps_word.h"
#include "features/num_word.h"
#include "layers.h"
#include "action.h"
#include "action_layer.h"
#include "process_keycode/process_tap_dance.h"
#include "quantum.h"
// Tap Dance Declarations
enum {
SPOT = 0,
CMAG,
PDAG,
NVUD,
WIND,
ISPT,
GVES,
ENTR,
SLSH,
LPINKY,
RPINKY,
COLON,
SPACE
};
// Define a type for as many tap dance states as needed
typedef enum {
TD_NONE,
UNKNOWN,
SINGLE_TAP,
SINGLE_HOLD,
DOUBLE_TAP,
DOUBLE_HOLD,
DOUBLE_SINGLE_TAP, // Send two single taps
TRIPLE_TAP,
TRIPLE_HOLD
} td_state_t;
// Functions and structs associated with all full tap dances
td_state_t cur_dance(qk_tap_dance_state_t *state);
typedef struct {
bool is_press_action;
td_state_t state;
} td_tap_t;
// Band-aid fix for oneshot timing issues
bool oneshot_symbols_timer_state;
uint16_t oneshot_symbols_timer;