mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-19 17:39:34 +00:00
Merge pull request #146123 from thiagokokada/libinput-module-fixes
This commit is contained in:
commit
4f0e1c04eb
|
@ -13,7 +13,7 @@ let cfg = config.services.xserver.libinput;
|
|||
example = "/dev/input/event0";
|
||||
description =
|
||||
''
|
||||
Path for ${deviceType} device. Set to null to apply to any
|
||||
Path for ${deviceType} device. Set to <literal>null</literal> to apply to any
|
||||
auto-detected ${deviceType}.
|
||||
'';
|
||||
};
|
||||
|
@ -24,8 +24,8 @@ let cfg = config.services.xserver.libinput;
|
|||
example = "flat";
|
||||
description =
|
||||
''
|
||||
Sets the pointer acceleration profile to the given profile.
|
||||
Permitted values are adaptive, flat.
|
||||
Sets the pointer acceleration profile to the given profile.
|
||||
Permitted values are <literal>adaptive</literal>, <literal>flat</literal>.
|
||||
Not all devices support this option or all profiles.
|
||||
If a profile is unsupported, the default profile for this is used.
|
||||
<literal>flat</literal>: Pointer motion is accelerated by a constant
|
||||
|
@ -38,12 +38,14 @@ let cfg = config.services.xserver.libinput;
|
|||
accelSpeed = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "-0.5";
|
||||
description = "Cursor acceleration (how fast speed increases from minSpeed to maxSpeed).";
|
||||
};
|
||||
|
||||
buttonMapping = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "1 6 3 4 5 0 7";
|
||||
description =
|
||||
''
|
||||
Sets the logical button mapping for this device, see XSetPointerMapping(3). The string must
|
||||
|
@ -58,9 +60,10 @@ let cfg = config.services.xserver.libinput;
|
|||
calibrationMatrix = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "0.5 0 0 0 0.8 0.1 0 0 1";
|
||||
description =
|
||||
''
|
||||
A string of 9 space-separated floating point numbers. Sets the calibration matrix to the
|
||||
A string of 9 space-separated floating point numbers. Sets the calibration matrix to the
|
||||
3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).
|
||||
'';
|
||||
};
|
||||
|
@ -68,6 +71,7 @@ let cfg = config.services.xserver.libinput;
|
|||
clickMethod = mkOption {
|
||||
type = types.nullOr (types.enum [ "none" "buttonareas" "clickfinger" ]);
|
||||
default = null;
|
||||
example = "buttonareas";
|
||||
description =
|
||||
''
|
||||
Enables a click method. Permitted values are <literal>none</literal>,
|
||||
|
@ -166,8 +170,9 @@ let cfg = config.services.xserver.libinput;
|
|||
transformationMatrix = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "0.5 0 0 0 0.8 0.1 0 0 1";
|
||||
description = ''
|
||||
A string of 9 space-separated floating point numbers. Sets the transformation matrix to
|
||||
A string of 9 space-separated floating point numbers. Sets the transformation matrix to
|
||||
the 3x3 matrix where the first row is (abc), the second row is (def) and the third row is (ghi).
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -228,9 +228,10 @@ in
|
|||
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
|
||||
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
||||
leaps = handleTest ./leaps.nix {};
|
||||
libinput = handleTest ./libinput.nix {};
|
||||
libreddit = handleTest ./libreddit.nix {};
|
||||
lidarr = handleTest ./lidarr.nix {};
|
||||
libreswan = handleTest ./libreswan.nix {};
|
||||
lidarr = handleTest ./lidarr.nix {};
|
||||
lightdm = handleTest ./lightdm.nix {};
|
||||
limesurvey = handleTest ./limesurvey.nix {};
|
||||
litestream = handleTest ./litestream.nix {};
|
||||
|
|
38
nixos/tests/libinput.nix
Normal file
38
nixos/tests/libinput.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
import ./make-test-python.nix ({ ... }:
|
||||
|
||||
{
|
||||
name = "libinput";
|
||||
|
||||
machine = { ... }:
|
||||
{
|
||||
imports = [
|
||||
./common/x11.nix
|
||||
./common/user-account.nix
|
||||
];
|
||||
|
||||
test-support.displayManager.auto.user = "alice";
|
||||
|
||||
services.xserver.libinput = {
|
||||
enable = true;
|
||||
mouse = {
|
||||
naturalScrolling = true;
|
||||
leftHanded = true;
|
||||
middleEmulation = false;
|
||||
horizontalScrolling = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def expect_xserver_option(option, value):
|
||||
machine.succeed(f"""cat /var/log/X.0.log | grep -F 'Option "{option}" "{value}"'""")
|
||||
|
||||
machine.start()
|
||||
machine.wait_for_x()
|
||||
machine.succeed("""cat /var/log/X.0.log | grep -F "Using input driver 'libinput'" """)
|
||||
expect_xserver_option("NaturalScrolling", "on")
|
||||
expect_xserver_option("LeftHanded", "on")
|
||||
expect_xserver_option("MiddleEmulation", "off")
|
||||
expect_xserver_option("HorizontalScrolling", "off")
|
||||
'';
|
||||
})
|
|
@ -3,6 +3,7 @@
|
|||
, documentationSupport ? false, doxygen, graphviz # Documentation
|
||||
, eventGUISupport ? false, cairo, glib, gtk3 # GUI event viewer support
|
||||
, testsSupport ? false, check, valgrind, python3
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -76,6 +77,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
|
||||
passthru.tests = {
|
||||
libinput-module = nixosTests.libinput;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
|
||||
homepage = "https://www.freedesktop.org/wiki/Software/libinput/";
|
||||
|
|
Loading…
Reference in a new issue