47 lines
1.7 KiB
Nix
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
|
|
'');
|
|
}
|
|
];
|
|
};
|
|
}
|