feat(input/linux): allow ds5 gamepads to have a fixed device mac based on controller index (#4158)

This commit is contained in:
Kishi
2025-08-17 00:17:04 +02:00
committed by GitHub
parent 319319c2df
commit cc6e853fba
6 changed files with 66 additions and 4 deletions

View File

@ -89,6 +89,32 @@ const config = ref(props.config)
</div>
</div>
</template>
<template v-if="config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform === 'linux')">
<div class="mb-3 accordion">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseOne">
{{ $t(config.gamepad === 'ds5' ? 'config.gamepad_ds5_manual' : 'config.gamepad_auto') }}
</button>
</h2>
<div id="panelsStayOpen-collapseOne" class="accordion-collapse collapse show"
aria-labelledby="panelsStayOpen-headingOne">
<div class="accordion-body">
<!-- Controller MAC randomization (Linux only) -->
<template v-if="config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform === 'linux')">
<Checkbox class="mb-3"
id="ds5_inputtino_randomize_mac"
locale-prefix="config"
v-model="config.ds5_inputtino_randomize_mac"
default="true"
></Checkbox>
</template>
</div>
</div>
</div>
</div>
</template>
</template>
<!-- Home/Guide Button Emulation Timeout -->

View File

@ -195,6 +195,8 @@
"dd_wa_hdr_toggle_delay": "High-contrast workaround for HDR",
"ds4_back_as_touchpad_click": "Map Back/Select to Touchpad Click",
"ds4_back_as_touchpad_click_desc": "When forcing DS4 emulation, map Back/Select to Touchpad Click",
"ds5_inputtino_randomize_mac": "Randomize virtual controller MAC",
"ds5_inputtino_randomize_mac_desc": "Upon controller registration use a random MAC instead of one based on the controllers internal index to avoid mixing configuration settings of different controllers when the are swapped on client-side.",
"encoder": "Force a Specific Encoder",
"encoder_desc": "Force a specific encoder, otherwise Sunshine will select the best available option. Note: If you specify a hardware encoder on Windows, it must match the GPU where the display is connected.",
"encoder_software": "Software",
@ -213,6 +215,7 @@
"gamepad_ds4": "DS4 (PS4)",
"gamepad_ds4_manual": "DS4 selection options",
"gamepad_ds5": "DS5 (PS5)",
"gamepad_ds5_manual": "DS5 selection options",
"gamepad_switch": "Nintendo Pro (Switch)",
"gamepad_manual": "Manual DS4 options",
"gamepad_x360": "X360 (Xbox 360)",