#include "quantum.h" typedef enum taphold_mode_t { TAPHOLD_LAYER, TAPHOLD_MOD } taphold_mode_t; typedef struct taphold_t { uint16_t key; uint32_t time; taphold_mode_t mode; uint16_t shortAction; uint16_t longAction; keypos_t keypos; // We store key pos to properly release the key // even when a different layer is active and the key has a different action now } taphold_t; extern taphold_t taphold_config[]; extern uint16_t taphold_config_size; // Dual keys tap/hold timeout. // If key is tapped for less than this value, send key in addition to primary action after completing the action. extern uint32_t taphold_timeout; bool taphold_process(uint16_t keycode, keyrecord_t *record);