2026-02-03 20:15:54 -08:00
|
|
|
{ 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" = { };
|
2026-02-03 20:15:54 -08:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# 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" = { };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
};
|
|
|
|
|
}
|