Loading nixos/modules/hardware/wooting.nix +1 −2 Original line number Diff line number Diff line { config, lib, pkgs, ... }: { options.hardware.wooting.enable = lib.mkEnableOption ''support for Wooting keyboards. Note that users must be in the "input" group for udev rules to apply''; options.hardware.wooting.enable = lib.mkEnableOption "support for Wooting keyboards"; config = lib.mkIf config.hardware.wooting.enable { environment.systemPackages = [ pkgs.wootility ]; Loading pkgs/by-name/wo/wootility/package.nix +20 −12 Original line number Diff line number Diff line { appimageTools , fetchurl , lib , makeWrapper { appimageTools, fetchurl, lib, makeWrapper, }: let pname = "wootility"; version = "4.6.21"; version = "4.7.2"; src = fetchurl { url = "https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-lekker-linux-latest/wootility-lekker-${version}.AppImage"; sha256 = "sha256-ockTQLZWbYvsLzv+D0exD5W/yMaIdse4/JQshbkVzAU="; sha256 = "sha256-2xIiSMFyJjmjBQ6GJYtc0VbZkTadV2Ov/mXQcJ8yq2U="; }; in Loading @@ -19,8 +20,10 @@ appimageTools.wrapType2 { nativeBuildInputs = [ makeWrapper ]; extraInstallCommands = let contents = appimageTools.extract { inherit pname version src; }; in '' let contents = appimageTools.extract { inherit pname version src; }; in '' wrapProgram $out/bin/wootility \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" Loading @@ -35,7 +38,8 @@ appimageTools.wrapType2 { export LC_ALL=C.UTF-8 ''; extraPkgs = pkgs: with pkgs; ([ extraPkgs = pkgs: with pkgs; ([ xorg.libxkbfile ]); Loading @@ -44,7 +48,11 @@ appimageTools.wrapType2 { description = "Customization and management software for Wooting keyboards"; platforms = lib.platforms.linux; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ davidtwco sodiboo ]; maintainers = with lib.maintainers; [ davidtwco sodiboo returntoreality ]; mainProgram = "wootility"; }; } pkgs/by-name/wo/wooting-udev-rules/package.nix +7 −4 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ stdenv.mkDerivation rec { pname = "wooting-udev-rules"; version = "unstable-2023-03-31"; version = "0-unstable-2024-11-20"; # Source: https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/ # Source: https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules src = [ ./wooting.rules ]; dontUnpack = true; Loading @@ -14,10 +14,13 @@ stdenv.mkDerivation rec { ''; meta = with lib; { homepage = "https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/"; homepage = "https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules"; description = "udev rules that give NixOS permission to communicate with Wooting keyboards"; platforms = platforms.linux; license = "unknown"; maintainers = with maintainers; [ davidtwco ]; maintainers = with maintainers; [ davidtwco returntoreality ]; }; } pkgs/by-name/wo/wooting-udev-rules/wooting.rules +9 −90 Original line number Diff line number Diff line # Wooting One Legacy SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess" # Wooting One update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess" # Wooting Two Legacy SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess" # Wooting Two update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess" # Wooting One SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input" # Wooting One Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input" # Wooting One 2nd Alt-gamepad mode 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" # Wooting Two Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input" # Wooting Two 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input" # Wooting Lekker SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input" # Wooting Lekker Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input" # Wooting Lekker 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input" # Wooting Lekker update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="121f", MODE:="0660", GROUP="input" # Wooting Two HE SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input" # Wooting Two HE Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input" # Wooting Two HE 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input" # 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" # Wooting 60HE Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input" # Wooting 60HE 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input" # Wooting 60HE update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="130f", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="131f", MODE:="0660", GROUP="input" # Generic Wootings SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", TAG+="uaccess" Loading
nixos/modules/hardware/wooting.nix +1 −2 Original line number Diff line number Diff line { config, lib, pkgs, ... }: { options.hardware.wooting.enable = lib.mkEnableOption ''support for Wooting keyboards. Note that users must be in the "input" group for udev rules to apply''; options.hardware.wooting.enable = lib.mkEnableOption "support for Wooting keyboards"; config = lib.mkIf config.hardware.wooting.enable { environment.systemPackages = [ pkgs.wootility ]; Loading
pkgs/by-name/wo/wootility/package.nix +20 −12 Original line number Diff line number Diff line { appimageTools , fetchurl , lib , makeWrapper { appimageTools, fetchurl, lib, makeWrapper, }: let pname = "wootility"; version = "4.6.21"; version = "4.7.2"; src = fetchurl { url = "https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-lekker-linux-latest/wootility-lekker-${version}.AppImage"; sha256 = "sha256-ockTQLZWbYvsLzv+D0exD5W/yMaIdse4/JQshbkVzAU="; sha256 = "sha256-2xIiSMFyJjmjBQ6GJYtc0VbZkTadV2Ov/mXQcJ8yq2U="; }; in Loading @@ -19,8 +20,10 @@ appimageTools.wrapType2 { nativeBuildInputs = [ makeWrapper ]; extraInstallCommands = let contents = appimageTools.extract { inherit pname version src; }; in '' let contents = appimageTools.extract { inherit pname version src; }; in '' wrapProgram $out/bin/wootility \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" Loading @@ -35,7 +38,8 @@ appimageTools.wrapType2 { export LC_ALL=C.UTF-8 ''; extraPkgs = pkgs: with pkgs; ([ extraPkgs = pkgs: with pkgs; ([ xorg.libxkbfile ]); Loading @@ -44,7 +48,11 @@ appimageTools.wrapType2 { description = "Customization and management software for Wooting keyboards"; platforms = lib.platforms.linux; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ davidtwco sodiboo ]; maintainers = with lib.maintainers; [ davidtwco sodiboo returntoreality ]; mainProgram = "wootility"; }; }
pkgs/by-name/wo/wooting-udev-rules/package.nix +7 −4 Original line number Diff line number Diff line Loading @@ -2,9 +2,9 @@ stdenv.mkDerivation rec { pname = "wooting-udev-rules"; version = "unstable-2023-03-31"; version = "0-unstable-2024-11-20"; # Source: https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/ # Source: https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules src = [ ./wooting.rules ]; dontUnpack = true; Loading @@ -14,10 +14,13 @@ stdenv.mkDerivation rec { ''; meta = with lib; { homepage = "https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/"; homepage = "https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules"; description = "udev rules that give NixOS permission to communicate with Wooting keyboards"; platforms = platforms.linux; license = "unknown"; maintainers = with maintainers; [ davidtwco ]; maintainers = with maintainers; [ davidtwco returntoreality ]; }; }
pkgs/by-name/wo/wooting-udev-rules/wooting.rules +9 −90 Original line number Diff line number Diff line # Wooting One Legacy SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess" # Wooting One update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess" # Wooting Two Legacy SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess" # Wooting Two update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input" SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess" # Wooting One SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input" # Wooting One Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input" # Wooting One 2nd Alt-gamepad mode 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" # Wooting Two Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input" # Wooting Two 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input" # Wooting Lekker SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input" # Wooting Lekker Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input" # Wooting Lekker 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input" # Wooting Lekker update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="121f", MODE:="0660", GROUP="input" # Wooting Two HE SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input" # Wooting Two HE Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input" # Wooting Two HE 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input" # 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" # Wooting 60HE Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input" # Wooting 60HE 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input" # Wooting 60HE update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="130f", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) 2nd Alt-gamepad mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input" # Wooting 60HE (ARM) update mode SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="131f", MODE:="0660", GROUP="input" # Generic Wootings SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", TAG+="uaccess"