mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 17:17:22 +01:00
29 lines
821 B
Nix
29 lines
821 B
Nix
{ pkgs, ... }:
|
|
{
|
|
# Make CAPS work as a dual function ESC/CTRL key
|
|
services.interception-tools = {
|
|
enable = true;
|
|
udevmonConfig =
|
|
let
|
|
dualFunctionKeysConfig = builtins.toFile "dual-function-keys.yaml" ''
|
|
TIMING:
|
|
TAP_MILLISEC: 200
|
|
DOUBLE_TAP_MILLISEC: 0
|
|
|
|
MAPPINGS:
|
|
- KEY: KEY_CAPSLOCK
|
|
TAP: KEY_ESC
|
|
HOLD: KEY_LEFTCTRL
|
|
'';
|
|
in
|
|
''
|
|
- JOB: |
|
|
${pkgs.interception-tools}/bin/intercept -g $DEVNODE \
|
|
| ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dualFunctionKeysConfig} \
|
|
| ${pkgs.interception-tools}/bin/uinput -d $DEVNODE
|
|
DEVICE:
|
|
EVENTS:
|
|
EV_KEY: [KEY_CAPSLOCK]
|
|
'';
|
|
};
|
|
}
|