diff --git a/app/boards/shields/ergodash/ergodash-layouts.dtsi b/app/boards/shields/ergodash/ergodash-layouts.dtsi new file mode 100644 index 000000000..a728f6391 --- /dev/null +++ b/app/boards/shields/ergodash/ergodash-layouts.dtsi @@ -0,0 +1,425 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include + +/ { + + chosen { + zmk,physical-layout = &ergodash_physical_layout_4key; + }; + + ergodash_physical_layout_4key: ergodash_physical_layout_4key { + compatible = "zmk,physical-layout"; + display-name = "LAYOUT_4key"; + + kscan = <&kscan0>; + transform = <&default_transform>; + + keys// w h x y rot rx ry + // row0 + = <&key_physical_attrs 100 100 0 38 0 0 0> + , <&key_physical_attrs 100 100 100 38 0 0 0> + , <&key_physical_attrs 100 100 200 12 0 0 0> + , <&key_physical_attrs 100 100 300 0 0 0 0> + , <&key_physical_attrs 100 100 400 12 0 0 0> + , <&key_physical_attrs 100 100 500 25 0 0 0> + , <&key_physical_attrs 100 100 600 75 0 0 0> + , <&key_physical_attrs 100 100 1150 75 0 0 0> + , <&key_physical_attrs 100 100 1250 25 0 0 0> + , <&key_physical_attrs 100 100 1350 12 0 0 0> + , <&key_physical_attrs 100 100 1450 0 0 0 0> + , <&key_physical_attrs 100 100 1550 12 0 0 0> + , <&key_physical_attrs 100 100 1650 38 0 0 0> + , <&key_physical_attrs 100 100 1750 38 0 0 0> + // row1 + , <&key_physical_attrs 100 100 0 138 0 0 0> + , <&key_physical_attrs 100 100 100 138 0 0 0> + , <&key_physical_attrs 100 100 200 112 0 0 0> + , <&key_physical_attrs 100 100 300 100 0 0 0> + , <&key_physical_attrs 100 100 400 112 0 0 0> + , <&key_physical_attrs 100 100 500 125 0 0 0> + , <&key_physical_attrs 100 100 600 175 0 0 0> + , <&key_physical_attrs 100 100 1150 175 0 0 0> + , <&key_physical_attrs 100 100 1250 125 0 0 0> + , <&key_physical_attrs 100 100 1350 112 0 0 0> + , <&key_physical_attrs 100 100 1450 100 0 0 0> + , <&key_physical_attrs 100 100 1550 112 0 0 0> + , <&key_physical_attrs 100 100 1650 138 0 0 0> + , <&key_physical_attrs 100 100 1750 138 0 0 0> + // row2 + , <&key_physical_attrs 100 100 0 238 0 0 0> + , <&key_physical_attrs 100 100 100 238 0 0 0> + , <&key_physical_attrs 100 100 200 212 0 0 0> + , <&key_physical_attrs 100 100 300 200 0 0 0> + , <&key_physical_attrs 100 100 400 212 0 0 0> + , <&key_physical_attrs 100 100 500 225 0 0 0> + , <&key_physical_attrs 100 100 600 275 0 0 0> + , <&key_physical_attrs 100 100 1150 275 0 0 0> + , <&key_physical_attrs 100 100 1250 225 0 0 0> + , <&key_physical_attrs 100 100 1350 212 0 0 0> + , <&key_physical_attrs 100 100 1450 200 0 0 0> + , <&key_physical_attrs 100 100 1550 212 0 0 0> + , <&key_physical_attrs 100 100 1650 238 0 0 0> + , <&key_physical_attrs 100 100 1750 238 0 0 0> + // row3 + , <&key_physical_attrs 100 100 0 338 0 0 0> + , <&key_physical_attrs 100 100 100 338 0 0 0> + , <&key_physical_attrs 100 100 200 312 0 0 0> + , <&key_physical_attrs 100 100 300 300 0 0 0> + , <&key_physical_attrs 100 100 400 312 0 0 0> + , <&key_physical_attrs 100 100 500 325 0 0 0> + , <&key_physical_attrs 100 100 600 400 0 0 0> + , <&key_physical_attrs 100 100 1150 400 0 0 0> + , <&key_physical_attrs 100 100 1250 325 0 0 0> + , <&key_physical_attrs 100 100 1350 312 0 0 0> + , <&key_physical_attrs 100 100 1450 300 0 0 0> + , <&key_physical_attrs 100 100 1550 312 0 0 0> + , <&key_physical_attrs 100 100 1650 338 0 0 0> + , <&key_physical_attrs 100 100 1750 338 0 0 0> + // row4 + , <&key_physical_attrs 100 100 0 438 0 0 0> + , <&key_physical_attrs 100 100 100 438 0 0 0> + , <&key_physical_attrs 100 100 200 412 0 0 0> + , <&key_physical_attrs 100 100 300 400 0 0 0> + , <&key_physical_attrs 100 100 500 500 0 0 0> + , <&key_physical_attrs 100 100 600 500 0 0 0> + , <&key_physical_attrs 100 200 700 400 0 0 0> + , <&key_physical_attrs 100 200 1050 400 0 0 0> + , <&key_physical_attrs 100 100 1150 500 0 0 0> + , <&key_physical_attrs 100 100 1250 500 0 0 0> + , <&key_physical_attrs 100 100 1450 400 0 0 0> + , <&key_physical_attrs 100 100 1550 412 0 0 0> + , <&key_physical_attrs 100 100 1650 438 0 0 0> + , <&key_physical_attrs 100 100 1750 438 0 0 0> + ; + }; + + ergodash_physical_layout_4key_2u_inner: ergodash_physical_layout_4key_2u_inner { + compatible = "zmk,physical-layout"; + display-name = "LAYOUT_4key_2u_inner"; + + kscan = <&kscan0>; + transform = <&default_transform>; + + keys // w h x y rot rx ry + = <&key_physical_attrs 100 100 0 38 0 0 0> + , <&key_physical_attrs 100 100 100 38 0 0 0> + , <&key_physical_attrs 100 100 200 12 0 0 0> + , <&key_physical_attrs 100 100 300 0 0 0 0> + , <&key_physical_attrs 100 100 400 12 0 0 0> + , <&key_physical_attrs 100 100 500 25 0 0 0> + , <&key_physical_attrs 100 100 600 75 0 0 0> + , <&key_physical_attrs 100 100 1150 75 0 0 0> + , <&key_physical_attrs 100 100 1250 25 0 0 0> + , <&key_physical_attrs 100 100 1350 12 0 0 0> + , <&key_physical_attrs 100 100 1450 0 0 0 0> + , <&key_physical_attrs 100 100 1550 12 0 0 0> + , <&key_physical_attrs 100 100 1650 38 0 0 0> + , <&key_physical_attrs 100 100 1750 38 0 0 0> + , <&key_physical_attrs 100 100 0 138 0 0 0> + , <&key_physical_attrs 100 100 100 138 0 0 0> + , <&key_physical_attrs 100 100 200 112 0 0 0> + , <&key_physical_attrs 100 100 300 100 0 0 0> + , <&key_physical_attrs 100 100 400 112 0 0 0> + , <&key_physical_attrs 100 100 500 125 0 0 0> + , <&key_physical_attrs 100 100 600 175 0 0 0> + , <&key_physical_attrs 100 100 1150 175 0 0 0> + , <&key_physical_attrs 100 100 1250 125 0 0 0> + , <&key_physical_attrs 100 100 1350 112 0 0 0> + , <&key_physical_attrs 100 100 1450 100 0 0 0> + , <&key_physical_attrs 100 100 1550 112 0 0 0> + , <&key_physical_attrs 100 100 1650 138 0 0 0> + , <&key_physical_attrs 100 100 1750 138 0 0 0> + , <&key_physical_attrs 100 100 0 238 0 0 0> + , <&key_physical_attrs 100 100 100 238 0 0 0> + , <&key_physical_attrs 100 100 200 212 0 0 0> + , <&key_physical_attrs 100 100 300 200 0 0 0> + , <&key_physical_attrs 100 100 400 212 0 0 0> + , <&key_physical_attrs 100 100 500 225 0 0 0> + , <&key_physical_attrs 100 100 600 275 0 0 0> + , <&key_physical_attrs 100 100 1150 275 0 0 0> + , <&key_physical_attrs 100 100 1250 225 0 0 0> + , <&key_physical_attrs 100 100 1350 212 0 0 0> + , <&key_physical_attrs 100 100 1450 200 0 0 0> + , <&key_physical_attrs 100 100 1550 212 0 0 0> + , <&key_physical_attrs 100 100 1650 238 0 0 0> + , <&key_physical_attrs 100 100 1750 238 0 0 0> + , <&key_physical_attrs 100 100 0 338 0 0 0> + , <&key_physical_attrs 100 100 100 338 0 0 0> + , <&key_physical_attrs 100 100 200 312 0 0 0> + , <&key_physical_attrs 100 100 300 300 0 0 0> + , <&key_physical_attrs 100 100 400 312 0 0 0> + , <&key_physical_attrs 100 100 500 325 0 0 0> + , <&key_physical_attrs 100 100 700 400 0 0 0> + , <&key_physical_attrs 100 100 1050 400 0 0 0> + , <&key_physical_attrs 100 100 1250 325 0 0 0> + , <&key_physical_attrs 100 100 1350 312 0 0 0> + , <&key_physical_attrs 100 100 1450 300 0 0 0> + , <&key_physical_attrs 100 100 1550 312 0 0 0> + , <&key_physical_attrs 100 100 1650 338 0 0 0> + , <&key_physical_attrs 100 100 1750 338 0 0 0> + , <&key_physical_attrs 100 100 0 438 0 0 0> + , <&key_physical_attrs 100 100 100 438 0 0 0> + , <&key_physical_attrs 100 100 200 412 0 0 0> + , <&key_physical_attrs 100 100 300 400 0 0 0> + , <&key_physical_attrs 100 100 500 500 0 0 0> + , <&key_physical_attrs 100 200 600 400 0 0 0> + , <&key_physical_attrs 100 100 700 500 0 0 0> + , <&key_physical_attrs 100 100 1050 500 0 0 0> + , <&key_physical_attrs 100 200 1150 400 0 0 0> + , <&key_physical_attrs 100 100 1250 500 0 0 0> + , <&key_physical_attrs 100 100 1450 400 0 0 0> + , <&key_physical_attrs 100 100 1550 412 0 0 0> + , <&key_physical_attrs 100 100 1650 438 0 0 0> + , <&key_physical_attrs 100 100 1750 438 0 0 0> + ; + }; + + ergodash_physical_layout_3key_2us: ergodash_physical_layout_3key_2us { + compatible = "zmk,physical-layout"; + display-name = "LAYOUT_3key_2us"; + + kscan = <&kscan0>; + transform = <&default_transform_3key_alt>; + + keys // w h x y rot rx ry + // row0 + = <&key_physical_attrs 100 100 0 38 0 0 0> + , <&key_physical_attrs 100 100 100 38 0 0 0> + , <&key_physical_attrs 100 100 200 12 0 0 0> + , <&key_physical_attrs 100 100 300 0 0 0 0> + , <&key_physical_attrs 100 100 400 12 0 0 0> + , <&key_physical_attrs 100 100 500 25 0 0 0> + , <&key_physical_attrs 100 100 600 75 0 0 0> + , <&key_physical_attrs 100 100 1150 75 0 0 0> + , <&key_physical_attrs 100 100 1250 25 0 0 0> + , <&key_physical_attrs 100 100 1350 12 0 0 0> + , <&key_physical_attrs 100 100 1450 0 0 0 0> + , <&key_physical_attrs 100 100 1550 12 0 0 0> + , <&key_physical_attrs 100 100 1650 38 0 0 0> + , <&key_physical_attrs 100 100 1750 38 0 0 0> + // row1 + , <&key_physical_attrs 100 100 0 138 0 0 0> + , <&key_physical_attrs 100 100 100 138 0 0 0> + , <&key_physical_attrs 100 100 200 112 0 0 0> + , <&key_physical_attrs 100 100 300 100 0 0 0> + , <&key_physical_attrs 100 100 400 112 0 0 0> + , <&key_physical_attrs 100 100 500 125 0 0 0> + , <&key_physical_attrs 100 100 600 175 0 0 0> + , <&key_physical_attrs 100 100 1150 175 0 0 0> + , <&key_physical_attrs 100 100 1250 125 0 0 0> + , <&key_physical_attrs 100 100 1350 112 0 0 0> + , <&key_physical_attrs 100 100 1450 100 0 0 0> + , <&key_physical_attrs 100 100 1550 112 0 0 0> + , <&key_physical_attrs 100 100 1650 138 0 0 0> + , <&key_physical_attrs 100 100 1750 138 0 0 0> + // row2 + , <&key_physical_attrs 100 100 0 238 0 0 0> + , <&key_physical_attrs 100 100 100 238 0 0 0> + , <&key_physical_attrs 100 100 200 212 0 0 0> + , <&key_physical_attrs 100 100 300 200 0 0 0> + , <&key_physical_attrs 100 100 400 212 0 0 0> + , <&key_physical_attrs 100 100 500 225 0 0 0> + , <&key_physical_attrs 100 100 600 275 0 0 0> + , <&key_physical_attrs 100 100 1150 275 0 0 0> + , <&key_physical_attrs 100 100 1250 225 0 0 0> + , <&key_physical_attrs 100 100 1350 212 0 0 0> + , <&key_physical_attrs 100 100 1450 200 0 0 0> + , <&key_physical_attrs 100 100 1550 212 0 0 0> + , <&key_physical_attrs 100 100 1650 238 0 0 0> + , <&key_physical_attrs 100 100 1750 238 0 0 0> + // row3 + , <&key_physical_attrs 100 100 0 338 0 0 0> + , <&key_physical_attrs 100 100 100 338 0 0 0> + , <&key_physical_attrs 100 100 200 312 0 0 0> + , <&key_physical_attrs 100 100 300 300 0 0 0> + , <&key_physical_attrs 100 100 400 312 0 0 0> + , <&key_physical_attrs 100 100 500 325 0 0 0> + , <&key_physical_attrs 100 100 1250 325 0 0 0> + , <&key_physical_attrs 100 100 1350 312 0 0 0> + , <&key_physical_attrs 100 100 1450 300 0 0 0> + , <&key_physical_attrs 100 100 1550 312 0 0 0> + , <&key_physical_attrs 100 100 1650 338 0 0 0> + , <&key_physical_attrs 100 100 1750 338 0 0 0> + // row4 + , <&key_physical_attrs 100 100 0 438 0 0 0> + , <&key_physical_attrs 100 100 100 438 0 0 0> + , <&key_physical_attrs 100 100 200 412 0 0 0> + , <&key_physical_attrs 100 100 300 400 0 0 0> + , <&key_physical_attrs 100 100 500 500 0 0 0> + , <&key_physical_attrs 100 200 600 400 0 0 0> + , <&key_physical_attrs 100 200 700 400 0 0 0> + , <&key_physical_attrs 100 200 1050 400 0 0 0> + , <&key_physical_attrs 100 200 1150 400 0 0 0> + , <&key_physical_attrs 100 100 1250 500 0 0 0> + , <&key_physical_attrs 100 100 1450 400 0 0 0> + , <&key_physical_attrs 100 100 1550 412 0 0 0> + , <&key_physical_attrs 100 100 1650 438 0 0 0> + , <&key_physical_attrs 100 100 1750 438 0 0 0> + ; + }; + + ergodash_physical_layout_3key_1us: ergodash_physical_layout_3key_1us { + compatible = "zmk,physical-layout"; + display-name = "LAYOUT_3key_1us"; + + kscan = <&kscan0>; + transform = <&default_transform_3key>; + + keys // w h x y rot rx ry + = <&key_physical_attrs 100 100 0 38 0 0 0> + , <&key_physical_attrs 100 100 100 38 0 0 0> + , <&key_physical_attrs 100 100 200 12 0 0 0> + , <&key_physical_attrs 100 100 300 0 0 0 0> + , <&key_physical_attrs 100 100 400 12 0 0 0> + , <&key_physical_attrs 100 100 500 25 0 0 0> + , <&key_physical_attrs 100 100 600 75 0 0 0> + , <&key_physical_attrs 100 100 1150 75 0 0 0> + , <&key_physical_attrs 100 100 1250 25 0 0 0> + , <&key_physical_attrs 100 100 1350 12 0 0 0> + , <&key_physical_attrs 100 100 1450 0 0 0 0> + , <&key_physical_attrs 100 100 1550 12 0 0 0> + , <&key_physical_attrs 100 100 1650 38 0 0 0> + , <&key_physical_attrs 100 100 1750 38 0 0 0> + // row1 + , <&key_physical_attrs 100 100 0 138 0 0 0> + , <&key_physical_attrs 100 100 100 138 0 0 0> + , <&key_physical_attrs 100 100 200 112 0 0 0> + , <&key_physical_attrs 100 100 300 100 0 0 0> + , <&key_physical_attrs 100 100 400 112 0 0 0> + , <&key_physical_attrs 100 100 500 125 0 0 0> + , <&key_physical_attrs 100 100 600 175 0 0 0> + , <&key_physical_attrs 100 100 1150 175 0 0 0> + , <&key_physical_attrs 100 100 1250 125 0 0 0> + , <&key_physical_attrs 100 100 1350 112 0 0 0> + , <&key_physical_attrs 100 100 1450 100 0 0 0> + , <&key_physical_attrs 100 100 1550 112 0 0 0> + , <&key_physical_attrs 100 100 1650 138 0 0 0> + , <&key_physical_attrs 100 100 1750 138 0 0 0> + // row2 + , <&key_physical_attrs 100 100 0 238 0 0 0> + , <&key_physical_attrs 100 100 100 238 0 0 0> + , <&key_physical_attrs 100 100 200 212 0 0 0> + , <&key_physical_attrs 100 100 300 200 0 0 0> + , <&key_physical_attrs 100 100 400 212 0 0 0> + , <&key_physical_attrs 100 100 500 225 0 0 0> + , <&key_physical_attrs 100 100 600 275 0 0 0> + , <&key_physical_attrs 100 100 1150 275 0 0 0> + , <&key_physical_attrs 100 100 1250 225 0 0 0> + , <&key_physical_attrs 100 100 1350 212 0 0 0> + , <&key_physical_attrs 100 100 1450 200 0 0 0> + , <&key_physical_attrs 100 100 1550 212 0 0 0> + , <&key_physical_attrs 100 100 1650 238 0 0 0> + , <&key_physical_attrs 100 100 1750 238 0 0 0> + // row3 + , <&key_physical_attrs 100 100 0 338 0 0 0> + , <&key_physical_attrs 100 100 100 338 0 0 0> + , <&key_physical_attrs 100 100 200 312 0 0 0> + , <&key_physical_attrs 100 100 300 300 0 0 0> + , <&key_physical_attrs 100 100 400 312 0 0 0> + , <&key_physical_attrs 100 100 500 325 0 0 0> + , <&key_physical_attrs 100 100 600 400 0 0 0> + , <&key_physical_attrs 100 100 1150 400 0 0 0> + , <&key_physical_attrs 100 100 1250 325 0 0 0> + , <&key_physical_attrs 100 100 1350 312 0 0 0> + , <&key_physical_attrs 100 100 1450 300 0 0 0> + , <&key_physical_attrs 100 100 1550 312 0 0 0> + , <&key_physical_attrs 100 100 1650 338 0 0 0> + , <&key_physical_attrs 100 100 1750 338 0 0 0> + // row4 + , <&key_physical_attrs 100 100 0 438 0 0 0> + , <&key_physical_attrs 100 100 100 438 0 0 0> + , <&key_physical_attrs 100 100 200 412 0 0 0> + , <&key_physical_attrs 100 100 300 400 0 0 0> + , <&key_physical_attrs 100 100 500 500 0 0 0> + , <&key_physical_attrs 100 100 600 500 0 0 0> + , <&key_physical_attrs 100 100 1150 500 0 0 0> + , <&key_physical_attrs 100 100 1250 500 0 0 0> + , <&key_physical_attrs 100 100 1450 400 0 0 0> + , <&key_physical_attrs 100 100 1550 412 0 0 0> + , <&key_physical_attrs 100 100 1650 438 0 0 0> + , <&key_physical_attrs 100 100 1750 438 0 0 0> + ; + }; + + ergodash_physical_layout_2key: ergodash_physical_layout_2key { + compatible = "zmk,physical-layout"; + display-name = "LAYOUT_2key"; + + kscan = <&kscan0>; + transform = <&default_transform_2key>; + + keys // w h x y rot rx ry + = <&key_physical_attrs 100 100 0 38 0 0 0> + , <&key_physical_attrs 100 100 100 38 0 0 0> + , <&key_physical_attrs 100 100 200 12 0 0 0> + , <&key_physical_attrs 100 100 300 0 0 0 0> + , <&key_physical_attrs 100 100 400 12 0 0 0> + , <&key_physical_attrs 100 100 500 25 0 0 0> + , <&key_physical_attrs 100 100 600 75 0 0 0> + , <&key_physical_attrs 100 100 1150 75 0 0 0> + , <&key_physical_attrs 100 100 1250 25 0 0 0> + , <&key_physical_attrs 100 100 1350 12 0 0 0> + , <&key_physical_attrs 100 100 1450 0 0 0 0> + , <&key_physical_attrs 100 100 1550 12 0 0 0> + , <&key_physical_attrs 100 100 1650 38 0 0 0> + , <&key_physical_attrs 100 100 1750 38 0 0 0> + , <&key_physical_attrs 100 100 0 138 0 0 0> + , <&key_physical_attrs 100 100 100 138 0 0 0> + , <&key_physical_attrs 100 100 200 112 0 0 0> + , <&key_physical_attrs 100 100 300 100 0 0 0> + , <&key_physical_attrs 100 100 400 112 0 0 0> + , <&key_physical_attrs 100 100 500 125 0 0 0> + , <&key_physical_attrs 100 100 600 175 0 0 0> + , <&key_physical_attrs 100 100 1150 175 0 0 0> + , <&key_physical_attrs 100 100 1250 125 0 0 0> + , <&key_physical_attrs 100 100 1350 112 0 0 0> + , <&key_physical_attrs 100 100 1450 100 0 0 0> + , <&key_physical_attrs 100 100 1550 112 0 0 0> + , <&key_physical_attrs 100 100 1650 138 0 0 0> + , <&key_physical_attrs 100 100 1750 138 0 0 0> + , <&key_physical_attrs 100 100 0 238 0 0 0> + , <&key_physical_attrs 100 100 100 238 0 0 0> + , <&key_physical_attrs 100 100 200 212 0 0 0> + , <&key_physical_attrs 100 100 300 200 0 0 0> + , <&key_physical_attrs 100 100 400 212 0 0 0> + , <&key_physical_attrs 100 100 500 225 0 0 0> + , <&key_physical_attrs 100 100 600 275 0 0 0> + , <&key_physical_attrs 100 100 1150 275 0 0 0> + , <&key_physical_attrs 100 100 1250 225 0 0 0> + , <&key_physical_attrs 100 100 1350 212 0 0 0> + , <&key_physical_attrs 100 100 1450 200 0 0 0> + , <&key_physical_attrs 100 100 1550 212 0 0 0> + , <&key_physical_attrs 100 100 1650 238 0 0 0> + , <&key_physical_attrs 100 100 1750 238 0 0 0> + , <&key_physical_attrs 100 100 0 338 0 0 0> + , <&key_physical_attrs 100 100 100 338 0 0 0> + , <&key_physical_attrs 100 100 200 312 0 0 0> + , <&key_physical_attrs 100 100 300 300 0 0 0> + , <&key_physical_attrs 100 100 400 312 0 0 0> + , <&key_physical_attrs 100 100 500 325 0 0 0> + , <&key_physical_attrs 100 100 1250 325 0 0 0> + , <&key_physical_attrs 100 100 1350 312 0 0 0> + , <&key_physical_attrs 100 100 1450 300 0 0 0> + , <&key_physical_attrs 100 100 1550 312 0 0 0> + , <&key_physical_attrs 100 100 1650 338 0 0 0> + , <&key_physical_attrs 100 100 1750 338 0 0 0> + , <&key_physical_attrs 100 100 0 438 0 0 0> + , <&key_physical_attrs 100 100 100 438 0 0 0> + , <&key_physical_attrs 100 100 200 412 0 0 0> + , <&key_physical_attrs 100 100 300 400 0 0 0> + , <&key_physical_attrs 100 100 500 500 0 0 0> + , <&key_physical_attrs 100 200 600 400 0 0 0> + , <&key_physical_attrs 100 200 1150 400 0 0 0> + , <&key_physical_attrs 100 100 1250 500 0 0 0> + , <&key_physical_attrs 100 100 1450 400 0 0 0> + , <&key_physical_attrs 100 100 1550 412 0 0 0> + , <&key_physical_attrs 100 100 1650 438 0 0 0> + , <&key_physical_attrs 100 100 1750 438 0 0 0> + ; + }; +}; diff --git a/app/boards/shields/ergodash/ergodash.conf b/app/boards/shields/ergodash/ergodash.conf deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/boards/shields/ergodash/ergodash.dtsi b/app/boards/shields/ergodash/ergodash.dtsi index b6ef7fc41..bc18e320b 100644 --- a/app/boards/shields/ergodash/ergodash.dtsi +++ b/app/boards/shields/ergodash/ergodash.dtsi @@ -9,27 +9,99 @@ / { chosen { zmk,kscan = &kscan0; - zmk,matrix-transform = &default_transform; }; + + // NOTE: Thumb cluster electrical connections: + // Bellow you can find physical key positions as well as their + // corresponding switch numbers (SWxx) based on the rev 1.2 schema + // + // | SW28 1u --> SW39 1u | row 3 col 6 (this means you need to use at least one 2u key on the thumb cluster) + // | SW36 2u | SW41 2u | SW36 + SW35 are connected to row 4 col 5 + // | V | V | SW41 + SW40 is connected to row 4 col 6 + // | SW35 1u | SW40 1u | + // + + + // 4key thumb cluster layout transform default_transform: keymap_transform_0 { compatible = "zmk,matrix-transform"; columns = <14>; rows = <5>; // Numbering based on rev 1.2 schema // * keys that can be in different positions are denoted as MW -// * MW40 can be broken off // | SW1 | SW5 | SW9 | SW13 | SW17 | SW21 | SW25 | | | | SW25 | SW21 | SW17 | SW13 | SW9 | SW5 | SW1 | // | SW2 | SW6 | SW10 | SW14 | SW18 | SW22 | SW26 | | | | SW26 | SW22 | SW18 | SW14 | SW10 | SW6 | SW2 | // | SW3 | SW7 | SW11 | SW15 | SW19 | SW23 | SW27 | | | | SW27 | SW23 | SW19 | SW15 | SW11 | SW7 | SW3 | // | SW4 | SW8 | SW12 | SW16 | SW20 | SW24 | | MW28 | | MW28 | | SW24 | SW20 | SW16 | SW12 | SW8 | SW4 | // | SW30 | SW31 | SW32 | MW33 | SW34 | | MW35 | MW40 | | MW40 | MW35 | | SW34 | MW33 | SW32 | SW31 | SW30 | map = < -RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) -RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) -RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) -RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,13) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) -RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) +RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) +RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) +RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,13) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) +RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) + >; + }; + + default_transform_3key: keymap_transform_3key { + compatible = "zmk,matrix-transform"; + columns = <14>; + rows = <5>; +// Numbering based on rev 1.2 schema +// * keys that can be in different positions are denoted as MW +// | SW1 | SW5 | SW9 | SW13 | SW17 | SW21 | SW25 | | | | SW25 | SW21 | SW17 | SW13 | SW9 | SW5 | SW1 | +// | SW2 | SW6 | SW10 | SW14 | SW18 | SW22 | SW26 | | | | SW26 | SW22 | SW18 | SW14 | SW10 | SW6 | SW2 | +// | SW3 | SW7 | SW11 | SW15 | SW19 | SW23 | SW27 | | | | SW27 | SW23 | SW19 | SW15 | SW11 | SW7 | SW3 | +// | SW4 | SW8 | SW12 | SW16 | SW20 | SW24 | | MW28 | | MW28 | | SW24 | SW20 | SW16 | SW12 | SW8 | SW4 | +// | SW30 | SW31 | SW32 | MW33 | SW34 | | MW35 | | | | MW35 | | SW34 | MW33 | SW32 | SW31 | SW30 | + map = < +RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) +RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) +RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,13) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) +RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,12) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) + >; + }; + + // with 2x 2u thumb key + default_transform_3key_alt: keymap_transform_3key_alt { + compatible = "zmk,matrix-transform"; + columns = <14>; + rows = <5>; +// Numbering based on rev 1.2 schema +// * keys that can be in different positions are denoted as MW +// | SW1 | SW5 | SW9 | SW13 | SW17 | SW21 | SW25 | | | | SW25 | SW21 | SW17 | SW13 | SW9 | SW5 | SW1 | +// | SW2 | SW6 | SW10 | SW14 | SW18 | SW22 | SW26 | | | | SW26 | SW22 | SW18 | SW14 | SW10 | SW6 | SW2 | +// | SW3 | SW7 | SW11 | SW15 | SW19 | SW23 | SW27 | | | | SW27 | SW23 | SW19 | SW15 | SW11 | SW7 | SW3 | +// | SW4 | SW8 | SW12 | SW16 | SW20 | SW24 | | | | | | SW24 | SW20 | SW16 | SW12 | SW8 | SW4 | +// | SW30 | SW31 | SW32 | MW33 | SW34 | | MW35 | MW40 | | MW40 | MW35 | | SW34 | MW33 | SW32 | SW31 | SW30 | + map = < +RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) +RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) +RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) +RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,13) RC(4,12) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) + >; + }; + + default_transform_2key: keymap_transform_2key { + compatible = "zmk,matrix-transform"; + columns = <14>; + rows = <5>; +// Numbering based on rev 1.2 schema +// * keys that can be in different positions are denoted as MW +// | SW1 | SW5 | SW9 | SW13 | SW17 | SW21 | SW25 | | | | SW25 | SW21 | SW17 | SW13 | SW9 | SW5 | SW1 | +// | SW2 | SW6 | SW10 | SW14 | SW18 | SW22 | SW26 | | | | SW26 | SW22 | SW18 | SW14 | SW10 | SW6 | SW2 | +// | SW3 | SW7 | SW11 | SW15 | SW19 | SW23 | SW27 | | | | SW27 | SW23 | SW19 | SW15 | SW11 | SW7 | SW3 | +// | SW4 | SW8 | SW12 | SW16 | SW20 | SW24 | | | | | | SW24 | SW20 | SW16 | SW12 | SW8 | SW4 | +// | SW30 | SW31 | SW32 | MW33 | SW34 | | MW35 | | | | MW35 | | SW34 | MW33 | SW32 | SW31 | SW30 | + map = < +RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,13) RC(0,12) RC(0,11) RC(0,10) RC(0,9) RC(0,8) RC(0,7) +RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,13) RC(1,12) RC(1,11) RC(1,10) RC(1,9) RC(1,8) RC(1,7) +RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,13) RC(2,12) RC(2,11) RC(2,10) RC(2,9) RC(2,8) RC(2,7) +RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,12) RC(3,11) RC(3,10) RC(3,9) RC(3,8) RC(3,7) +RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,12) RC(4,11) RC(4,10) RC(4,9) RC(4,8) RC(4,7) >; }; diff --git a/app/boards/shields/ergodash/ergodash.keymap b/app/boards/shields/ergodash/ergodash.keymap index 45b712964..95fc4aca0 100644 --- a/app/boards/shields/ergodash/ergodash.keymap +++ b/app/boards/shields/ergodash/ergodash.keymap @@ -33,11 +33,11 @@ * .----------------------------------------------------------------------------------------------------------------------. */ bindings = < -&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp LBKT &kp RBKT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp PSCRN -&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp MINUS &kp EQUAL &kp Y &kp U &kp I &kp O &kp P &kp BSLH -&kp TAB &kp A &kp S &kp D &kp F &kp G &kp DEL &kp BSPC &kp H &kp J &kp K &kp L &kp SEMI &kp SQT -&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp END &kp HOME &kp N &kp M &kp COMMA &kp DOT &kp SLASH &kp RSHFT -&kp LCTRL &none &kp PG_DN &kp LMETA &kp LALT &kp SPACE &mo LOWER &mo RAISE &kp RET &kp RALT &none &kp PG_UP &kp INS &kp RCTRL +&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp LBKT &kp RBKT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp PSCRN +&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp MINUS &kp EQUAL &kp Y &kp U &kp I &kp O &kp P &kp BSLH +&kp TAB &kp A &kp S &kp D &kp F &kp G &kp DEL &kp BSPC &kp H &kp J &kp K &kp L &kp SEMI &kp SQT +&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp END &kp HOME &kp N &kp M &kp COMMA &kp DOT &kp SLASH &kp RSHFT +&kp LCTRL &studio_unlock &kp PG_DN &kp LMETA &kp LALT &kp SPACE &mo LOWER &mo RAISE &kp RET &kp RALT &none &kp PG_UP &kp INS &kp RCTRL >; }; lower_layer { @@ -58,7 +58,7 @@ &kp F11 &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &none &none &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F12 &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none -&trans &bootloader &sys_reset &none &none &none &none &none &none &none &none &none &none &trans +&trans &bootloader &sys_reset &none &none &none &none &none &none &none &none &none &none &trans &trans &none &none &trans &trans &none &trans &trans &none &trans &none &none &none &trans >; }; @@ -80,7 +80,7 @@ &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &none &bt BT_CLR &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none -&trans &none &none &none &none &none &none &none &none &none &none &bootloader &sys_reset &trans +&trans &none &none &none &none &none &none &none &none &none &none &bootloader &sys_reset &trans &trans &none &none &trans &trans &none &trans &trans &none &trans &none &none &none &trans >; }; diff --git a/app/boards/shields/ergodash/ergodash.zmk.yml b/app/boards/shields/ergodash/ergodash.zmk.yml index 376831a67..0cd2d22b7 100644 --- a/app/boards/shields/ergodash/ergodash.zmk.yml +++ b/app/boards/shields/ergodash/ergodash.zmk.yml @@ -6,6 +6,7 @@ url: https://github.com/omkbd/ErgoDash requires: [pro_micro] features: - keys + - studio siblings: - ergodash_left - ergodash_right diff --git a/app/boards/shields/ergodash/ergodash_left.overlay b/app/boards/shields/ergodash/ergodash_left.overlay index 40263aa4b..3848c7dea 100644 --- a/app/boards/shields/ergodash/ergodash_left.overlay +++ b/app/boards/shields/ergodash/ergodash_left.overlay @@ -4,5 +4,5 @@ * SPDX-License-Identifier: MIT */ +#include "ergodash-layouts.dtsi" #include "ergodash.dtsi" - diff --git a/app/boards/shields/ergodash/ergodash_right.overlay b/app/boards/shields/ergodash/ergodash_right.overlay index 07fbbb70b..f97a7fa40 100644 --- a/app/boards/shields/ergodash/ergodash_right.overlay +++ b/app/boards/shields/ergodash/ergodash_right.overlay @@ -4,6 +4,7 @@ * SPDX-License-Identifier: MIT */ +#include "ergodash-layouts.dtsi" #include "ergodash.dtsi" &default_transform {