feat(boards): Add posix MiniVan studio tester

* New shield to easily test studio using the `native_posix_64` board.
This commit is contained in:
Peter Johanson 2024-06-20 04:57:56 +00:00
parent 01b8212d4f
commit 051deb50fe
5 changed files with 413 additions and 0 deletions

View file

@ -0,0 +1,9 @@
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
if SHIELD_MINIVAN_STUDIO_TESTER
config ZMK_KEYBOARD_NAME
default "MiniVan Tester"
endif

View file

@ -0,0 +1,9 @@
# Copyright (c) 2024 The ZMK Contributors
# SPDX-License-Identifier: MIT
config SHIELD_MINIVAN_STUDIO_TESTER
def_bool $(shields_list_contains,minivan_studio_tester)
select ZMK_STUDIO
select UART_NATIVE_POSIX_PORT_1_ENABLE
select CBPRINTF_LIBC_SUBSTS
select ZMK_STUDIO_TRANSPORT_UART

View file

@ -0,0 +1 @@
CONFIG_ZMK_STUDIO_LOCKING=n

View file

@ -0,0 +1,59 @@
/*
* Copyright (c) 2024 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#define NAV_L 1
#define NUM_L 2
#define MED_L 3
#define FUN_L 4
/ {
keymap {
compatible = "zmk,keymap";
base_layer {
display-name = "Base";
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BKSP
&gresc &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp RET
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp QUOT
&kp LGUI &kp LALT &mo NAV_L &kp LEFT_SHIFT &kp SPACE &mo NUM_L &kp LALT &kp RCTL
>;
};
nav_layer {
display-name = "Nav";
bindings = <
&trans &trans &trans &trans &trans &trans &trans &kp GRAVE &kp TILDE &trans &trans &kp DEL
&trans &trans &trans &trans &trans &trans &trans &kp LARW &kp DARW &kp UARW &kp RARW &trans
&trans &trans &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &trans
&trans &trans &trans &trans &trans &trans &trans &trans
>;
};
num_layer {
display-name = "Num";
bindings = <
&trans &trans &kp N7 &kp N8 &kp N9 &kp RBKT &trans &trans &trans &trans &trans &trans
&trans &kp MINUS &kp N4 &kp N5 &kp N6 &kp EQUAL &trans &trans &trans &trans &trans &trans
&kp PLUS &kp N1 &kp N2 &kp N3 &kp N0 &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &kp ESC &trans &trans
>;
};
med_layer {
display-name = "Sym";
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans
>;
};
};
};

View file

@ -0,0 +1,335 @@
/*
* Copyright (c) 2024 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <dt-bindings/zmk/matrix_transform.h>
#include <physical_layouts.dtsi>
&kscan {
/delete-property/ exit-after;
events = <>;
};
&uart1 { status = "okay"; };
/ {
chosen {
zmk,physical-layout = &standard_layout;
zmk,studio-rpc-uart = &uart1;
};
standard_transform: standard_transform {
compatible = "zmk,matrix-transform";
rows = <4>;
columns = <12>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0)
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(5,5) RC(5,4) RC(5,3) RC(5,2) RC(5,1) RC(5,0)
RC(6,0) RC(6,1) RC(6,3) RC(6,4) RC(6,5) RC(7,3) RC(7,2) RC(7,0)
>;
};
arrows_transform: arrows_transform {
compatible = "zmk,matrix-transform";
rows = <4>;
columns = <12>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0)
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(5,5) RC(5,4) RC(5,3) RC(5,2) RC(5,1) RC(5,0)
RC(6,0) RC(6,1) RC(6,3) RC(6,4) RC(6,5) RC(7,3) RC(7,2) RC(7,1) RC(7,0)
>;
};
southpaw_transform: southpaw_transform {
compatible = "zmk,matrix-transform";
rows = <4>;
columns = <12>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0)
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(5,5) RC(5,4) RC(5,3) RC(5,2) RC(5,1) RC(5,0)
RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5) RC(7,3) RC(7,2) RC(7,0)
>;
};
jetvan_transform: jetvan_transform {
compatible = "zmk,matrix-transform";
rows = <4>;
columns = <12>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0)
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(5,5) RC(5,4) RC(5,3) RC(5,2) RC(5,1) RC(5,0)
RC(6,0) RC(6,1) RC(6,2) RC(6,4) RC(7,3) RC(7,2) RC(7,0)
>;
};
standard_layout: standard_layout {
compatible = "zmk,physical-layout";
display-name = "Standard";
transform = <&standard_transform>;
kscan = <&kscan>;
keys
= <&key_physical_attrs 100 100 000 000 0 0 0>
, <&key_physical_attrs 100 100 100 000 0 0 0>
, <&key_physical_attrs 100 100 200 000 0 0 0>
, <&key_physical_attrs 100 100 300 000 0 0 0>
, <&key_physical_attrs 100 100 400 000 0 0 0>
, <&key_physical_attrs 100 100 500 000 0 0 0>
, <&key_physical_attrs 100 100 600 000 0 0 0>
, <&key_physical_attrs 100 100 700 000 0 0 0>
, <&key_physical_attrs 100 100 800 000 0 0 0>
, <&key_physical_attrs 100 100 900 000 0 0 0>
, <&key_physical_attrs 100 100 1000 000 0 0 0>
, <&key_physical_attrs 175 100 1100 000 0 0 0>
, <&key_physical_attrs 125 100 000 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 100 100 1025 100 0 0 0>
, <&key_physical_attrs 150 100 1125 100 0 0 0>
, <&key_physical_attrs 175 100 000 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 100 100 875 200 0 0 0>
, <&key_physical_attrs 100 100 975 200 0 0 0>
, <&key_physical_attrs 100 100 1075 200 0 0 0>
, <&key_physical_attrs 100 100 1175 200 0 0 0>
, <&key_physical_attrs 125 100 000 300 0 0 0>
, <&key_physical_attrs 150 100 125 300 0 0 0>
, <&key_physical_attrs 125 100 275 300 0 0 0>
, <&key_physical_attrs 225 100 400 300 0 0 0>
, <&key_physical_attrs 200 100 625 300 0 0 0>
, <&key_physical_attrs 125 100 825 300 0 0 0>
, <&key_physical_attrs 150 100 950 300 0 0 0>
, <&key_physical_attrs 175 100 1100 300 0 0 0>
;
};
southpaw_layout: southpaw_layout {
compatible = "zmk,physical-layout";
display-name = "Southpaw";
transform = <&southpaw_transform>;
kscan = <&kscan>;
keys
= <&key_physical_attrs 100 100 000 000 0 0 0>
, <&key_physical_attrs 100 100 100 000 0 0 0>
, <&key_physical_attrs 100 100 200 000 0 0 0>
, <&key_physical_attrs 100 100 300 000 0 0 0>
, <&key_physical_attrs 100 100 400 000 0 0 0>
, <&key_physical_attrs 100 100 500 000 0 0 0>
, <&key_physical_attrs 100 100 600 000 0 0 0>
, <&key_physical_attrs 100 100 700 000 0 0 0>
, <&key_physical_attrs 100 100 800 000 0 0 0>
, <&key_physical_attrs 100 100 900 000 0 0 0>
, <&key_physical_attrs 100 100 1000 000 0 0 0>
, <&key_physical_attrs 175 100 1100 000 0 0 0>
, <&key_physical_attrs 125 100 000 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 100 100 1025 100 0 0 0>
, <&key_physical_attrs 150 100 1125 100 0 0 0>
, <&key_physical_attrs 175 100 000 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 100 100 875 200 0 0 0>
, <&key_physical_attrs 100 100 975 200 0 0 0>
, <&key_physical_attrs 100 100 1075 200 0 0 0>
, <&key_physical_attrs 100 100 1175 200 0 0 0>
, <&key_physical_attrs 100 100 000 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 100 100 300 300 0 0 0>
, <&key_physical_attrs 225 100 400 300 0 0 0>
, <&key_physical_attrs 200 100 625 300 0 0 0>
, <&key_physical_attrs 125 100 825 300 0 0 0>
, <&key_physical_attrs 150 100 950 300 0 0 0>
, <&key_physical_attrs 175 100 1100 300 0 0 0>
;
};
arrows_layout: arrows_layout {
compatible = "zmk,physical-layout";
display-name = "Arrows";
transform = <&arrows_transform>;
kscan = <&kscan>;
keys
= <&key_physical_attrs 100 100 000 000 0 0 0>
, <&key_physical_attrs 100 100 100 000 0 0 0>
, <&key_physical_attrs 100 100 200 000 0 0 0>
, <&key_physical_attrs 100 100 300 000 0 0 0>
, <&key_physical_attrs 100 100 400 000 0 0 0>
, <&key_physical_attrs 100 100 500 000 0 0 0>
, <&key_physical_attrs 100 100 600 000 0 0 0>
, <&key_physical_attrs 100 100 700 000 0 0 0>
, <&key_physical_attrs 100 100 800 000 0 0 0>
, <&key_physical_attrs 100 100 900 000 0 0 0>
, <&key_physical_attrs 100 100 1000 000 0 0 0>
, <&key_physical_attrs 175 100 1100 000 0 0 0>
, <&key_physical_attrs 125 100 000 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 100 100 1025 100 0 0 0>
, <&key_physical_attrs 150 100 1125 100 0 0 0>
, <&key_physical_attrs 175 100 000 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 100 100 875 200 0 0 0>
, <&key_physical_attrs 100 100 975 200 0 0 0>
, <&key_physical_attrs 100 100 1075 200 0 0 0>
, <&key_physical_attrs 100 100 1175 200 0 0 0>
, <&key_physical_attrs 125 100 000 300 0 0 0>
, <&key_physical_attrs 150 100 125 300 0 0 0>
, <&key_physical_attrs 125 100 275 300 0 0 0>
, <&key_physical_attrs 225 100 400 300 0 0 0>
, <&key_physical_attrs 200 100 625 300 0 0 0>
, <&key_physical_attrs 150 100 825 300 0 0 0>
, <&key_physical_attrs 100 100 975 300 0 0 0>
, <&key_physical_attrs 100 100 1075 300 0 0 0>
, <&key_physical_attrs 100 100 1175 300 0 0 0>
;
};
jetvan_layout: jetvan_layout {
compatible = "zmk,physical-layout";
display-name = "JetVan";
transform = <&jetvan_transform>;
kscan = <&kscan>;
keys
= <&key_physical_attrs 100 100 000 000 0 0 0>
, <&key_physical_attrs 100 100 100 000 0 0 0>
, <&key_physical_attrs 100 100 200 000 0 0 0>
, <&key_physical_attrs 100 100 300 000 0 0 0>
, <&key_physical_attrs 100 100 400 000 0 0 0>
, <&key_physical_attrs 100 100 500 000 0 0 0>
, <&key_physical_attrs 100 100 600 000 0 0 0>
, <&key_physical_attrs 100 100 700 000 0 0 0>
, <&key_physical_attrs 100 100 800 000 0 0 0>
, <&key_physical_attrs 100 100 900 000 0 0 0>
, <&key_physical_attrs 100 100 1000 000 0 0 0>
, <&key_physical_attrs 175 100 1100 000 0 0 0>
, <&key_physical_attrs 125 100 000 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 100 100 1025 100 0 0 0>
, <&key_physical_attrs 150 100 1125 100 0 0 0>
, <&key_physical_attrs 175 100 000 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 100 100 875 200 0 0 0>
, <&key_physical_attrs 100 100 975 200 0 0 0>
, <&key_physical_attrs 100 100 1075 200 0 0 0>
, <&key_physical_attrs 100 100 1175 200 0 0 0>
, <&key_physical_attrs 125 100 000 300 0 0 0>
, <&key_physical_attrs 100 100 125 300 0 0 0>
, <&key_physical_attrs 125 100 225 300 0 0 0>
, <&key_physical_attrs 625 100 350 300 0 0 0>
, <&key_physical_attrs 100 100 975 300 0 0 0>
, <&key_physical_attrs 100 100 1075 300 0 0 0>
, <&key_physical_attrs 100 100 1175 300 0 0 0>
;
};
pos_map {
compatible = "zmk,physical-layout-position-map";
std {
physical-layout = <&standard_layout>;
positions
= < 36 37 38 39 40 41 42 43 >;
};
arrows {
physical-layout = <&arrows_layout>;
positions
= < 36 37 38 39 40 42 43 44 >;
};
southpaw {
physical-layout = <&southpaw_layout>;
positions
= < 36 37 38 40 41 42 43 44 >;
};
jetvan {
physical-layout = <&jetvan_layout>;
positions
= < 36 37 38 666 39 40 41 42 >;
};
};
};