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 --> <!-- Additional options based on gamepad type -->
<template v-if="config.controller === 'enabled'"> <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="mb-3 accordion">
<div class="accordion-item"> <div class="accordion-item">
<h2 class="accordion-header"> <h2 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse" <button class="accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseOne"> 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> </button>
</h2> </h2>
<div id="panelsStayOpen-collapseOne" class="accordion-collapse collapse show" <div id="panelsStayOpen-collapseOne" class="accordion-collapse collapse show"
aria-labelledby="panelsStayOpen-headingOne"> aria-labelledby="panelsStayOpen-headingOne">
<div class="accordion-body"> <div class="accordion-body">
<!-- Auto options (Windows only) --> <!-- Automatic detection options (for Windows and Linux) -->
<template v-if="config.gamepad === 'auto'"> <template v-if="config.gamepad === 'auto' && (platform === 'windows' || platform === 'linux')">
<!-- DS4 motion --> <!-- Gamepad with motion-capability as DS4(Windows)/DS5(Linux) -->
<Checkbox class="mb-3" <Checkbox class="mb-3"
id="motion_as_ds4" id="motion_as_ds4"
locale-prefix="config" locale-prefix="config"
v-model="config.motion_as_ds4" v-model="config.motion_as_ds4"
default="true" default="true"
></Checkbox> ></Checkbox>
<!-- DS4 touchpad --> <!-- Gamepad with touch-capability as DS4(Windows)/DS5(Linux) -->
<Checkbox class="mb-3" <Checkbox class="mb-3"
id="touchpad_as_ds4" id="touchpad_as_ds4"
locale-prefix="config" locale-prefix="config"
@ -74,9 +74,8 @@ const config = ref(props.config)
default="true" default="true"
></Checkbox> ></Checkbox>
</template> </template>
<!-- DS4 options (all platforms) --> <!-- DS4 option: DS4 back button as touchpad click (on Automatic: Windows only) -->
<template v-if="config.gamepad === 'ds4'"> <template v-if="config.gamepad === 'ds4' || (config.gamepad === 'auto' && platform === 'windows')">
<!-- DS4 back button as touchpad click -->
<Checkbox class="mb-3" <Checkbox class="mb-3"
id="ds4_back_as_touchpad_click" id="ds4_back_as_touchpad_click"
locale-prefix="config" locale-prefix="config"
@ -84,24 +83,7 @@ const config = ref(props.config)
default="true" default="true"
></Checkbox> ></Checkbox>
</template> </template>
</div> <!-- DS5 Option: Controller MAC randomization (on Automatic: Linux only) -->
</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) -->
<template v-if="config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform === 'linux')"> <template v-if="config.gamepad === 'ds5' || (config.gamepad === 'auto' && platform === 'linux')">
<Checkbox class="mb-3" <Checkbox class="mb-3"
id="ds5_inputtino_randomize_mac" id="ds5_inputtino_randomize_mac"