aboutsummaryrefslogtreecommitdiff
path: root/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c')
-rw-r--r--keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c b/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c
new file mode 100644
index 000000000..fd4d16822
--- /dev/null
+++ b/keyboards/dz60/keymaps/_bonfire/keymap-parts/functions.c
@@ -0,0 +1,34 @@
1/**
2 * Custom Keycodes
3 * https://beta.docs.qmk.fm/detailed-guides/custom_quantum_functions#custom-keycodes
4 *
5 */
6
7// Called on every keyup and keydown
8bool process_record_user(uint16_t keycode, keyrecord_t *record)
9{
10 switch (keycode) {
11 case HLD_ESC:
12 if(record->event.pressed) {
13 is_esc_held = true;
14 held_esc_timer = timer_read();
15 } else {
16 is_esc_held = false;
17 unregister_code(KC_ESC);
18 }
19 return true;
20 break;
21
22 default:
23 return true;
24 break;
25 }
26}
27
28// checking the held escape timer
29void matrix_scan_user(void)
30{
31 if(is_esc_held && timer_elapsed(held_esc_timer) > held_esc_threshold) {
32 register_code(KC_ESC);
33 }
34}