qt/input: add vibration threshold to pad settings dialog

This commit is contained in:
Megamouse 2025-09-10 18:16:36 +02:00
parent 0876a7d37e
commit 735588aa1a
3 changed files with 47 additions and 25 deletions

View File

@ -1133,6 +1133,9 @@ void pad_settings_dialog::UpdateLabels(bool is_reset)
ui->sb_vibration_small->setRange(cfg.multiplier_vibration_motor_small.min, cfg.multiplier_vibration_motor_small.max);
ui->sb_vibration_small->setValue(cfg.multiplier_vibration_motor_small.get());
ui->sb_vibration_threshold->setRange(cfg.vibration_threshold.min, cfg.vibration_threshold.max);
ui->sb_vibration_threshold->setValue(cfg.vibration_threshold.get());
ui->chb_vibration_switch->setChecked(cfg.switch_vibration_motors.get());
// Update Trigger Thresholds
@ -1886,6 +1889,7 @@ void pad_settings_dialog::ApplyCurrentPlayerConfig(int new_player_id)
{
cfg.multiplier_vibration_motor_large.set(ui->sb_vibration_large->value());
cfg.multiplier_vibration_motor_small.set(ui->sb_vibration_small->value());
cfg.vibration_threshold.set(ui->sb_vibration_threshold->value());
cfg.switch_vibration_motors.set(ui->chb_vibration_switch->isChecked());
}

View File

@ -937,7 +937,7 @@
<property name="title">
<string>Enable Vibration</string>
</property>
<layout class="QHBoxLayout" name="gb_vibration_layout" stretch="1,1,1">
<layout class="QVBoxLayout" name="v_layout_vibration">
<property name="leftMargin">
<number>5</number>
</property>
@ -951,31 +951,49 @@
<number>5</number>
</property>
<item>
<widget class="QSpinBox" name="sb_vibration_large">
<property name="suffix">
<string>%</string>
</property>
<property name="prefix">
<string>Large </string>
</property>
</widget>
<layout class="QHBoxLayout" name="h_layout_vibration_0">
<item>
<widget class="QSpinBox" name="sb_vibration_small">
<property name="suffix">
<string>%</string>
</property>
<property name="prefix">
<string>Small </string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="sb_vibration_large">
<property name="suffix">
<string>%</string>
</property>
<property name="prefix">
<string>Large </string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QSpinBox" name="sb_vibration_small">
<property name="suffix">
<string>%</string>
</property>
<property name="prefix">
<string>Small </string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chb_vibration_switch">
<property name="text">
<string>Switch</string>
</property>
</widget>
<layout class="QHBoxLayout" name="h_layout_vibration_1">
<item>
<widget class="QSpinBox" name="sb_vibration_threshold">
<property name="prefix">
<string>Threshold </string>
</property>
<property name="maximum">
<number>255</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chb_vibration_switch">
<property name="text">
<string>Switch</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>

View File

@ -301,7 +301,7 @@ public:
const QString squircle_factor = tr("The actual DualShock 3's stick range is not circular but formed like a rounded square (or squircle) which represents the maximum range of the emulated sticks. You can use the squircle values to modify the stick input if your sticks can't reach the corners of that range. A value of 0 does not apply any so called squircling. A value of 8000 is usually recommended.");
const QString stick_multiplier = tr("The stick multipliers can be used to change the sensitivity of your stick movements.<br>The default setting is 1 and represents normal input.");
const QString stick_deadzones = tr("A stick's deadzone determines how far the stick has to be moved until it is fully recognized by the game. The resulting range will be projected onto the full input range in order to give you a smooth experience. Movement inside the deadzone is simulated using the anti-deadzone slider (default is 13%), so don't worry if there is still movement shown in the emulated stick preview.");
const QString vibration = tr("The PS3 activates two motors (large and small) to handle controller vibrations.<br>You can enable, disable or even switch these signals for the currently selected pad here.");
const QString vibration = tr("The PS3 activates two motors (large and small) to handle controller vibrations.<br>You can enable, disable or even switch these signals for the currently selected pad here.<br>The game sends values from 0-255 to activate the motors.<br>Any value smaller or equal the threshold will be set to 0. This is 63 by default for pad handlers other than DualShock3 in order to emulate the DualShock3's behavior.");
const QString motion_controls = tr("Use this to configure the gamepad motion controls.");
const QString emulated_preview = tr("The emulated stick values (red dots) in the stick preview represent the actual stick positions as they will be visible to the game. The actual DualShock 3's stick range is not circular but formed like a rounded square (or squircle) which represents the maximum range of the emulated sticks. The blue regular dots represent the raw stick values (including stick multipliers) before they are converted for ingame usage.");
const QString trigger_deadzones = tr("A trigger's deadzone determines how far the trigger has to be moved until it is recognized by the game. The resulting range will be projected onto the full input range in order to give you a smooth experience.");