summaryrefslogtreecommitdiff
path: root/app/boards/shields/petejohanson_proton_handwire/keymap
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-06-13 16:37:31 -0400
committerPete Johanson <peter@peterjohanson.com>2020-06-14 23:58:43 -0400
commit583839afce4b8117e3ae7bd644954b03d0ed3ddf (patch)
treeb6faa1680d16c6702c981603442bf12e15b4e139 /app/boards/shields/petejohanson_proton_handwire/keymap
parent500232bb83f5eee6815b140f6ca546fef2172f3b (diff)
Initial refactor to have a shield/board have one default keymap.
* Start of work of focusing on out-of-tree user keymaps. Add ZMK_CONFIG support. * General external configuration supported via ZMK_CONFIG, which should point to a configuration directory. * Priority order of overlay files to select. * ${SHIELD}_${BOARD}.overlay * ${SHIELD}.overlay * ${BOARD}.overlay * default.overlay * Equivalent search order for .conf files for initial Kconfig values.
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
+ >;
+ };
+ };
+};