75 lines
1.4 KiB
Nix
75 lines
1.4 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
nav = {
|
|
h = "left";
|
|
j = "down";
|
|
k = "up";
|
|
l = "right";
|
|
"0" = "home";
|
|
"4" = "end";
|
|
u = "pageup";
|
|
d = "pagedown";
|
|
q = "previoussong";
|
|
w = "playpause";
|
|
e = "nextsong";
|
|
};
|
|
alt = {
|
|
a = "ä";
|
|
o = "ö";
|
|
u = "ü";
|
|
s = "ß";
|
|
e = "€";
|
|
};
|
|
altShift = {
|
|
a = "Ä";
|
|
o = "Ö";
|
|
u = "Ü";
|
|
};
|
|
in
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
keyd
|
|
];
|
|
# Enable keyd and remap keys
|
|
services.keyd = {
|
|
enable = true;
|
|
keyboards.default = {
|
|
ids = [
|
|
"*"
|
|
"-04fe:0020" # HHKB
|
|
"-046d:102a" # Logitech G700s
|
|
"-046d:c07c" # Logitech G700s Rechargeable Gaming Mouse
|
|
];
|
|
settings = {
|
|
main = {
|
|
leftalt = "layer(meta)";
|
|
leftmeta = "layer(alt)";
|
|
altgr = "layer(control)";
|
|
rightalt = "layer(control)";
|
|
capslock = "layer(nav)";
|
|
};
|
|
alt = alt;
|
|
"alt+shift" = altShift;
|
|
meta = {
|
|
capslock = "overload(nav, capslock)";
|
|
};
|
|
nav = nav;
|
|
};
|
|
};
|
|
keyboards.hhkb = {
|
|
ids = [ "04fe:0020" ];
|
|
settings = {
|
|
main = {
|
|
rightmeta = "layer(control)";
|
|
leftcontrol = "layer(nav)";
|
|
};
|
|
alt = alt;
|
|
"alt+shift" = altShift;
|
|
meta = {
|
|
leftcontrol = "overload(nav, capslock)";
|
|
};
|
|
nav = nav;
|
|
};
|
|
};
|
|
};
|
|
}
|