Files
dotfiles/nixos/keyd.nix

40 lines
1.0 KiB
Nix
Raw Normal View History

{ config, lib, makeEnable, ... }:
makeEnable config "myModules.keyd" true {
services.keyd = {
enable = true;
# Base remap applied to all keyboards.
keyboards.default = {
# Exclude the Glove80 (MoErgo) by vendor:product ID.
ids = [ "*" "-16c0:27db" ];
settings = {
main = {
# Caps Lock -> Control
capslock = "leftcontrol";
# Swap Left Alt and Left Super
leftalt = "leftmeta";
leftmeta = "leftalt";
# Right Alt -> Hyper chord
rightalt = "layer(hyper)";
};
2026-02-03 20:36:58 -08:00
# Hyper = Ctrl+Alt+Meta while held (matches $hyper = SUPER CTRL ALT)
"hyper:C-A-M" = { };
};
};
# TODO: Add per-keyboard overrides here once device IDs are known.
# Example:
# keyboards.externalKinesis = {
# ids = [ "1ea7:0907" ];
# settings = {
# main = {
# leftalt = "leftmeta";
# leftmeta = "leftalt";
# rightalt = "layer(hyper)";
# };
# "hyper:C-A-M-S" = { };
# };
# };
};
}