summaryrefslogtreecommitdiffstats
path: root/users/d4mation/tap-hold.c
diff options
context:
space:
mode:
authorEric Defore <d4mation@users.noreply.github.com>2019-12-18 03:59:12 -0500
committerDrashna Jaelre <drashna@live.com>2019-12-18 00:59:12 -0800
commitf42dd61b8d29f71af2ce479064c64c96fef55ad4 (patch)
treef4bb23467099a228c46371cebe748139953245c9 /users/d4mation/tap-hold.c
parentb2405fccce1d9dd33e72d2b43a941e9b6bbd1f0d (diff)
[Keymap] Added userspace for d4mation. Included their keymap for the Atreus62 (#7483)
* Added userspace for d4mation. Included their keymap for the Atreus62 * Do not assign layer numbers manually * Remove some unneeded things per @drashna's recommendation * Fix some single line comments I missed * Update unicode macros to use send_unicode_hex_string() instead of process_unicode() * OBetter check for Unicode Enabled. Moved some checks into macros.c * Use eeconfig_init_user() to set default unicode input mode
Diffstat (limited to 'users/d4mation/tap-hold.c')
-rw-r--r--users/d4mation/tap-hold.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/users/d4mation/tap-hold.c b/users/d4mation/tap-hold.c
new file mode 100644
index 0000000000..0c5119f995
--- /dev/null
+++ b/users/d4mation/tap-hold.c
@@ -0,0 +1,28 @@
+#include "tap-hold.h"
+
+#ifndef TAP_HOLD_TIME
+#define TAP_HOLD_TIME 200
+#endif
+
+uint16_t tap_hold_timer;
+
+void tap_or_hold( keyrecord_t *record, uint16_t tap, uint16_t hold ) {
+
+ if ( record->event.pressed ) {
+ tap_hold_timer = timer_read();
+ } else {
+
+ if ( tap_hold_timer &&
+ timer_elapsed( tap_hold_timer ) > TAP_HOLD_TIME ) {
+ /* Held down then released */
+ tap_code( hold );
+ } else {
+ /* Quickly Tapped */
+ tap_code( tap );
+ }
+
+ tap_hold_timer = 0;
+
+ }
+
+} \ No newline at end of file