aboutsummaryrefslogtreecommitdiffhomepage
path: root/app
diff options
context:
space:
mode:
authorZack Forbing <[email protected]>2024-10-21 09:53:06 -0600
committerGitHub <[email protected]>2024-10-21 11:53:06 -0400
commit200d98f6231270d127ae009b5485b398482c1ce7 (patch)
treea3eb6cf5508299c70a33a4c07893e5be7735844a /app
parent8756a064d113f5369068f823ee01de69d8006c82 (diff)
downloadzmk-200d98f6231270d127ae009b5485b398482c1ce7.tar.gz
zmk-200d98f6231270d127ae009b5485b398482c1ce7.zip
feat(shields): QAZ: added three physical layouts
* added three physical layouts --------- Co-authored-by: Zack Forbing <[email protected]> Co-authored-by: Cem Aksoylar <[email protected]>
Diffstat (limited to 'app')
-rw-r--r--app/boards/shields/qaz/qaz-layouts.dtsi186
-rw-r--r--app/boards/shields/qaz/qaz.overlay32
2 files changed, 214 insertions, 4 deletions
diff --git a/app/boards/shields/qaz/qaz-layouts.dtsi b/app/boards/shields/qaz/qaz-layouts.dtsi
new file mode 100644
index 0000000000..4080d79e91
--- /dev/null
+++ b/app/boards/shields/qaz/qaz-layouts.dtsi
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2024 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <physical_layouts.dtsi>
+
+/ {
+ split_big_bar_layout: split_big_bar_layout {
+ compatible = "zmk,physical-layout";
+ display-name = "Split Big Bar";
+ transform = <&split_big_bar_transform>;
+ kscan = <&kscan0>;
+ keys // w h x y rot rx ry
+ = <&key_physical_attrs 100 100 0 0 0 0 0>
+ , <&key_physical_attrs 100 100 100 0 0 0 0>
+ , <&key_physical_attrs 100 100 200 0 0 0 0>
+ , <&key_physical_attrs 100 100 300 0 0 0 0>
+ , <&key_physical_attrs 100 100 400 0 0 0 0>
+ , <&key_physical_attrs 100 100 500 0 0 0 0>
+ , <&key_physical_attrs 100 100 600 0 0 0 0>
+ , <&key_physical_attrs 100 100 700 0 0 0 0>
+ , <&key_physical_attrs 100 100 800 0 0 0 0>
+ , <&key_physical_attrs 125 100 900 0 0 0 0>
+
+ , <&key_physical_attrs 125 100 0 100 0 0 0>
+ , <&key_physical_attrs 100 100 125 100 0 0 0>
+ , <&key_physical_attrs 100 100 225 100 0 0 0>
+ , <&key_physical_attrs 100 100 325 100 0 0 0>
+ , <&key_physical_attrs 100 100 425 100 0 0 0>
+ , <&key_physical_attrs 100 100 525 100 0 0 0>
+ , <&key_physical_attrs 100 100 625 100 0 0 0>
+ , <&key_physical_attrs 100 100 725 100 0 0 0>
+ , <&key_physical_attrs 100 100 825 100 0 0 0>
+ , <&key_physical_attrs 100 100 925 100 0 0 0>
+
+ , <&key_physical_attrs 175 100 0 200 0 0 0>
+ , <&key_physical_attrs 100 100 175 200 0 0 0>
+ , <&key_physical_attrs 100 100 275 200 0 0 0>
+ , <&key_physical_attrs 100 100 375 200 0 0 0>
+ , <&key_physical_attrs 100 100 475 200 0 0 0>
+ , <&key_physical_attrs 100 100 575 200 0 0 0>
+ , <&key_physical_attrs 100 100 675 200 0 0 0>
+ , <&key_physical_attrs 100 100 775 200 0 0 0>
+ , <&key_physical_attrs 150 100 875 200 0 0 0>
+ , <&key_physical_attrs 100 100 0 300 0 0 0>
+ , <&key_physical_attrs 100 100 100 300 0 0 0>
+ , <&key_physical_attrs 325 100 200 300 0 0 0>
+ , <&key_physical_attrs 300 100 525 300 0 0 0>
+ , <&key_physical_attrs 100 100 825 300 0 0 0>
+ , <&key_physical_attrs 100 100 925 300 0 0 0>
+ ;
+ };
+
+ split_bar_layout: split_bar_layout {
+ compatible = "zmk,physical-layout";
+ display-name = "Split Bar";
+ transform = <&split_bar_transform>;
+ kscan = <&kscan0>;
+ keys // w h x y rot rx ry
+ = <&key_physical_attrs 100 100 0 0 0 0 0>
+ , <&key_physical_attrs 100 100 100 0 0 0 0>
+ , <&key_physical_attrs 100 100 200 0 0 0 0>
+ , <&key_physical_attrs 100 100 300 0 0 0 0>
+ , <&key_physical_attrs 100 100 400 0 0 0 0>
+ , <&key_physical_attrs 100 100 500 0 0 0 0>
+ , <&key_physical_attrs 100 100 600 0 0 0 0>
+ , <&key_physical_attrs 100 100 700 0 0 0 0>
+ , <&key_physical_attrs 100 100 800 0 0 0 0>
+ , <&key_physical_attrs 125 100 900 0 0 0 0>
+
+ , <&key_physical_attrs 125 100 0 100 0 0 0>
+ , <&key_physical_attrs 100 100 125 100 0 0 0>
+ , <&key_physical_attrs 100 100 225 100 0 0 0>
+ , <&key_physical_attrs 100 100 325 100 0 0 0>
+ , <&key_physical_attrs 100 100 425 100 0 0 0>
+ , <&key_physical_attrs 100 100 525 100 0 0 0>
+ , <&key_physical_attrs 100 100 625 100 0 0 0>
+ , <&key_physical_attrs 100 100 725 100 0 0 0>
+ , <&key_physical_attrs 100 100 825 100 0 0 0>
+ , <&key_physical_attrs 100 100 925 100 0 0 0>
+
+ , <&key_physical_attrs 175 100 0 200 0 0 0>
+ , <&key_physical_attrs 100 100 175 200 0 0 0>
+ , <&key_physical_attrs 100 100 275 200 0 0 0>
+ , <&key_physical_attrs 100 100 375 200 0 0 0>
+ , <&key_physical_attrs 100 100 475 200 0 0 0>
+ , <&key_physical_attrs 100 100 575 200 0 0 0>
+ , <&key_physical_attrs 100 100 675 200 0 0 0>
+ , <&key_physical_attrs 100 100 775 200 0 0 0>
+ , <&key_physical_attrs 150 100 875 200 0 0 0>
+
+ , <&key_physical_attrs 100 100 0 300 0 0 0>
+ , <&key_physical_attrs 100 100 100 300 0 0 0>
+ , <&key_physical_attrs 100 100 200 300 0 0 0>
+ , <&key_physical_attrs 225 100 300 300 0 0 0>
+ , <&key_physical_attrs 200 100 525 300 0 0 0>
+ , <&key_physical_attrs 100 100 725 300 0 0 0>
+ , <&key_physical_attrs 100 100 825 300 0 0 0>
+ , <&key_physical_attrs 100 100 925 300 0 0 0>
+ ;
+ };
+
+ big_bar_layout: big_bar_layout {
+ compatible = "zmk,physical-layout";
+ display-name = "Big Bar";
+ transform = <&big_bar_transform>;
+ kscan = <&kscan0>;
+ keys // w h x y rot rx ry
+ = <&key_physical_attrs 100 100 0 0 0 0 0>
+ , <&key_physical_attrs 100 100 100 0 0 0 0>
+ , <&key_physical_attrs 100 100 200 0 0 0 0>
+ , <&key_physical_attrs 100 100 300 0 0 0 0>
+ , <&key_physical_attrs 100 100 400 0 0 0 0>
+ , <&key_physical_attrs 100 100 500 0 0 0 0>
+ , <&key_physical_attrs 100 100 600 0 0 0 0>
+ , <&key_physical_attrs 100 100 700 0 0 0 0>
+ , <&key_physical_attrs 100 100 800 0 0 0 0>
+ , <&key_physical_attrs 125 100 900 0 0 0 0>
+
+ , <&key_physical_attrs 125 100 0 100 0 0 0>
+ , <&key_physical_attrs 100 100 125 100 0 0 0>
+ , <&key_physical_attrs 100 100 225 100 0 0 0>
+ , <&key_physical_attrs 100 100 325 100 0 0 0>
+ , <&key_physical_attrs 100 100 425 100 0 0 0>
+ , <&key_physical_attrs 100 100 525 100 0 0 0>
+ , <&key_physical_attrs 100 100 625 100 0 0 0>
+ , <&key_physical_attrs 100 100 725 100 0 0 0>
+ , <&key_physical_attrs 100 100 825 100 0 0 0>
+ , <&key_physical_attrs 100 100 925 100 0 0 0>
+
+ , <&key_physical_attrs 175 100 0 200 0 0 0>
+ , <&key_physical_attrs 100 100 175 200 0 0 0>
+ , <&key_physical_attrs 100 100 275 200 0 0 0>
+ , <&key_physical_attrs 100 100 375 200 0 0 0>
+ , <&key_physical_attrs 100 100 475 200 0 0 0>
+ , <&key_physical_attrs 100 100 575 200 0 0 0>
+ , <&key_physical_attrs 100 100 675 200 0 0 0>
+ , <&key_physical_attrs 100 100 775 200 0 0 0>
+ , <&key_physical_attrs 150 100 875 200 0 0 0>
+
+ , <&key_physical_attrs 100 100 0 300 0 0 0>
+ , <&key_physical_attrs 100 100 100 300 0 0 0>
+ , <&key_physical_attrs 625 100 200 300 0 0 0>
+ , <&key_physical_attrs 100 100 825 300 0 0 0>
+ , <&key_physical_attrs 100 100 925 300 0 0 0>
+ ;
+ };
+
+ position_map {
+ compatible = "zmk,physical-layout-position-map";
+
+ complete;
+
+ split_big_bar_posmap {
+ physical-layout = <&split_big_bar_layout>;
+ positions
+ = < 0 1 2 3 4 5 6 7 8 9>
+ , <10 11 12 13 14 15 16 17 18 19>
+ , <20 21 22 23 24 25 26 27 28>
+ , <29 30 35 31 36 33 34 32>
+ ;
+ };
+
+ split_bar_posmap {
+ physical-layout = <&split_bar_layout>;
+ positions
+ = < 0 1 2 3 4 5 6 7 8 9>
+ , <10 11 12 13 14 15 16 17 18 19>
+ , <20 21 22 23 24 25 26 27 28>
+ , <29 30 31 32 34 35 36 33>
+ ;
+ };
+
+ big_bar_posmap {
+ physical-layout = <&big_bar_layout>;
+ positions
+ = < 0 1 2 3 4 5 6 7 8 9>
+ , <10 11 12 13 14 15 16 17 18 19>
+ , <20 21 22 23 24 25 26 27 28>
+ , <29 30 35 34 36 32 33 31>
+ ;
+ };
+ };
+}; \ No newline at end of file
diff --git a/app/boards/shields/qaz/qaz.overlay b/app/boards/shields/qaz/qaz.overlay
index 5c76b98f87..ca4a0bc1ad 100644
--- a/app/boards/shields/qaz/qaz.overlay
+++ b/app/boards/shields/qaz/qaz.overlay
@@ -1,18 +1,19 @@
/*
- * Copyright (c) 2020 The ZMK Contributors
+ * Copyright (c) 2024 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <dt-bindings/zmk/matrix_transform.h>
+#include "qaz-layouts.dtsi"
/ {
chosen {
zmk,kscan = &kscan0;
- zmk,matrix-transform = &default_transform;
+ zmk,physical-layout = &split_bar_layout;
};
- default_transform: keymap_transform_0 {
+ split_bar_transform: split_bar_transform {
compatible = "zmk,matrix-transform";
columns = <7>;
rows = <6>;
@@ -24,6 +25,30 @@
>;
};
+ split_big_bar_transform: split_big_bar_transform {
+ compatible = "zmk,matrix-transform";
+ columns = <7>;
+ rows = <6>;
+ map = <
+ RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(4,0) RC(4,1) RC(4,2)
+ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(5,0) RC(5,1) RC(5,2)
+ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(4,3) RC(5,3)
+ RC(3,0) RC(3,1) RC(3,2) RC(3,5) RC(3,6) RC(4,4)
+ >;
+ };
+
+ big_bar_transform: big_bar_transform {
+ compatible = "zmk,matrix-transform";
+ columns = <7>;
+ rows = <6>;
+ map = <
+ RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(4,0) RC(4,1) RC(4,2)
+ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(5,0) RC(5,1) RC(5,2)
+ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(4,3) RC(5,3)
+ RC(3,0) RC(3,1) RC(3,4) RC(3,6) RC(4,4)
+ >;
+ };
+
kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix";
@@ -49,5 +74,4 @@
, <&pro_micro 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
-
}; \ No newline at end of file