add keyd remap
This commit is contained in:
parent
65f937475b
commit
e95cb2023e
1 changed files with 26 additions and 2 deletions
|
|
@ -16,16 +16,34 @@ let
|
||||||
# Keyboard is disabled, enable it
|
# Keyboard is disabled, enable it
|
||||||
sudo kill $(cat "$PID_FILE")
|
sudo kill $(cat "$PID_FILE")
|
||||||
rm -f "$PID_FILE"
|
rm -f "$PID_FILE"
|
||||||
echo "✓ Built-in keyboard enabled"
|
sudo systemctl start keyd
|
||||||
|
echo "✓ Built-in keyboard enabled (keyd active)"
|
||||||
else
|
else
|
||||||
# Keyboard is enabled, disable it by grabbing the device
|
# Keyboard is enabled, disable it by grabbing the device
|
||||||
|
sudo systemctl stop keyd
|
||||||
sudo ${pkgs.evtest}/bin/evtest --grab /dev/input/$EVENT_DEVICE > /dev/null 2>&1 &
|
sudo ${pkgs.evtest}/bin/evtest --grab /dev/input/$EVENT_DEVICE > /dev/null 2>&1 &
|
||||||
echo $! > "$PID_FILE"
|
echo $! > "$PID_FILE"
|
||||||
echo "✓ Built-in keyboard disabled"
|
echo "✓ Built-in keyboard disabled (keyd stopped)"
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
# Configure keyd for key remapping on the built-in keyboard
|
||||||
|
services.keyd = {
|
||||||
|
enable = true;
|
||||||
|
keyboards = {
|
||||||
|
internal = {
|
||||||
|
ids = [ "*" ];
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
capslock = "leftcontrol";
|
||||||
|
leftalt = "leftmeta";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Add the script and required tools to system packages
|
# Add the script and required tools to system packages
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
keyboard-toggle
|
keyboard-toggle
|
||||||
|
|
@ -47,6 +65,12 @@ in
|
||||||
} {
|
} {
|
||||||
command = "${pkgs.coreutils}/bin/kill";
|
command = "${pkgs.coreutils}/bin/kill";
|
||||||
options = [ "NOPASSWD" ];
|
options = [ "NOPASSWD" ];
|
||||||
|
} {
|
||||||
|
command = "${pkgs.systemd}/bin/systemctl start keyd";
|
||||||
|
options = [ "NOPASSWD" ];
|
||||||
|
} {
|
||||||
|
command = "${pkgs.systemd}/bin/systemctl stop keyd";
|
||||||
|
options = [ "NOPASSWD" ];
|
||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue