From 2cfc7145bdd0bfe5bbbe2faf0818e9b8131b4460 Mon Sep 17 00:00:00 2001 From: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon, 9 Sep 2024 14:27:46 +0100 Subject: [PATCH] feat(shields): Shield physical layouts --- .../boardsource5x12/boardsource5x12.overlay | 22 +++++++++++++++++- app/boards/shields/contra/contra.overlay | 23 ++++++++++++++++++- app/boards/shields/crbn/crbn.overlay | 19 +++++++++++++++ app/boards/shields/m60/m60.overlay | 7 +++++- 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/app/boards/shields/boardsource5x12/boardsource5x12.overlay b/app/boards/shields/boardsource5x12/boardsource5x12.overlay index 15ae7b68f25d..00cfe7208eef 100644 --- a/app/boards/shields/boardsource5x12/boardsource5x12.overlay +++ b/app/boards/shields/boardsource5x12/boardsource5x12.overlay @@ -6,9 +6,25 @@ #include +#include + / { chosen { zmk,kscan = &kscan0; + zmk,physical-layout = &layout_ortho_5x12_2x1u; + }; + + matrix_transform_50_2x1u: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <12>; + rows = <5>; + map = < + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) + RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) + RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) + RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) + RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9) RC(4,10) RC(4,11) + >; }; kscan0: kscan { @@ -40,4 +56,8 @@ , <&pro_micro 6 GPIO_ACTIVE_HIGH> ; }; -}; \ No newline at end of file +}; + +&layout_ortho_5x12_2x1u { + transform = <&matrix_transform_50_2x1u>; +}; diff --git a/app/boards/shields/contra/contra.overlay b/app/boards/shields/contra/contra.overlay index 45cc3088f23e..c5b30b6630fb 100644 --- a/app/boards/shields/contra/contra.overlay +++ b/app/boards/shields/contra/contra.overlay @@ -4,9 +4,26 @@ * SPDX-License-Identifier: MIT */ +#include + +#include + / { chosen { zmk,kscan = &kscan0; + zmk,physical-layout = &layout_ortho_4x12_2x1u; + }; + + matrix_transform_40_2x1u: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <12>; + rows = <4>; + map = < + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) + RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) + RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) + RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) + >; }; kscan0: kscan_0 { @@ -37,4 +54,8 @@ , <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> ; }; -}; \ No newline at end of file +}; + +&layout_ortho_4x12_2x1u { + transform = <&matrix_transform_40_2x1u>; +}; diff --git a/app/boards/shields/crbn/crbn.overlay b/app/boards/shields/crbn/crbn.overlay index c6a2b87c040c..8efe0bc8023b 100644 --- a/app/boards/shields/crbn/crbn.overlay +++ b/app/boards/shields/crbn/crbn.overlay @@ -6,9 +6,24 @@ #include +#include + / { chosen { zmk,kscan = &kscan0; + zmk,physical-layout = &layout_ortho_4x12_2x1u; + }; + + matrix_transform_40_2x1u: keymap_transform_0 { + compatible = "zmk,matrix-transform"; + columns = <12>; + rows = <4>; + map = < + RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) + RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) + RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) + RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) + >; }; kscan0: kscan_0 { @@ -54,3 +69,7 @@ triggers-per-rotation = <20>; }; }; + +&layout_ortho_4x12_2x1u { + transform = <&matrix_transform_40_2x1u>; +}; diff --git a/app/boards/shields/m60/m60.overlay b/app/boards/shields/m60/m60.overlay index c479233cd523..15690f524062 100644 --- a/app/boards/shields/m60/m60.overlay +++ b/app/boards/shields/m60/m60.overlay @@ -6,10 +6,12 @@ #include +#include + / { chosen { zmk,kscan = &kscan0; - zmk,matrix-transform = &default_transform; + zmk,physical-layout = &layout_60_ansi; }; kscan0: kscan { @@ -58,3 +60,6 @@ RC(6,5) RC(6,6) RC(6,7) RC(7,0) RC(7 }; }; +&layout_60_ansi { + transform = <&default_transform>; +};