nix-config/modules/default/nixos/desktop/games/ROG_Pugio_II_fixes.nix
2025-02-09 16:49:24 +01:00

37 lines
1.5 KiB
Nix

{ lib, config, pkgs, ... }:
lib.mkIf config.desktop.enable {
services.udev.extraRules = ''
# Disable mouse as gamepad
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1906", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1908", RUN+="/bin/sh -c 'chmod 000 /dev/input/by-id/usb-ASUSTeK_ROG_PUGIO_II-if03-event-joystick'"
'';
services.ratbagd = {
enable = true;
package = pkgs.libratbag.overrideAttrs (previousAttrs: {
postInstall = ''
# Ensure the target directory exists
mkdir -p $out/share/libratbag/
# cat the custom configuration file
cat << EOF > $out/share/libratbag/asus-rog-pugio-II.device
[Device]
Name=ASUS ROG Pugio II
DeviceMatch=usb:0b05:1906;usb:0b05:1908
Driver=asus
[Driver/asus]
Profiles=3
Buttons=10
Leds=3
Dpis=4
Wireless=1
DpiRange=100:16000@100
ButtonMapping=f0;f1;f2;e4;e5;e6;0;e8;e9;e1;e2
EOF
'';
});
};
}