Dualsenseclient

DualSenseClient DualSenseClient
Dépôt créer le : 05/11/2025
Forks: 3 Watcher: 0 8
Choisir une liste...
FR

Client DualSense

Client non officiel DualSense pour Windows et Linux
Personnalisez et surveillez votre contrôleur PS5 DualSense : éclairage, profils, surveillance d'entrée, ronflement, déclencheurs adaptatifs et audio sur l'enceinte et les haptiques du contrôleur. .

Platform License Build Status

Documentation Stable Release Nightly Release

Github Sponsors Ko-fi

Aperçu général

Client DualSenseest un outil de gestion open-source pourContrôleur PlayStation 5 DualSensesous Windows et Linux. Il fournit la barre de lumière et le contrôle LED, la gestion du profil, la surveillance en temps réel des entrées, la sortie de déclenchement rouble et adaptative, et la lecture audio à l'enceinte du contrôleur et les haptiques. Il peut également créer des contrôleurs virtuels (Xbox 360, DualShock 4, ou DualSense) via le moteur libVIIPER intégré, et masquer les contrôleurs physiques d'autres applications via HidHide. Construit avec .NET 10 et Avalonia, il se connecte par USB ou Bluetooth via HIDAPI sans pilote nécessaire.

Contrôleurs soutenus

Contrôleurs pris en charge Notes * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DualSense (USB) DualSense (Bluetooth) DualSense Edge (en anglais seulement)

1. Implémenté mais non encore vérifié sur le matériel réel — aucun dispositif Edge n'était disponible pendant le développement.

Caractéristiques

Contrôle de la lumière

  • Contrôle complet de la barre d'éclairage RGB avec sélectionneur de couleurs, curseurs, préréglages et réinitialisation
  • Contrôle LED du lecteur (comprimés individuels pour les cinq LED)
  • Configuration du microphone LED (arrêt / arrêt / impulsion)

Gestion du profil

  • Créer, renommer, dupliquer et supprimer les profils du contrôleur
  • Profils de reliure à des contrôleurs spécifiques par adresse MAC (avec retour du chemin du périphérique)
  • Les profils sont appliqués automatiquement lors de la connexion, avec une option de réapplication manuelle
  • Enregistrer l'état lumineux actuel du contrôleur sélectionné comme un profil

Surveillance en temps réel

  • Surveillance de l'entrée en direct : tous les boutons, bâtons, déclencheurs, capteurs de mouvement (graphiques de gyro/accéléromètre) et touchpad
  • Détection du type de connexion (USB / Bluetooth)
  • Prise en charge de plusieurs contrôleurs avec un sélecteur de contrôleur dans la fenêtre

Contrôle de sortie

  • Essai de sortie du tambour avec résistance indépendante du moteur gauche/droit
  • Modes de déclenchement adaptatifs pour L2/R2 (résistance, trigger, automatique) avec force, fréquence, démarrage et réglages de fin

Audio

  • Lire les fichiers audio sur les haut-parleurs de bureau, le haut-parleur DualSense ou les haptiques de contrôleur, chacun indépendamment
  • Haptiques codés par opus sur Bluetooth, audio USB sur le terminal audio du contrôleur
  • Volume du haut-parleur et curseurs de résistance haptique avec contrôles de transport

Informations sur le périphérique

  • Niveau de batterie avec état de puissance (charge, décharge, etc.)
  • Version firmware (main, SBL, DSP) et révision du modèle avec mise à jour manuelle
  • État de la connexion: casque/mic jacked in, microphone muted, données USB et puissance

Paramètres

  • Sélection de thèmes (Système / Lumière / Dark)
  • Sélection des langues (anglais actuellement; langues supplémentaires soutenues par le cadre de localisation)
  • Niveau d'enregistrement configurable avec console et enregistrement de fichiers en rotation de date

Emulation du contrôleur virtuel

  • Créer un virtuelXbox 360,Double choc 4ouDualSense(Standard ou Edge) contrôleur qui reflète l'entrée du contrôleur physique, avec rouble, barre de lumière, et la rétroaction de déclenchement transmise retour
  • Paramètres d'émulation par contrôleur appliqués sur la connexion, réglables à partir de la page de l'appareil ou du menu plateau
  • La sortie DualSense expose les haptiques, les déclencheurs adaptatifs et les interfaces audio à l'hôte; l'audio hôte peut être transmis au haut-parleur ou casque du contrôleur physique avec des commandes de volume et de force haptique
  • Propulsé par le faisceaulibVIIPERmoteur, qui nécessite uniquement le pilote USBIP sur le système hôte

Cacher le contrôleur

  • Cacher un contrôleur physique à partir d'autres applications avec un toggle par-contrôleur, empêcher la double entrée dans les jeux
  • L'application whitelists elle-même donc il continue à voir le contrôleur caché
  • NécessiteCache-cachepilote sur Windows

Commencer

Préalables

  • Windows 10 ou supérieuravec.NET 10 Desktop Runtimeinstallé (la construction de Windows est dépendante du framework)
  • Linux— pas d'installation .NET requise (construction autonome)
  • PlayStation 5 contrôleur DualSense(connection USB ou Bluetooth)
  • Cache-cache(facultatif, Windows seulement) — pilote pour cacher les contrôleurs physiques d'autres applications; voirnefarius/HidHide
  • USB/IP(optionnel, émulation de contrôleur virtuel seulement) — libVIIPER est livré avec l'application; il n'a besoin que du pilote USB/IP pour fixer des périphériques virtuels:
    • Windows & #160;:usbip-win2
    • Linux : installerusbip(Archsudo pacman -S usbip; Ubuntu/Debian :sudo apt install linux-tools-generic)

Installation

Windows

  1. TéléchargerDualSenseClient.zipdesreleases page
  2. Extraire l'archive à votre emplacement préféré et exécuterDualSenseClient.exe
  3. Connectez votre contrôleur DualSense et commencez à personnaliser

Linux

  1. TéléchargerDualSenseClient-linux.zipou lesDualSenseClient.AppImagedesreleases page
  2. Pour le zip: extraire et faire fonctionner leDualSenseClientbinaire. Pour l'AppImage: marquez-le exécutable et lancez-le
  3. Pour accéder au contrôleur sans root, installez une règle udev basée sur le officielhidapi udev rules. Pour le DualSense (VID054c), dépose un fichier comme70-dualsense.rulesdans/etc/udev/rules.d/:
# HIDAPI/libusb
SUBSYSTEMS=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", TAG+="uaccess"

# HIDAPI/hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", TAG+="uaccess"

Ensuite, rebranchez le contrôleur ou exécutez:

sudo udevadm control --reload-rules && sudo udevadm trigger

Bâtiment de source

dotnet restore
dotnet build
dotnet test

Nécessite le SDK .NET 10. Les versions sont produites automatiquement par CI pour Windows (zip) et Linux (zip et AppImage).

Dépannage

  • Contrôleur non détecté: Assurez-vous d'avoir le dernier firmware DualSense et essayez USB au lieu de Bluetooth
  • Contrôleur non détecté sur Linux: Vérifiez que la règle udev est installée (voirhidapi udev rulesréférence ci-dessus), ou exécuter l'application avec des privilèges élevés
  • Problèmes de connexion Bluetooth: Redémarrez le service Bluetooth ou recoupez le contrôleur à travers les paramètres de votre système
  • Missing .NET runtime sur Windows: Installez le .NET 10 Desktop Runtime requis à partir du site Web de Microsoft
  • Le contrôleur virtuel n'apparaît pas: Installez le pilote USB/IP (Windows :usbip-win2; Linux :sudo pacman -S usbipousudo apt install linux-tools-generic) et redémarrez l'application
  • Un jeu reçoit une double entrée: Installez le pilote HidHide et activez le cache pour le contrôleur physique sur sa page de périphérique

Crédits

Bibliothèques

  • Avalonia— Cadre d'interface utilisateur .NET
  • Fluent Avalonia— Système de conception fluide pour Avalonia
  • CommunityToolkit.Mvvm— Cadre MVVM avec générateurs sources
  • Microsoft.Extensions.DependencyInjection— Récipient d'injection de dépendance
  • Fluent Icons— Jeu d'icônes fluides pour les interfaces modernes
  • HIDAPI— Accès HID multiplateforme pour USB et Bluetooth (binaire natif livré sur Windows; système libhidapi-hidraw sur Linux)
  • Tmds.DBus— Client D-Bus pour l'intégration BlueZ sur Linux (déconnecté de Bluetooth; Windows utilise le pilote radio Bluetooth natif via P/Invoke)
  • Concentus— Encodage audio Opus pour les haptiques Bluetooth
  • SoundFlow— Lecture audio avec support de codec FFmpeg
  • libVIIPER— Régulateur virtuel d'émulation, protocole de flux et haptiques
  • Nefarius.Drivers.HidHide— fixations .NET pour le pilote HidHide

Recherche

Les implémentations du protocole DualSense, audio et haptiques ont été développées à l'aide des sources suivantes:

  • Linux kernel hid-playstation driver— Référence au protocole, présentation des rapports, étalonnage et logique de la batterie
  • dualsense-tester— Cartes des champs des rapports d'entrée/sortie et logique des effets déclencheurs
  • vds— Structures de rapport de sortie et implémentation audio/haptiques Bluetooth
  • VIIPER— Emulation virtuelle DualSense, protocole de flux et haptiques (base pour libVIIPER)
  • HidHide— Pilote pour cacher des contrôleurs physiques d'autres applications
  • DS4Windows— Intégration et émulation DualSense
  • SAxense— Cadrage des paquets audio/haptiques Bluetooth
  • DS5Dongle— Rapports audio Bluetooth, rapports de fonctionnalités et info firmware
  • dualsense-bt-haptics— Haptiques Bluetooth et lecture de haut-parleur en C#
  • ViGEmBus (simple_ds5_support fork)— Virtual DualSense identité et traitement des rapports de fonctionnalités
  • HIDMaestro— Descripteurs et profils USB pour appareils réels
  • PadForge— Cadrage des rapports de sortie et transmission audio
  • LinuxAudio4Dualsense5— Profil du producteur Bluetooth

Inspiration

  • SharpEmu— L'infrastructure d'enregistrement sur mesure a été inspirée par le bûcheron de SharpEmu
  • Lenovo Legion Toolkit— La bibliothèque de la persistance des paramètres a été inspirée par le système de configuration de Lenovo Legion Toolkit
  • VSCView— La visualisation du contrôleur en direct a été inspirée par les thèmes du contrôleur VSCView

Actifs

Avertissement

Ce projet n'est pas affilié à ou approuvé parSony Interactive Entertainment. "PlayStation", "DualSense" et les marques connexes sont des marques de commerce de leurs propriétaires respectifs.

Contribution

Les demandes de tirage sont les bienvenues ! Si vous souhaitez améliorer cet outil ou signaler des bugs, n'hésitez pas à ouvrir un problème ou à entamer une discussion. VoirCONTRIBUTINGpour plus de détails.

Licence

Libéré sous le régimeGPL-3.0 License.

Contributeurs GitHub

shazzaam7
shazzaam7
253 contributions