summaryrefslogtreecommitdiff
path: root/app/boards/shields/petejohanson_proton_handwire/keymap
diff options
context:
space:
mode:
Diffstat (limited to 'app/boards/shields/petejohanson_proton_handwire/keymap')
-rw-r--r--app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h9
-rw-r--r--app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c34
-rw-r--r--app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay42
3 files changed, 85 insertions, 0 deletions
diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h b/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h
new file mode 100644
index 0000000..0fd2f9f
--- /dev/null
+++ b/app/boards/shields/petejohanson_proton_handwire/keymap/include/keymap.h
@@ -0,0 +1,9 @@
+
+#include <dt-bindings/zmk/keys.h>
+
+#define DEFAULT 0
+#define RAISE 1
+#define LOWER 2
+
+#define CC_RAIS ZC_CSTM(RAISE)
+#define CC_LOWR ZC_CSTM(LOWER)
diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c
new file mode 100644
index 0000000..bde15ac
--- /dev/null
+++ b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.c
@@ -0,0 +1,34 @@
+
+#include <zmk/keys.h>
+#include <zmk/keymap.h>
+#include <keymap.h>
+
+bool zmk_handle_key_user(struct zmk_key_event *key_event)
+{
+ switch (key_event->key)
+ {
+ case CC_LOWR:
+ if (key_event->pressed)
+ {
+ zmk_keymap_layer_activate(LOWER);
+ }
+ else
+ {
+ zmk_keymap_layer_deactivate(LOWER);
+ }
+
+ return false;
+ case CC_RAIS:
+ if (key_event->pressed)
+ {
+ zmk_keymap_layer_activate(RAISE);
+ }
+ else
+ {
+ zmk_keymap_layer_deactivate(RAISE);
+ }
+ return false;
+ }
+
+ return true;
+};
diff --git a/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay
new file mode 100644
index 0000000..c1bd542
--- /dev/null
+++ b/app/boards/shields/petejohanson_proton_handwire/keymap/keymap.overlay
@@ -0,0 +1,42 @@
+#include <dt-bindings/zmk/keys.h>
+#include <keymap.h>
+
+/ {
+ chosen {
+ zmk,keymap = &keymap0;
+ };
+ keymap0: keymap {
+ compatible = "zmk,keymap";
+ label ="Default keymap";
+ layers = <&default &lower &raise>;
+ };
+
+ layers {
+ compatible = "zmk,layers";
+
+ default: layer_0 {
+ label = "DEFAULT";
+ keys =
+ <
+ KC_A MT(MOD_LSFT, KC_B)
+ CC_RAIS CC_LOWR
+ >;
+ };
+
+ lower: layer_1 {
+ label = "LOWER";
+ keys = <
+ KC_MPLY KC_MNXT
+ ZC_TRNS ZC_TRNS
+ >;
+ };
+
+ raise: layer_2 {
+ label = "RAISE";
+ keys = <
+ KC_C KC_D
+ ZC_TRNS ZC_TRNS
+ >;
+ };
+ };
+};