From: Julian Bouzas Date: Mon, 20 Jul 2026 13:54:48 +0000 (-0400) Subject: hwdb: classify PlayStation controller audio as controller form-factor X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3bc3b6c6e7e15a54cb868b68622b03112b9b2e05;p=thirdparty%2Fsystemd.git hwdb: classify PlayStation controller audio as controller form-factor Add Sony PlayStation controller entries to 70-sound-card.hwdb so that their ALSA sound devices are tagged with SOUND_FORM_FACTOR=controller: - DualSense (054c:0ce6) - DualSense Edge (054c:0df2) - DualShock 4 CUH-ZCT1x (054c:05c4) - DualShock 4 CUH-ZCT2x (054c:09cc) These controllers expose USB audio but are neither headsets nor speakers. Pinning them in the hwdb ensures they are identified correctly before any fallback matching occurs. --- diff --git a/hwdb.d/70-sound-card.hwdb b/hwdb.d/70-sound-card.hwdb index 340e6b54e3c..62d005d61e7 100644 --- a/hwdb.d/70-sound-card.hwdb +++ b/hwdb.d/70-sound-card.hwdb @@ -51,6 +51,19 @@ usb:v045Ep02F9* usb:v045Ep091E* SOUND_FORM_FACTOR=headset +########################################################### +# Sony +########################################################### +# DualSense (PS5) +usb:v054Cp0CE6* +# DualSense Edge (PS5) +usb:v054Cp0DF2* +# DualShock 4 [CUH-ZCT1x] +usb:v054Cp05C4* +# DualShock 4 [CUH-ZCT2x] +usb:v054Cp09CC* + SOUND_FORM_FACTOR=controller + ########################################################### # Steelseries ########################################################### diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 6402492dff2..1532f5237f3 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -230,7 +230,18 @@ def property_grammar(): ('ID_CAMERA_DIRECTION', Or(('front', 'rear'))), ( 'SOUND_FORM_FACTOR', - Or(('internal', 'webcam', 'speaker', 'headphone', 'headset', 'handset', 'microphone')), + Or( + ( + 'internal', + 'webcam', + 'speaker', + 'headphone', + 'headset', + 'handset', + 'microphone', + 'controller', + ) + ), ), ('ID_SYS_VENDOR_IS_RUBBISH', zero_one), ('ID_PRODUCT_NAME_IS_RUBBISH', zero_one),