summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/boards/shields/lily58/lily58.dtsi2
-rw-r--r--app/boards/shields/romac/Kconfig.defconfig10
-rw-r--r--app/boards/shields/romac/Kconfig.shield5
-rw-r--r--app/boards/shields/romac/romac.conf0
-rw-r--r--app/boards/shields/romac/romac.keymap46
-rw-r--r--app/boards/shields/romac/romac.overlay40
-rw-r--r--app/src/behaviors/behavior_mod_tap.c4
-rw-r--r--app/src/behaviors/behavior_none.c4
8 files changed, 106 insertions, 5 deletions
diff --git a/app/boards/shields/lily58/lily58.dtsi b/app/boards/shields/lily58/lily58.dtsi
index 24f6805..23f5644 100644
--- a/app/boards/shields/lily58/lily58.dtsi
+++ b/app/boards/shields/lily58/lily58.dtsi
@@ -15,7 +15,7 @@
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <16>;
- rows = <4>;
+ rows = <5>;
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 |
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 |
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 |
diff --git a/app/boards/shields/romac/Kconfig.defconfig b/app/boards/shields/romac/Kconfig.defconfig
new file mode 100644
index 0000000..5352797
--- /dev/null
+++ b/app/boards/shields/romac/Kconfig.defconfig
@@ -0,0 +1,10 @@
+# Copyright (c) 2020 Pete Johanson, Richard Jones
+# SPDX-License-Identifier: MIT
+
+if SHIELD_ROMAC
+
+config ZMK_KEYBOARD_NAME
+ default "RoMac"
+
+endif
+
diff --git a/app/boards/shields/romac/Kconfig.shield b/app/boards/shields/romac/Kconfig.shield
new file mode 100644
index 0000000..59669d3
--- /dev/null
+++ b/app/boards/shields/romac/Kconfig.shield
@@ -0,0 +1,5 @@
+# Copyright (c) 2020 Pete Johanson, Richard Jones
+# SPDX-License-Identifier: MIT
+
+config SHIELD_ROMAC
+ def_bool $(shields_list_contains,romac)
diff --git a/app/boards/shields/romac/romac.conf b/app/boards/shields/romac/romac.conf
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/boards/shields/romac/romac.conf
diff --git a/app/boards/shields/romac/romac.keymap b/app/boards/shields/romac/romac.keymap
new file mode 100644
index 0000000..f94a829
--- /dev/null
+++ b/app/boards/shields/romac/romac.keymap
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2020 Pete Johanson, Richard Jones
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+// -------------------
+// | 7 | 8 | 9 |
+// | 4 | 5 | 6 |
+// | 1 | 2 | 3 |
+// | MO(1) | 0 | . |
+// ----------------------
+ bindings = <
+ &kp NUM_7 &kp NUM_8 &kp NUM_9
+ &kp NUM_4 &kp NUM_5 &kp NUM_6
+ &kp NUM_1 &kp NUM_2 &kp NUM_3
+ &mo 1 &kp NUM_0 &kp DOT
+ >;
+ };
+
+ nav_layer {
+// -----------------------
+// | _ | HOME | PGUP |
+// | _ | END | PGDN |
+// | _ | _ | _ |
+// | _ | _ | RET |
+// -----------------------
+ bindings = <
+ &trans &kp HOME &kp PGUP
+ &trans &kp END &kp PGDN
+ &trans &trans &trans
+ &trans &trans &kp RET
+ >;
+ };
+ };
+};
+
+
diff --git a/app/boards/shields/romac/romac.overlay b/app/boards/shields/romac/romac.overlay
new file mode 100644
index 0000000..67d5868
--- /dev/null
+++ b/app/boards/shields/romac/romac.overlay
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2020 Pete Johanson, Richard Jones
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <dt-bindings/zmk/matrix-transform.h>
+
+/ {
+ chosen {
+ zmk,kscan = &kscan0;
+ };
+
+ kscan0: kscan {
+ compatible = "zmk,kscan-gpio-matrix";
+ label = "KSCAN";
+
+ diode-direction = "col2row";
+ row-gpios
+ = <&pro_micro_d 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ ;
+
+ col-gpios
+ = <&pro_micro_a 0 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 15 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 14 GPIO_ACTIVE_HIGH>
+ ;
+
+ };
+
+ bt_unpair_combo: bt_unpair_combo {
+ compatible = "zmk,bt-unpair-combo";
+ key-positions = <0 11>;
+ };
+
+};
+
diff --git a/app/src/behaviors/behavior_mod_tap.c b/app/src/behaviors/behavior_mod_tap.c
index 6151f7e..5a2f60e 100644
--- a/app/src/behaviors/behavior_mod_tap.c
+++ b/app/src/behaviors/behavior_mod_tap.c
@@ -193,8 +193,8 @@ static int on_keymap_binding_released(struct device *dev, u32_t position, u32_t
}
struct keycode_state_changed *ev = data->captured_keycode_events[j].event;
- data->captured_keycode_events[i].event = NULL;
- data->captured_keycode_events[i].active_mods = 0;
+ data->captured_keycode_events[j].event = NULL;
+ data->captured_keycode_events[j].active_mods = 0;
LOG_DBG("Re-sending latched key press for usage page 0x%02X keycode 0x%02X state %s", ev->usage_page, ev->keycode, (ev->state ? "pressed" : "released"));
ZMK_EVENT_RELEASE(ev);
k_msleep(10);
diff --git a/app/src/behaviors/behavior_none.c b/app/src/behaviors/behavior_none.c
index 7e77e54..e822d5e 100644
--- a/app/src/behaviors/behavior_none.c
+++ b/app/src/behaviors/behavior_none.c
@@ -23,12 +23,12 @@ static int behavior_none_init(struct device *dev)
static int on_keymap_binding_pressed(struct device *dev, u32_t position, u32_t _param1, u32_t _param2)
{
- return 1;
+ return 0;
}
static int on_keymap_binding_released(struct device *dev, u32_t position, u32_t _param1, u32_t _param2)
{
- return 1;
+ return 0;
}
static const struct behavior_driver_api behavior_none_driver_api = {