zmk-config/config/boards/shields/leko_pona/leko_pona.keymap
2022-10-03 17:47:03 +02:00

76 lines
2.6 KiB
Text

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
#define HOST_OS 1
#include "../../../../zmk-nodefree-config/helper.h"
#include "../../../../zmk-nodefree-config/international_chars/swedish.dtsi"
#define L0 0
#define L1 1
#define L2 2
#define L3 3
#define TOKI 4
#define GAME 5
ZMK_UNICODE_SINGLE(multi_o, A, N6, N6, E) // multiocular o
/ {
keymap {
compatible = "zmk,keymap";
layer_0 {
bindings = <
&kp ESC &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp BACKSPACE
&kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O
&kp LCTRL &kp X &kp C &kp D &kp V &kp K &kp H &kp Z &kp Q &kp LALT
&kp SPACE &mo L1 &kp LWIN &mo L2 &kp LSHIFT &kp RET
>;
};
// numbers + symbols + non english letters
layer_1 {
bindings = <
&kp TAB &kp GRAVE &kp LBKT &kp RBKT &kp DOLLAR &none &sv_ao &sv_ae &sv_oe &kp DEL
&kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0
&trans &kp SQT &kp SLASH &kp BSLH &kp EQUAL &kp MINUS &kp SEMI &kp COMMA &kp DOT &trans
&trans &trans &trans &mo L3 &trans &trans
>;
// ' " / ? \ | = + - _ ; : , < . >
};
// F keys + navigation
layer_2 {
bindings = <
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp PG_UP &kp HOME &kp UP &kp END &kp PSCRN
&kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &kp K_CMENU
&trans &kp F11 &kp F12 &kp F13 &kp F14 &none &none &none &none &trans
&trans &mo L3 &trans &trans &trans &trans
>;
};
// media + bluetooth + future layer toggles
layer_3 {
bindings = <
&trans &none &none &tog GAME &tog TOKI &kp C_BRI_UP &kp C_PREV &kp C_NEXT &kp C_VOL_UP &trans
&none &none &none &none &none &kp C_BRI_DN &kp C_PLAY &kp C_STOP &kp C_VOL_DN &multi_o
&trans &none &bt BT_SEL 0 &bt BT_NXT &bt BT_CLR &none &none &none &none &trans
&trans &trans &trans &trans &trans &trans
>;
};
// toki pona
l_toki {
bindings = <
&trans &kp P &kp W &kp U &none &to L0 &kp E &kp S &kp J &trans
&kp N &kp L &kp I &kp A &none &none &kp O &kp T &kp M &kp K
&trans &none &kp QMARK &kp EXCL &none &none &kp DOT &kp COMMA &none &none
&trans &trans &none &none &trans &trans
>;
};
// game compatibility / half qwerty
l_game {
bindings = <
&kp ESC &kp Q &kp W &kp E &kp R &none &none &kp UP &none &kp BSPC
&kp LSHFT &kp A &kp S &kp D &kp F &none &kp LEFT &kp DOWN &kp RIGHT &none
&kp LCTRL &kp Z &kp X &kp C &kp V &none &none &none &none &none
&kp LALT &kp SPACE &to L0 &to L0 &none &kp RET
>;
};
};
};