summaryrefslogtreecommitdiff
path: root/modules/remapcapslock.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remapcapslock.nix')
-rw-r--r--modules/remapcapslock.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/remapcapslock.nix b/modules/remapcapslock.nix
new file mode 100644
index 0000000..f5daca8
--- /dev/null
+++ b/modules/remapcapslock.nix
@@ -0,0 +1,20 @@
+{ pkgs, config, ... }:
+
+{
+ services.interception-tools =
+ let
+ itools = pkgs.interception-tools;
+ itools-caps = pkgs.interception-tools-plugins.caps2esc;
+ in
+ {
+ enable = true;
+ plugins = [ itools-caps ];
+ # requires explicit paths: https://github.com/NixOS/nixpkgs/issues/126681
+ udevmonConfig = pkgs.lib.mkDefault ''
+ - JOB: "${itools}/bin/intercept -g $DEVNODE | ${itools-caps}/bin/caps2esc -m 1 | ${itools}/bin/uinput -d $DEVNODE"
+ DEVICE:
+ EVENTS:
+ EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
+ '';
+ };
+}