summary refs log tree commit diff
path: root/modules/hardware/google-stadia-controller.nix
blob: 7b59e13f78328b979b62d3be1347630ee6730b81 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  lib,
  config,
  ...
}:
{
  options.hardware.google-stadia-controller = {
    enable = lib.mkEnableOption "Enable Google Stadia Controller support";
  };
  config = lib.mkIf config.hardware.google-stadia-controller.enable {
    services.udev.extraRules = ''
      #SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="users"
      # SDP protocol
      KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", MODE="0666"
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1fc9", MODE="0666"
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", MODE="0666"
      # Flashloader
      KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", MODE="0666"
      # Controller
      KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", MODE="0666"
      SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9400", MODE="0660", TAG+="uaccess"
    '';
  };
}