{ config, pkgs, unstable, unstable-small, lib, ... }: { options.services.keyd-qol.enable = lib.mkEnableOption "keyd service for quality-of-life improvements"; config = lib.mkIf config.services.keyd-qol.enable { services.keyd.enable = true; services.keyd.keyboards = { default = { ids = [ "*" ]; settings = { main = { capslock = "overload(control, esc)"; insert = "S-insert"; }; }; }; sun = { ids = [ # HHKB Hybrid "04fe:0021" ]; settings = { main = { control = "overload(control, esc)"; insert = "S-insert"; }; }; }; kensington_trackball = { ids = [ # Slimblade Pro "047d:80d4" # Bluetooth "047d:80d6" # 2.4Ghz "047d:80d7" # Wired ]; settings = { main = { # MIDDLE / MOUSE1 # LEFT / RIGHT middlemouse = "middlemouse"; mouse1 = "rightmouse"; leftmouse = "leftmouse"; rightmouse = "back"; }; }; }; }; }; }