From 519d8cf92da9b6a2aec0205b3428982512868b15 Mon Sep 17 00:00:00 2001 From: Joshua Trees Date: Tue, 4 Jul 2023 21:27:57 +0200 Subject: [PATCH 1/2] wooting: update udev rules --- .../linux/wooting-udev-rules/default.nix | 6 +++--- .../linux/wooting-udev-rules/wooting.rules | 14 +++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/wooting-udev-rules/default.nix b/pkgs/os-specific/linux/wooting-udev-rules/default.nix index f34e106727c1..8231e3e3ea33 100644 --- a/pkgs/os-specific/linux/wooting-udev-rules/default.nix +++ b/pkgs/os-specific/linux/wooting-udev-rules/default.nix @@ -2,9 +2,9 @@ stdenv.mkDerivation rec { pname = "wooting-udev-rules"; - version = "20210525"; + version = "unstable-2023-03-31"; - # Source: https://wooting.helpscoutdocs.com/article/68-wootility-configuring-device-access-for-wootility-under-linux-udev-rules + # Source: https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/ src = [ ./wooting.rules ]; dontUnpack = true; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "https://wooting.helpscoutdocs.com/article/34-linux-udev-rules"; + homepage = "https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/"; description = "udev rules that give NixOS permission to communicate with Wooting keyboards"; platforms = platforms.linux; license = "unknown"; diff --git a/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules b/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules index a243f68ed133..365627fa1aec 100644 --- a/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules +++ b/pkgs/os-specific/linux/wooting-udev-rules/wooting.rules @@ -20,7 +20,6 @@ SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660 SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input" - # Wooting Two SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input" @@ -57,6 +56,19 @@ SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660 # Wooting Two HE update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="122f", MODE:="0660", GROUP="input" +# Wooting Two HE (ARM) +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1230", MODE:="0660", GROUP="input" +SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1230", MODE:="0660", GROUP="input" +# Wooting Two HE Alt-gamepad mode +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1231", MODE:="0660", GROUP="input" +SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1231", MODE:="0660", GROUP="input" +# Wooting Two HE 2nd Alt-gamepad mode +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1232", MODE:="0660", GROUP="input" +SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1232", MODE:="0660", GROUP="input" + +# Wooting Two HE (ARM) update mode +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="123f", MODE:="0660", GROUP="input" + # Wooting 60HE SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input" From 12ad49a130d7f7be7b832fddce93d37ee4460ddb Mon Sep 17 00:00:00 2001 From: Joshua Trees Date: Tue, 4 Jul 2023 21:28:49 +0200 Subject: [PATCH 2/2] wooting: clarify requirements for hardware option to work --- nixos/modules/hardware/wooting.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/hardware/wooting.nix b/nixos/modules/hardware/wooting.nix index 90d046d49f4e..78bbcb61aca7 100644 --- a/nixos/modules/hardware/wooting.nix +++ b/nixos/modules/hardware/wooting.nix @@ -2,8 +2,8 @@ with lib; { - options.hardware.wooting.enable = - mkEnableOption (lib.mdDoc "support for Wooting keyboards"); + options.hardware.wooting.enable = mkEnableOption (lib.mdDoc ''support for Wooting keyboards. + Note that users must be in the "input" group for udev rules to apply''); config = mkIf config.hardware.wooting.enable { environment.systemPackages = [ pkgs.wootility ];