summaryrefslogtreecommitdiff
path: root/users/callum/swapper.h
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/callum/swapper.h
parent3e5e4f74272c610bb9fa737f674f8e65ed6100ca (diff)
parent2013f6313430b977e557e482d30daa279a46e75d (diff)
Merge branch 'master' into meteor
Diffstat (limited to 'users/callum/swapper.h')
-rw-r--r--users/callum/swapper.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/users/callum/swapper.h b/users/callum/swapper.h
new file mode 100644
index 0000000000..ad47fd96ce
--- /dev/null
+++ b/users/callum/swapper.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include QMK_KEYBOARD_H
+
+// Implements cmd-tab like behaviour on a single key. On first tap of trigger
+// cmdish is held and tabish is tapped -- cmdish then remains held until some
+// other key is hit or released. For example:
+//
+// trigger, trigger, a -> cmd down, tab, tab, cmd up, a
+// nav down, trigger, nav up -> nav down, cmd down, tab, cmd up, nav up
+//
+// This behaviour is useful for more than just cmd-tab, hence: cmdish, tabish.
+void update_swapper(
+ bool *active,
+ uint16_t cmdish,
+ uint16_t tabish,
+ uint16_t trigger,
+ uint16_t keycode,
+ keyrecord_t *record
+);