modules/shared/nixos/default.nix: refactor keyd

Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
2025-06-19 16:46:45 +03:00
parent 47c88ecf63
commit 5526b559cf

View File

@ -45,17 +45,25 @@ in {
internal = {
ids = ["0001:0001" "048d:c101"];
settings.main = let
idleTimeout = toString 200;
holdTimeout = toString 150;
# finger = mod;
pinky = "alt";
ring = "meta";
middle = "control";
index = "shift";
# timeouts
idle = "200";
hold = "150";
# function takes finger and letter
homeRowMod = f: l: "lettermod(${f}, ${l}, ${idle}, ${hold})";
in {
a = "lettermod(alt, a, ${idleTimeout}, ${holdTimeout})";
s = "lettermod(meta, s, ${idleTimeout}, ${holdTimeout})";
d = "lettermod(control, d, ${idleTimeout}, ${holdTimeout})";
f = "lettermod(shift, f, ${idleTimeout}, ${holdTimeout})";
j = "lettermod(shift, j, ${idleTimeout}, ${holdTimeout})";
k = "lettermod(control, k, ${idleTimeout}, ${holdTimeout})";
l = "lettermod(meta, l, ${idleTimeout}, ${holdTimeout})";
";" = "lettermod(alt, ;, ${idleTimeout}, ${holdTimeout})";
"a" = homeRowMod pinky "a";
"s" = homeRowMod ring "s";
"d" = homeRowMod middle "d";
"f" = homeRowMod index "f";
"j" = homeRowMod index "j";
"k" = homeRowMod middle "k";
"l" = homeRowMod ring "l";
";" = homeRowMod pinky ";";
};
};
};