phiboard/firmware/zmk-config/phiboard.keymap
2025-12-03 17:38:15 +01:00

119 lines
4.2 KiB
Text

/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/bt.h>
/ {
keymap {
compatible = "zmk,keymap";
base {
bindings = <
&kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
&kp ESCAPE &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp RBKT &kp BSPC
&kp LSHIFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp PERIOD &kp FSLH &kp ENTER
&mo 1 &mo 2 &kp SPACE &none &mo 3 &none
>;
};
// For the german keyboard layout
special_char {
bindings = <
&kp GRAVE &kp EQUAL &none &none &none &kp LS(N5) &kp LS(N7) &kp RA(N7) &kp RA(N0) &kp RA(RBKT)
&kp TAB &none &kp LS(N2) &kp LS(MINUS) &kp LS(N1) &none &kp LS(N6) &kp LS(N0) &kp LS(N8) &kp LS(N9) &kp BSLH &kp DEL
&kp LSHIFT &kp NUBS &kp LS(NUBS) &none &none &none &kp RA(NUBS) &kp LS(N4) &kp RA(N8) &kp RA(N9) &kp RA(MINUS) &kp ENTER
&trans &none &none &none &none &none
>;
};
num_fun {
bindings = <
&kp F9 &kp F10 &kp F11 &kp F12 &none &none &kp N7 &kp N8 &kp N9 &none
&kp TAB &kp F5 &kp F6 &kp F7 &kp F8 &none &none &kp N4 &kp N5 &kp N6 &kp RBKT &kp DEL
&kp LSHIFT &kp F1 &kp F2 &kp F3 &kp F4 &none &kp N0 &kp N1 &kp N2 &kp N3 &kp FSLH &kp ENTER
&none &trans &none &none &none &kp N0
>;
};
nav_umlaut {
bindings = <
&none &none &none &none &none &none &kp LBKT &none &kp SEMI &none
&kp TAB &kp SQT &kp MINUS &none &none &none &kp LEFT &kp DOWN &kp UP &kp RIGHT &none &kp DEL
&kp LSHIFT &none &none &none &none &none &none &none &none &none &none &kp ENTER
&none &trans &none &none &none &none
>;
};
};
combos {
compatible = "zmk,combos";
// left home row combos
combo_LSHIFT {
key-positions = <13 14>;
bindings = <&sk LSHIFT>;
timeout-ms = <50>;
slow-release;
};
combo_LCTRL {
key-positions = <12 14>;
bindings = <&sk LCTRL>;
timeout-ms = <50>;
slow-release;
};
combo_LMETA {
key-positions = <12 13>;
bindings = <&sk LMETA>;
timeout-ms = <50>;
slow-release;
};
combo_LALT {
key-positions = <11 14>;
bindings = <&sk LALT>;
timeout-ms = <50>;
slow-release;
};
// right home row combos
combo_RSHIFT {
key-positions = <17 18>;
bindings = <&sk RSHIFT>;
timeout-ms = <50>;
slow-release;
};
combo_RCTRL {
key-positions = <17 19>;
bindings = <&sk RCTRL>;
timeout-ms = <50>;
slow-release;
};
combo_RMETA {
key-positions = <18 19>;
bindings = <&sk RMETA>;
timeout-ms = <50>;
slow-release;
};
combo_RALT {
key-positions = <17 20>;
bindings = <&sk RALT>;
timeout-ms = <50>;
slow-release;
};
};
};