phiboard/firmware/zmk-config/phiboard.keymap
2025-07-22 03:03:01 +02:00

105 lines
3.1 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>
#define QUICK_TAP_MS 125
#define TAPPING_TERM_MS 150
#define SLOW_TAPPING_TERM_MS 350
#define IDLE_TIMEOUT_MS 5000
#define REQ_IDLE_MS 150
&lt {
// Layer toggle
flavor = "tap-preferred";
tapping-term-ms = <TAPPING_TERM_MS>;
quick-tap-ms = <QUICK_TAP_MS>;
};
&sk {
// Sticky keys settings, One Shot Keys [QMK]
release-after-ms = <IDLE_TIMEOUT_MS>;
quick-release;
};
&caps_word {
// Allow caps word to continue even when minus or underscore are pressed.
// Also prevent mod presses from cancelling caps word.
continue-list = <
UNDERSCORE MINUS
LCTRL LALT LGUI LSHFT
RCTRL RALT RGUI RSHFT
BACKSPACE
>;
/delete-property/ ignore-modifiers;
};
/ {
behaviors {
hml: homerow_mods_left {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_MODS_LEFT_HAND";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <TAPPING_TERM_MS>;
quick-tap-ms = <QUICK_TAP_MS>;
flavor = "balanced";
require-prior-idle-ms = <REQ_IDLE_MS>;
hold-trigger-key-positions = <5 6 7 8 9 19 18 17 16 15 34 25 26 35 27 28 29 37 36>;
hold-trigger-on-release;
};
hmr: homerow_mods_right {
compatible = "zmk,behavior-hold-tap";
label = "HOMEROW_MODS_RIGHT_HAND";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <TAPPING_TERM_MS>;
quick-tap-ms = <QUICK_TAP_MS>;
require-prior-idle-ms = <REQ_IDLE_MS>;
hold-trigger-key-positions = <0 1 2 3 4 14 13 12 11 10 11 12 13 14 20 21 22 23 24 30 31 32 33>;
flavor = "balanced";
hold-trigger-on-release;
};
ss_cw: shift_capsword {
compatible = "zmk,behavior-tap-dance";
label = "SHIFT_CAPSWORD";
#binding-cells = <0>;
bindings = <&sk LEFT_SHIFT>, <&caps_word>;
tapping-term-ms = <SLOW_TAPPING_TERM_MS>;
};
cln_scln_td: cln_scln_td {
compatible = "zmk,behavior-tap-dance";
label = "CLN_SCLN_TD";
#binding-cells = <0>;
bindings = <&kp COLON>, <&kp SEMICOLON>;
};
};
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 &trans &kp ENTER
&kp LSHIFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &trans &trans &trans &kp RCTRL
&bt BT_CLR_ALL &out OUT_TOG &kp SPACE &kp ENTER &kp BSPC &kp DEL
>;
};
};
};