forza-trigger: rewrite

This commit is contained in:
2026-05-04 01:39:32 -04:00
parent 09175cd0dc
commit 6501fe2ddb
4 changed files with 366 additions and 1447 deletions

View File

@@ -10,7 +10,7 @@
# Forza emits a fixed-format UDP telemetry stream ("Data Out") at 60 Hz on a
# user-configured port. We listen on that port, parse each packet via fdp
# (nettrom/forza_motorsport, MIT), and drive the PS5 DualSense's adaptive
# triggers via pydualsense (PyPI, MIT) which talks HID over hidraw.
# triggers via dualsense-controller (PyPI, MIT) which talks HID over hidraw.
#
# Setup on the user side, once enabled here:
# - plug the DualSense in over USB and disable Steam Input for the
@@ -23,11 +23,11 @@
let
cfg = config.services.forzaTrigger;
pythonPackages = import ./python-packages.nix { inherit lib pkgs; };
inherit (pythonPackages) pydualsense fdp;
inherit (pythonPackages) dualsense-controller fdp;
forzaTrigger = pkgs.writers.writePython3Bin "forza-trigger" {
libraries = [
pydualsense
dualsense-controller
fdp
];
# The wrapped binary doesn't need style enforcement — readability of