add config options for select gamepad to emulate

This commit is contained in:
loki 2021-07-18 15:46:46 +02:00
parent 4b043e31fe
commit d283900e43
3 changed files with 19 additions and 2 deletions

View File

@ -106,6 +106,12 @@
# back_button_timeout = 2000
# !! Windows only !!
# Gamepads supported by Sunshine
# Possible values:
# x360 -- xbox 360 controller
# ds4 -- dualshock controller (PS4)
# gamepad = x360
# Control how fast keys will repeat themselves
# The initial delay in milliseconds before repeating keys
# key_repeat_delay = 500

View File

@ -52,6 +52,15 @@
</select>
<div class="form-text">Automatically configure port forwarding</div>
</div>
<!--Gamepads-->
<div class="mb-3" v-if="platform === 'windows'">
<label for="gamepad" class="form-label">Gamepads</label>
<select id="gamepad" class="form-select" v-model="config.gamepad">
<option value="ds4">DS4 (PS4)</option>
<option value="x360">X360 (Xbox 360)</option>
</select>
<div class="form-text">Automatically configure port forwarding</div>
</div>
<!--Ping Timeout-->
<div class="mb-3">
<label for="ping_timeout" class="form-label">Ping Timeout</label>
@ -321,7 +330,8 @@
v-model="config.fec_percentage">
<div class="form-text">
Percentage of error correcting packets per data packet in each video frame.<br>
Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage.<br>
Higher values can correct for more network packet loss, but at the cost of increasing bandwidth
usage.<br>
The default value of 20 is what GeForce Experience uses.
</div>
</div>
@ -535,6 +545,7 @@
delete this.config.status;
delete this.config.platform;
//Populate default values if not present in config
this.config.gamepad = this.config.gamepad || 'x360';
this.config.upnp = this.config.upnp || 'disabled';
this.config.min_log_level = this.config.min_log_level || 2;
this.config.origin_pin_allowed = this.config.origin_pin_allowed || "pc";

View File

@ -569,7 +569,7 @@ int send_rumble(session_t *session, std::uint16_t id, std::uint16_t lowfreq, std
plaintext.lowfreq = util::endian::little(lowfreq << 8);
plaintext.highfreq = util::endian::little(highfreq << 8);
BOOST_LOG(fatal) << util::hex(plaintext.id).to_string_view() << " :: "sv << util::hex(plaintext.lowfreq).to_string_view() << " :: "sv << util::hex(plaintext.highfreq).to_string_view();
BOOST_LOG(verbose) << id << " :: "sv << util::hex(lowfreq).to_string_view() << " :: "sv << util::hex(highfreq).to_string_view();
std::array<std::uint8_t,
sizeof(control_encrypted_t) + crypto::cipher::round_to_pkcs7_padded(sizeof(plaintext)) + crypto::cipher::tag_size>
encrypted_payload;