summaryrefslogtreecommitdiff
path: root/app/dts
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-06-25 14:39:08 -0400
committerGitHub <noreply@github.com>2020-06-25 14:39:08 -0400
commitc457d9880d31bf638272495be1891adf172bcaee (patch)
tree51d57bfea704c616ef9357bfba9bffcaf113d062 /app/dts
parentb1cab32c66d19d453b89fcec6f4211367e45827a (diff)
parentf2f9d4502122a332aa6f35ac87d9f6b5e3ff7335 (diff)
Merge pull request #32 from petejohanson/core/refactor-keymap-to-behaviors
Refactor keymap to behaviors
Diffstat (limited to 'app/dts')
-rw-r--r--app/dts/behaviors.dtsi7
-rw-r--r--app/dts/behaviors/hid.dtsi9
-rw-r--r--app/dts/behaviors/key_press.dtsi19
-rw-r--r--app/dts/behaviors/keymap.dtsi9
-rw-r--r--app/dts/behaviors/mod_tap.dtsi9
-rw-r--r--app/dts/behaviors/momentary_layer.dtsi9
-rw-r--r--app/dts/behaviors/reset.dtsi9
-rw-r--r--app/dts/behaviors/transparent.dtsi9
-rw-r--r--app/dts/bindings/behaviors/one_param.yaml14
-rw-r--r--app/dts/bindings/behaviors/two_param.yaml15
-rw-r--r--app/dts/bindings/behaviors/zero_param.yaml11
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-hid.yaml8
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-key-press.yaml13
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-keymap.yaml8
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-mod-tap.yaml8
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-momentary-layer.yaml8
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-reset.yaml8
-rw-r--r--app/dts/bindings/behaviors/zmk,behavior-transparent.yaml8
-rw-r--r--app/dts/bindings/zmk,layers.yaml7
19 files changed, 185 insertions, 3 deletions
diff --git a/app/dts/behaviors.dtsi b/app/dts/behaviors.dtsi
new file mode 100644
index 0000000..cd5a3ab
--- /dev/null
+++ b/app/dts/behaviors.dtsi
@@ -0,0 +1,7 @@
+#include <behaviors/key_press.dtsi>
+#include <behaviors/transparent.dtsi>
+#include <behaviors/mod_tap.dtsi>
+#include <behaviors/momentary_layer.dtsi>
+#include <behaviors/reset.dtsi>
+#include <behaviors/keymap.dtsi>
+#include <behaviors/hid.dtsi> \ No newline at end of file
diff --git a/app/dts/behaviors/hid.dtsi b/app/dts/behaviors/hid.dtsi
new file mode 100644
index 0000000..30ebb09
--- /dev/null
+++ b/app/dts/behaviors/hid.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ hid_behavior: behavior_hid {
+ compatible = "zmk,behavior-hid", "zmk,behavior-global";
+ label = "HID";
+ #binding-cells = <0>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/key_press.dtsi b/app/dts/behaviors/key_press.dtsi
new file mode 100644
index 0000000..5a01953
--- /dev/null
+++ b/app/dts/behaviors/key_press.dtsi
@@ -0,0 +1,19 @@
+#include <dt-bindings/zmk/keys.h>
+
+/ {
+ behaviors {
+ kp: behavior_key_press {
+ compatible = "zmk,behavior-key-press";
+ label = "KEY_PRESS";
+ usage_page = <USAGE_KEYPAD>;
+ #binding-cells = <1>;
+ };
+
+ cp: behavior_consumer_press {
+ compatible = "zmk,behavior-key-press";
+ label = "CONSUMER_PRESS";
+ usage_page = <USAGE_CONSUMER>;
+ #binding-cells = <1>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/keymap.dtsi b/app/dts/behaviors/keymap.dtsi
new file mode 100644
index 0000000..ec434d5
--- /dev/null
+++ b/app/dts/behaviors/keymap.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ keymap_behavior: behavior_keymap {
+ compatible = "zmk,behavior-keymap", "zmk,behavior-global";
+ label = "KEYMAP";
+ #binding-cells = <0>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/mod_tap.dtsi b/app/dts/behaviors/mod_tap.dtsi
new file mode 100644
index 0000000..1be7db6
--- /dev/null
+++ b/app/dts/behaviors/mod_tap.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ mt: behavior_mod_tap {
+ compatible = "zmk,behavior-mod-tap", "zmk,behavior-global";
+ label = "MOD_TAP";
+ #binding-cells = <2>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/momentary_layer.dtsi b/app/dts/behaviors/momentary_layer.dtsi
new file mode 100644
index 0000000..e5b6c3c
--- /dev/null
+++ b/app/dts/behaviors/momentary_layer.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ mo: behavior_momentary_layer {
+ compatible = "zmk,behavior-momentary-layer";
+ label = "MO";
+ #binding-cells = <1>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/reset.dtsi b/app/dts/behaviors/reset.dtsi
new file mode 100644
index 0000000..4e3b444
--- /dev/null
+++ b/app/dts/behaviors/reset.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ reset: behavior_reset {
+ compatible = "zmk,behavior-reset";
+ label = "RESET";
+ #binding-cells = <0>;
+ };
+ };
+};
diff --git a/app/dts/behaviors/transparent.dtsi b/app/dts/behaviors/transparent.dtsi
new file mode 100644
index 0000000..ddd0522
--- /dev/null
+++ b/app/dts/behaviors/transparent.dtsi
@@ -0,0 +1,9 @@
+/ {
+ behaviors {
+ trans: behavior_transparent {
+ compatible = "zmk,behavior-transparent";
+ label = "TRANS";
+ #binding-cells = <0>;
+ };
+ };
+};
diff --git a/app/dts/bindings/behaviors/one_param.yaml b/app/dts/bindings/behaviors/one_param.yaml
new file mode 100644
index 0000000..1f33aee
--- /dev/null
+++ b/app/dts/bindings/behaviors/one_param.yaml
@@ -0,0 +1,14 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+properties:
+ label:
+ type: string
+ required: true
+ "#binding-cells":
+ type: int
+ required: true
+ const: 1
+
+binding-cells:
+ - param1
diff --git a/app/dts/bindings/behaviors/two_param.yaml b/app/dts/bindings/behaviors/two_param.yaml
new file mode 100644
index 0000000..f8b3af9
--- /dev/null
+++ b/app/dts/bindings/behaviors/two_param.yaml
@@ -0,0 +1,15 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+properties:
+ label:
+ type: string
+ required: true
+ "#binding-cells":
+ type: int
+ required: true
+ const: 2
+
+binding-cells:
+ - param1
+ - param2
diff --git a/app/dts/bindings/behaviors/zero_param.yaml b/app/dts/bindings/behaviors/zero_param.yaml
new file mode 100644
index 0000000..20f1528
--- /dev/null
+++ b/app/dts/bindings/behaviors/zero_param.yaml
@@ -0,0 +1,11 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+properties:
+ label:
+ type: string
+ required: true
+ "#binding-cells":
+ type: int
+ required: true
+ const: 0
diff --git a/app/dts/bindings/behaviors/zmk,behavior-hid.yaml b/app/dts/bindings/behaviors/zmk,behavior-hid.yaml
new file mode 100644
index 0000000..f3e0603
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-hid.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: HID Report Behavior
+
+compatible: "zmk,behavior-hid"
+
+include: zero_param.yaml
diff --git a/app/dts/bindings/behaviors/zmk,behavior-key-press.yaml b/app/dts/bindings/behaviors/zmk,behavior-key-press.yaml
new file mode 100644
index 0000000..7ec5494
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-key-press.yaml
@@ -0,0 +1,13 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Key press/release behavior
+
+compatible: "zmk,behavior-key-press"
+
+include: one_param.yaml
+
+properties:
+ usage_page:
+ type: int
+ default: 0
diff --git a/app/dts/bindings/behaviors/zmk,behavior-keymap.yaml b/app/dts/bindings/behaviors/zmk,behavior-keymap.yaml
new file mode 100644
index 0000000..1d8a51f
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-keymap.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Keymap Behavior
+
+compatible: "zmk,behavior-keymap"
+
+include: zero_param.yaml
diff --git a/app/dts/bindings/behaviors/zmk,behavior-mod-tap.yaml b/app/dts/bindings/behaviors/zmk,behavior-mod-tap.yaml
new file mode 100644
index 0000000..7911082
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-mod-tap.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Mod-Tap Beavhior
+
+compatible: "zmk,behavior-mod-tap"
+
+include: two_param.yaml
diff --git a/app/dts/bindings/behaviors/zmk,behavior-momentary-layer.yaml b/app/dts/bindings/behaviors/zmk,behavior-momentary-layer.yaml
new file mode 100644
index 0000000..70c7c7f
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-momentary-layer.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Momentary layer on press/release behavior
+
+compatible: "zmk,behavior-momentary-layer"
+
+include: one_param.yaml
diff --git a/app/dts/bindings/behaviors/zmk,behavior-reset.yaml b/app/dts/bindings/behaviors/zmk,behavior-reset.yaml
new file mode 100644
index 0000000..c8e5e6f
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-reset.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Keyboard Reset Behavior
+
+compatible: "zmk,behavior-reset"
+
+include: zero_param.yaml
diff --git a/app/dts/bindings/behaviors/zmk,behavior-transparent.yaml b/app/dts/bindings/behaviors/zmk,behavior-transparent.yaml
new file mode 100644
index 0000000..33f1aba
--- /dev/null
+++ b/app/dts/bindings/behaviors/zmk,behavior-transparent.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2020, Pete Johanson
+# SPDX-License-Identifier: MIT
+
+description: Transparent Binding Behavior
+
+compatible: "zmk,behavior-transparent"
+
+include: zero_param.yaml
diff --git a/app/dts/bindings/zmk,layers.yaml b/app/dts/bindings/zmk,layers.yaml
index c9b462a..34cbb95 100644
--- a/app/dts/bindings/zmk,layers.yaml
+++ b/app/dts/bindings/zmk,layers.yaml
@@ -9,6 +9,7 @@ child-binding:
properties:
label:
type: string
- keys:
- type: array
-
+ required: true
+ bindings:
+ type: phandle-array
+ required: true