stockholm/makefu/1systems/x/x13/input.nix
2021-03-12 20:12:56 +01:00

47 lines
1.7 KiB
Nix

{ pkgs, lib, ... }:
{
# current issues:
# 1. for pressing insert hold shift+fn+Fin
# scroll by holding middle mouse
services.xserver.displayManager.sessionCommands =''
xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Button" 8 2
xinput set-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
# configure timeout of pressing and holding middle button
# xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
xinput disable 'ETPS/2 Elantech Touchpad'
'';
boot.kernelParams = [
#"psmouse.proto=imps"
#"psmouse.proto=bare"
#"psmouse.resetafter=0"
"psmouse.synaptics_intertouch=1" # echo 1 > /sys/devices/platform/i8042/serio1/reg_07
];
programs.light.enable = true;
services.actkbd = {
enable = true;
bindings = [
{ keys = [ 225 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -A 10"; } # fn - F5
{ keys = [ 224 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -U 10"; } # fn - F6
# fn - 4 => suspend
# fn - d => lcdshadow
{ keys = [ 227 ]; events = [ "key" ]; command = builtins.toString ( # fn - F7
pkgs.writers.writeDash "toggle_touchpad" ''
PATH=${lib.makeBinPath [ pkgs.xorg.xinput pkgs.gnugrep ]}
DISPLAY=:0
export DISPLAY PATH
device=$(xinput list --name-only | grep Touchpad)
if [ "$(xinput list-props "$device" | grep -P ".*Device Enabled.*\K.(?=$)" -o)" -eq 1 ];then
xinput disable "$device"
else
xinput enable "$device"
fi
'');
}
];
};
}