/*
 * Copyright (c) 2025 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */

#include <physical_layouts.dtsi>

// The tester might not have any physical keys at all, so these
// physical layouts are pretty much imaginary.

/ {
    tester_position_map {
        compatible = "zmk,physical-layout-position-map";
        complete;

        pinout_map: pinout_positions {
            physical-layout = <&physical_layout0>;
            positions = <0 1 2 3 4 5 6 7 8 9 10>;
        };
        inline_map: single_row_positions {
            physical-layout = <&physical_layout1>;
            positions = <0 1 2 3 4 5 6 7 8 9 10>;
        };
    };

    physical_layout0: physical_layout_0 {
        compatible = "zmk,physical-layout";
        display-name = "XIAO Pinout";

        // Map key positions to the XIAO pinout.
        keys  //                     w   h    x    y    rot   rx   ry
            = <&key_physical_attrs 100 100    0    0      0    0    0>
            , <&key_physical_attrs 100 100    0  100      0    0    0>
            , <&key_physical_attrs 100 100    0  200      0    0    0>
            , <&key_physical_attrs 100 100    0  300      0    0    0>
            , <&key_physical_attrs 100 100    0  400      0    0    0>
            , <&key_physical_attrs 100 100    0  500      0    0    0>
            , <&key_physical_attrs 100 100    0  600      0    0    0>
            , <&key_physical_attrs 100 100  600  600      0    0    0>
            , <&key_physical_attrs 100 100  600  500      0    0    0>
            , <&key_physical_attrs 100 100  600  400      0    0    0>
            , <&key_physical_attrs 100 100  600  300      0    0    0>
            ;
    };

    physical_layout1: physical_layout_1 {
        compatible = "zmk,physical-layout";
        display-name = "Single Row";

        // Single row of eleven "keys".
        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 100 100  900    0      0    0    0>
            , <&key_physical_attrs 100 100 1000    0      0    0    0>
            ;
    };
};
