trackpoint: Add emulateWheel option

This commit is contained in:
Jascha Geerds 2014-08-13 12:10:52 +02:00
parent 7bd3921cf9
commit 6aa3888d97

View File

@ -36,6 +36,14 @@ with lib;
configures 97.
'';
};
emulateWheel = mkOption {
default = false;
type = types.bool;
description = ''
Enable scrolling while holding the middle mouse button.
'';
};
};
@ -44,17 +52,33 @@ with lib;
###### implementation
config = mkIf config.hardware.trackpoint.enable {
services.udev.extraRules =
''
ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}"
'';
system.activationScripts.trackpoint =
config = mkMerge [
(mkIf config.hardware.trackpoint.enable {
services.udev.extraRules =
''
${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint"
ACTION=="add|change", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/speed}="${toString config.hardware.trackpoint.speed}", ATTR{device/sensitivity}="${toString config.hardware.trackpoint.sensitivity}"
'';
};
system.activationScripts.trackpoint =
''
${config.systemd.package}/bin/udevadm trigger --attr-match=name="TPPS/2 IBM TrackPoint"
'';
})
(mkIf config.hardware.trackpoint.emulateWheel {
services.xserver.config =
''
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
'';
})
];
}