{ 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)"; }; # Hyper = Ctrl+Alt+Meta while held (matches $hyper = SUPER CTRL ALT) "hyper:C-A-M" = { }; }; }; # MoErgo Glove80: only map Right Meta/Super to Hyper. keyboards.moErgo = { ids = [ "16c0:27db" ]; settings = { main = { rightmeta = "layer(hyper)"; }; # Hyper = Ctrl+Alt+Meta while held (matches $hyper = SUPER CTRL ALT) "hyper:C-A-M" = { }; }; }; }; }