QMK/keyboards/betalupi_ergodox/keymaps/default/tapdance/screenshot.c

66 lines
1.5 KiB
C

#include "keymap.h"
#include "tapdance.h"
// Called on every tap
void td_screenshot_dance(qk_tap_dance_state_t *state, void *user_data) {}
// Called when action finishes
void td_screenshot_finished(qk_tap_dance_state_t *state, void *user_data) {
dance_state[1].step = dance_step(state);
switch (dance_state[1].step) {
case SINGLE_TAP:
register_code16(KC_PRINT_SCREEN);
break;
case DOUBLE_TAP:
register_code16(LSFT(KC_PRINT_SCREEN));
break;
}
}
// Called when action resets
void td_screenshot_reset(qk_tap_dance_state_t *state, void *user_data) {
wait_ms(10);
switch (dance_state[1].step) {
case SINGLE_TAP:
unregister_code16(KC_PSCREEN);
break;
case DOUBLE_TAP:
unregister_code16(LSFT(KC_PSCREEN));
break;
}
dance_state[1].step = 0;
}
// Called on every tap
void td_ocr_dance(qk_tap_dance_state_t *state, void *user_data) {}
// Called when action finishes
void td_ocr_finished(qk_tap_dance_state_t *state, void *user_data) {
dance_state[1].step = dance_step(state);
switch (dance_state[1].step) {
case SINGLE_TAP:
register_code16(LCTL(KC_PSCREEN));
break;
case DOUBLE_TAP:
register_code16(LCTL(LSFT(KC_PSCREEN)));
break;
}
}
// Called when action resets
void td_ocr_reset(qk_tap_dance_state_t *state, void *user_data) {
wait_ms(10);
switch (dance_state[1].step) {
case SINGLE_TAP:
unregister_code16(LCTL(KC_PRINT_SCREEN));
break;
case DOUBLE_TAP:
unregister_code16(LCTL(LSFT(KC_PSCREEN)));
break;
}
dance_state[1].step = 0;
}