refactor: new physical layouts convention

This commit is contained in:
Nicolas Munnich
2024-11-05 15:29:33 +01:00
committed by Pete Johanson
parent a173be9d71
commit 99b8506437
31 changed files with 443 additions and 475 deletions

View File

@@ -0,0 +1,27 @@
#include <physical_layouts.dtsi>
/ {
matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
};

View File

@@ -6,6 +6,8 @@
#include <dt-bindings/led/led.h>
#include <dt-bindings/zmk/matrix_transform.h>
#include "zmk_uno-layouts.dtsi"
&arduino_i2c {
status = "okay";
@@ -135,3 +137,13 @@ nice_view_spi: &arduino_spi {
b-gpios = <&arduino_header 14 GPIO_PULL_UP>;
};
};
&matrix_physical_layout {
kscan = <&kscan_matrix>;
transform = <&matrix_transform>;
};
&direct_physical_layout {
kscan = <&kscan_direct>;
transform = <&direct_matrix_transform>;
};

View File

@@ -4,10 +4,9 @@
* SPDX-License-Identifier: MIT
*/
#include "zmk_uno.dtsi"
#include "zmk_uno.dtsi"
#include <behaviors.dtsi>
#include <physical_layouts.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/outputs.h>
@@ -59,36 +58,4 @@
bindings = <&ble_one>;
};
};
matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
kscan = <&kscan_matrix>;
transform = <&matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
kscan = <&kscan_direct>;
transform = <&direct_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
;
};
};

View File

@@ -0,0 +1,37 @@
#include <physical_layouts.dtsi>
/ {
split_matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
split_direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
};

View File

@@ -4,17 +4,16 @@
* SPDX-License-Identifier: MIT
*/
#include "zmk_uno.dtsi"
#include "zmk_uno.dtsi"
#include "zmk_uno_split-layouts.dtsi"
#include <physical_layouts.dtsi>
left_encoder: &encoder {
left_encoder: &encoder {
status = "disabled";
};
};
/ {
/ {
chosen {
zmk,physical-layout = &matrix_physical_layout;
zmk,physical-layout = &split_matrix_physical_layout;
};
split_matrix_transform: split_matrix_transform {
@@ -45,45 +44,6 @@
>;
};
matrix_physical_layout: matrix_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Matrix Layout";
kscan = <&kscan_matrix>;
transform = <&split_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
direct_physical_layout: direct_physical_layout {
compatible = "zmk,physical-layout";
display-name = "Direct Wire Layout";
kscan = <&kscan_direct>;
transform = <&split_direct_matrix_transform>;
keys
= <&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 0 100 0 0 0>
, <&key_physical_attrs 100 100 100 100 0 0 0>
, <&key_physical_attrs 100 100 0 200 0 0 0>
, <&key_physical_attrs 100 100 100 200 0 0 0>
, <&key_physical_attrs 100 100 0 300 0 0 0>
, <&key_physical_attrs 100 100 100 300 0 0 0>
;
};
right_encoder: right_encoder {
steps = <80>;
status = "disabled";
@@ -97,4 +57,14 @@
sensors = <&encoder &right_encoder>;
triggers-per-rotation = <20>;
};
};
};
&split_matrix_physical_layout {
kscan = <&kscan_matrix>;
transform = <&split_matrix_transform>;
};
&split_direct_physical_layout {
kscan = <&kscan_direct>;
transform = <&split_direct_matrix_transform>;
};