summaryrefslogtreecommitdiff
path: root/users/stanrc85/stanrc85.c
diff options
context:
space:
mode:
authorstein3 <stein3@gmail.com>2020-10-06 07:15:41 -0700
committerstein3 <stein3@gmail.com>2020-10-06 07:15:41 -0700
commit2e402741a89c5eec8cf30c966ce6f36d6ec9249b (patch)
tree3592e8c5e6bd19943ae55db7fc02a5f755afbb51 /users/stanrc85/stanrc85.c
parent3e5e4f74272c610bb9fa737f674f8e65ed6100ca (diff)
parent2013f6313430b977e557e482d30daa279a46e75d (diff)
Merge branch 'master' into meteor
Diffstat (limited to 'users/stanrc85/stanrc85.c')
-rw-r--r--users/stanrc85/stanrc85.c36
1 files changed, 35 insertions, 1 deletions
diff --git a/users/stanrc85/stanrc85.c b/users/stanrc85/stanrc85.c
index c1aaad1a1a..2dbd41974b 100644
--- a/users/stanrc85/stanrc85.c
+++ b/users/stanrc85/stanrc85.c
@@ -44,8 +44,42 @@ void ctl_copy_reset (qk_tap_dance_state_t *state, void *user_data) {
}
}
+#if defined(HAS_INDICATORS)
+ static uint8_t led_user = 0;
+#endif
+
+void lock_unlock (qk_tap_dance_state_t *state, void *user_data) {
+ td_state = cur_dance(state);
+ switch (td_state) {
+ case SINGLE_TAP: // Ctl + Alt + Del to unlock workstation
+ tap_code16(KC_CAD);
+ #if defined(HAS_INDICATORS)
+ led_user = 0;
+ writePin(INDICATOR_PIN_0, !led_user);
+ wait_ms(200);
+ writePin(INDICATOR_PIN_1, !led_user);
+ wait_ms(200);
+ writePin(INDICATOR_PIN_2, !led_user);
+ #endif
+ break;
+ case SINGLE_HOLD:
+ break;
+ case DOUBLE_TAP: //Lock workstation
+ tap_code16(KC_LOCK);
+ #if defined(HAS_INDICATORS)
+ led_user = 1;
+ writePin(INDICATOR_PIN_2, !led_user);
+ wait_ms(200);
+ writePin(INDICATOR_PIN_1, !led_user);
+ wait_ms(200);
+ writePin(INDICATOR_PIN_0, !led_user);
+ #endif
+ break;
+ }
+}
+
qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_WIN] = ACTION_TAP_DANCE_DOUBLE(KC_CAD, KC_LOCK),
+ [TD_WIN] = ACTION_TAP_DANCE_FN(lock_unlock),
[TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRV),
[TD_RCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_copy_finished, ctl_copy_reset)
};