fix(input): Cleanup and show additional gamepad options correctly on linux (DS5) (#4169)

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
This commit is contained in:
Kishi 2025-08-18 20:41:55 +02:00 committed by GitHub
commit 8107198250
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -45,28 +45,28 @@ const config = ref(props.config)
<!-- Additional options based on gamepad type -->
<template v-if="config.controller === 'enabled'">
<template v-if="config.gamepad === 'ds4' || (config.gamepad === 'auto' && platform === 'windows')">
<template v-if="config.gamepad === 'ds4' || config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform !== 'macos')">
<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 === 'ds4' ? 'config.gamepad_ds4_manual' : 'config.gamepad_auto') }}
{{ $t(config.gamepad === 'ds4' ? 'config.gamepad_ds4_manual' : (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">
<!-- Auto options (Windows only) -->
<template v-if="config.gamepad === 'auto'">
<!-- DS4 motion -->
<!-- Automatic detection options (for Windows and Linux) -->
<template v-if="config.gamepad === 'auto' && (platform === 'windows' || platform === 'linux')">
<!-- Gamepad with motion-capability as DS4(Windows)/DS5(Linux) -->
<Checkbox class="mb-3"
id="motion_as_ds4"
locale-prefix="config"
v-model="config.motion_as_ds4"
default="true"
></Checkbox>
<!-- DS4 touchpad -->
<!-- Gamepad with touch-capability as DS4(Windows)/DS5(Linux) -->
<Checkbox class="mb-3"
id="touchpad_as_ds4"
locale-prefix="config"
@ -74,9 +74,8 @@ const config = ref(props.config)
default="true"
></Checkbox>
</template>
<!-- DS4 options (all platforms) -->
<template v-if="config.gamepad === 'ds4'">
<!-- DS4 back button as touchpad click -->
<!-- DS4 option: DS4 back button as touchpad click (on Automatic: Windows only) -->
<template v-if="config.gamepad === 'ds4' || (config.gamepad === 'auto' && platform === 'windows')">
<Checkbox class="mb-3"
id="ds4_back_as_touchpad_click"
locale-prefix="config"
@ -84,24 +83,7 @@ const config = ref(props.config)
default="true"
></Checkbox>
</template>
</div>
</div>
</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) -->
<!-- DS5 Option: Controller MAC randomization (on Automatic: Linux only) -->
<template v-if="config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform === 'linux')">
<Checkbox class="mb-3"
id="ds5_inputtino_randomize_mac"