summaryrefslogtreecommitdiff
path: root/app/include/zmk/keymap.h
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-06-08 21:07:16 -0400
committerPete Johanson <peter@peterjohanson.com>2020-06-08 21:07:16 -0400
commit38f1dbd9842eaf53db359ad46b070bfff8db1359 (patch)
tree6a24845fab2043cd0cec8b2086971ff13edeed70 /app/include/zmk/keymap.h
parent92b41d28e5668fab4fe423ccce5f3f85b4537002 (diff)
Move Zephyr app into subdirectory.
Diffstat (limited to 'app/include/zmk/keymap.h')
-rw-r--r--app/include/zmk/keymap.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/include/zmk/keymap.h b/app/include/zmk/keymap.h
new file mode 100644
index 0000000..285b071
--- /dev/null
+++ b/app/include/zmk/keymap.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include <devicetree.h>
+#include <usb/usb_device.h>
+#include <usb/class/usb_hid.h>
+#include <dt-bindings/zmk/keys.h>
+
+#include <zmk/matrix.h>
+#include <zmk/keys.h>
+
+#define ZMK_KEYMAP_NODE DT_CHOSEN(zmk_keymap)
+#define ZMK_KEYMAP_LAYERS_LEN DT_PROP_LEN(ZMK_KEYMAP_NODE, layers)
+
+/* TODO: Need to actually be able to get a NODELABEL from a node id
+#define _ZMK_KEYMAP_GENERATE_LAYER_CONST(node_id) \
+ DT_NODELABEL_FOR_NODE(node_id)_layer,
+
+enum zmk_keymap_layer
+{
+ DT_FOREACH_CHILD(DT_INST(0, zmk_layers), _ZMK_KEYMAP_GENERATE_LAYER_CONST)
+};
+*/
+
+bool zmk_keymap_layer_activate(u8_t layer);
+bool zmk_keymap_layer_deactivate(u8_t layer);
+
+zmk_key
+zmk_keymap_keycode_from_position(u32_t row, u32_t column);