configure_input: Hook up the vibration percentage spinbox
This allows setting the vibration strength percentage anywhere from 1% to 100%. Also hooks up the remaining motion button and checkbox in the Controller Applet.
This commit is contained in:
		
							parent
							
								
									e02ef3c3be
								
							
						
					
					
						commit
						652d6766d5
					
				| @ -703,7 +703,8 @@ void Controller_NPad::VibrateController(const std::vector<DeviceHandle>& vibrati | |||||||
| 
 | 
 | ||||||
|         // TODO: Vibrate left/right vibration motors independently if possible.
 |         // TODO: Vibrate left/right vibration motors independently if possible.
 | ||||||
|         button_state[A - BUTTON_HID_BEGIN]->SetRumblePlay( |         button_state[A - BUTTON_HID_BEGIN]->SetRumblePlay( | ||||||
|             vibration_values[i].amp_high, vibration_values[i].amp_low, |             vibration_values[i].amp_high * Settings::values.vibration_strength.GetValue() / 100, | ||||||
|  |             vibration_values[i].amp_low * Settings::values.vibration_strength.GetValue() / 100, | ||||||
|             vibration_values[i].freq_high, vibration_values[i].freq_low); |             vibration_values[i].freq_high, vibration_values[i].freq_low); | ||||||
| 
 | 
 | ||||||
|         latest_vibration_values[npad_index][device_index] = vibration_values[i]; |         latest_vibration_values[npad_index][device_index] = vibration_values[i]; | ||||||
|  | |||||||
| @ -150,6 +150,7 @@ void RestoreGlobalState() { | |||||||
|     values.players.SetGlobal(true); |     values.players.SetGlobal(true); | ||||||
|     values.use_docked_mode.SetGlobal(true); |     values.use_docked_mode.SetGlobal(true); | ||||||
|     values.vibration_enabled.SetGlobal(true); |     values.vibration_enabled.SetGlobal(true); | ||||||
|  |     values.vibration_strength.SetGlobal(true); | ||||||
|     values.motion_enabled.SetGlobal(true); |     values.motion_enabled.SetGlobal(true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -170,6 +170,7 @@ struct Values { | |||||||
|     Setting<bool> use_docked_mode; |     Setting<bool> use_docked_mode; | ||||||
| 
 | 
 | ||||||
|     Setting<bool> vibration_enabled; |     Setting<bool> vibration_enabled; | ||||||
|  |     Setting<int> vibration_strength; | ||||||
| 
 | 
 | ||||||
|     Setting<bool> motion_enabled; |     Setting<bool> motion_enabled; | ||||||
|     std::string motion_device; |     std::string motion_device; | ||||||
|  | |||||||
| @ -266,6 +266,8 @@ void QtControllerSelectorDialog::ApplyConfiguration() { | |||||||
|     OnDockedModeChanged(pre_docked_mode, Settings::values.use_docked_mode.GetValue()); |     OnDockedModeChanged(pre_docked_mode, Settings::values.use_docked_mode.GetValue()); | ||||||
| 
 | 
 | ||||||
|     Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked()); |     Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked()); | ||||||
|  |     Settings::values.vibration_strength.SetValue(ui->vibrationSpin->value()); | ||||||
|  |     Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void QtControllerSelectorDialog::LoadConfiguration() { | void QtControllerSelectorDialog::LoadConfiguration() { | ||||||
| @ -281,6 +283,8 @@ void QtControllerSelectorDialog::LoadConfiguration() { | |||||||
|     UpdateDockedState(Settings::values.players.GetValue()[8].connected); |     UpdateDockedState(Settings::values.players.GetValue()[8].connected); | ||||||
| 
 | 
 | ||||||
|     ui->vibrationGroup->setChecked(Settings::values.vibration_enabled.GetValue()); |     ui->vibrationGroup->setChecked(Settings::values.vibration_enabled.GetValue()); | ||||||
|  |     ui->vibrationSpin->setValue(Settings::values.vibration_strength.GetValue()); | ||||||
|  |     ui->motionGroup->setChecked(Settings::values.motion_enabled.GetValue()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void QtControllerSelectorDialog::CallConfigureInputDialog() { | void QtControllerSelectorDialog::CallConfigureInputDialog() { | ||||||
|  | |||||||
| @ -2349,7 +2349,7 @@ | |||||||
|                <number>1</number> |                <number>1</number> | ||||||
|               </property> |               </property> | ||||||
|               <property name="maximum"> |               <property name="maximum"> | ||||||
|                <number>200</number> |                <number>100</number> | ||||||
|               </property> |               </property> | ||||||
|               <property name="value"> |               <property name="value"> | ||||||
|                <number>100</number> |                <number>100</number> | ||||||
|  | |||||||
| @ -493,6 +493,8 @@ void Config::ReadControlValues() { | |||||||
|     ReadSettingGlobal(Settings::values.use_docked_mode, QStringLiteral("use_docked_mode"), false); |     ReadSettingGlobal(Settings::values.use_docked_mode, QStringLiteral("use_docked_mode"), false); | ||||||
|     ReadSettingGlobal(Settings::values.vibration_enabled, QStringLiteral("vibration_enabled"), |     ReadSettingGlobal(Settings::values.vibration_enabled, QStringLiteral("vibration_enabled"), | ||||||
|                       true); |                       true); | ||||||
|  |     ReadSettingGlobal(Settings::values.vibration_strength, QStringLiteral("vibration_strength"), | ||||||
|  |                       100); | ||||||
|     ReadSettingGlobal(Settings::values.motion_enabled, QStringLiteral("motion_enabled"), true); |     ReadSettingGlobal(Settings::values.motion_enabled, QStringLiteral("motion_enabled"), true); | ||||||
| 
 | 
 | ||||||
|     qt_config->endGroup(); |     qt_config->endGroup(); | ||||||
| @ -1150,6 +1152,8 @@ void Config::SaveControlValues() { | |||||||
|     WriteSettingGlobal(QStringLiteral("use_docked_mode"), Settings::values.use_docked_mode, false); |     WriteSettingGlobal(QStringLiteral("use_docked_mode"), Settings::values.use_docked_mode, false); | ||||||
|     WriteSettingGlobal(QStringLiteral("vibration_enabled"), Settings::values.vibration_enabled, |     WriteSettingGlobal(QStringLiteral("vibration_enabled"), Settings::values.vibration_enabled, | ||||||
|                        true); |                        true); | ||||||
|  |     WriteSettingGlobal(QStringLiteral("vibration_strength"), Settings::values.vibration_strength, | ||||||
|  |                        100); | ||||||
|     WriteSettingGlobal(QStringLiteral("motion_enabled"), Settings::values.motion_enabled, true); |     WriteSettingGlobal(QStringLiteral("motion_enabled"), Settings::values.motion_enabled, true); | ||||||
|     WriteSetting(QStringLiteral("motion_device"), |     WriteSetting(QStringLiteral("motion_device"), | ||||||
|                  QString::fromStdString(Settings::values.motion_device), |                  QString::fromStdString(Settings::values.motion_device), | ||||||
|  | |||||||
| @ -186,6 +186,7 @@ void ConfigureInput::ApplyConfiguration() { | |||||||
|     OnDockedModeChanged(pre_docked_mode, Settings::values.use_docked_mode.GetValue()); |     OnDockedModeChanged(pre_docked_mode, Settings::values.use_docked_mode.GetValue()); | ||||||
| 
 | 
 | ||||||
|     Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked()); |     Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked()); | ||||||
|  |     Settings::values.vibration_strength.SetValue(ui->vibrationSpin->value()); | ||||||
|     Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked()); |     Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -206,6 +207,7 @@ void ConfigureInput::LoadConfiguration() { | |||||||
|     UpdateDockedState(Settings::values.players.GetValue()[8].connected); |     UpdateDockedState(Settings::values.players.GetValue()[8].connected); | ||||||
| 
 | 
 | ||||||
|     ui->vibrationGroup->setChecked(Settings::values.vibration_enabled.GetValue()); |     ui->vibrationGroup->setChecked(Settings::values.vibration_enabled.GetValue()); | ||||||
|  |     ui->vibrationSpin->setValue(Settings::values.vibration_strength.GetValue()); | ||||||
|     ui->motionGroup->setChecked(Settings::values.motion_enabled.GetValue()); |     ui->motionGroup->setChecked(Settings::values.motion_enabled.GetValue()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -215,7 +215,7 @@ | |||||||
|             <number>1</number> |             <number>1</number> | ||||||
|            </property> |            </property> | ||||||
|            <property name="maximum"> |            <property name="maximum"> | ||||||
|             <number>200</number> |             <number>100</number> | ||||||
|            </property> |            </property> | ||||||
|            <property name="value"> |            <property name="value"> | ||||||
|             <number>100</number> |             <number>100</number> | ||||||
|  | |||||||
| @ -290,6 +290,8 @@ void Config::ReadValues() { | |||||||
| 
 | 
 | ||||||
|     Settings::values.vibration_enabled.SetValue( |     Settings::values.vibration_enabled.SetValue( | ||||||
|         sdl2_config->GetBoolean("ControlsGeneral", "vibration_enabled", true)); |         sdl2_config->GetBoolean("ControlsGeneral", "vibration_enabled", true)); | ||||||
|  |     Settings::values.vibration_strength.SetValue( | ||||||
|  |         sdl2_config->GetInteger("ControlsGeneral", "vibration_strength", 100)); | ||||||
|     Settings::values.motion_enabled.SetValue( |     Settings::values.motion_enabled.SetValue( | ||||||
|         sdl2_config->GetBoolean("ControlsGeneral", "motion_enabled", true)); |         sdl2_config->GetBoolean("ControlsGeneral", "motion_enabled", true)); | ||||||
|     Settings::values.touchscreen.enabled = |     Settings::values.touchscreen.enabled = | ||||||
|  | |||||||
| @ -65,6 +65,13 @@ button_screenshot= | |||||||
| lstick= | lstick= | ||||||
| rstick= | rstick= | ||||||
| 
 | 
 | ||||||
|  | # Whether to enable or disable vibration | ||||||
|  | # 0: Disabled, 1 (default): Enabled | ||||||
|  | vibration_enabled= | ||||||
|  | 
 | ||||||
|  | # Vibration strength percentage (Default: 100) | ||||||
|  | vibration_strength= | ||||||
|  | 
 | ||||||
| # for motion input, the following devices are available: | # for motion input, the following devices are available: | ||||||
| #  - "motion_emu" (default) for emulating motion input from mouse input. Required parameters: | #  - "motion_emu" (default) for emulating motion input from mouse input. Required parameters: | ||||||
| #      - "update_period": update period in milliseconds (default to 100) | #      - "update_period": update period in milliseconds (default to 100) | ||||||
|  | |||||||
| @ -76,6 +76,7 @@ void Config::ReadValues() { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     Settings::values.vibration_enabled.SetValue(true); |     Settings::values.vibration_enabled.SetValue(true); | ||||||
|  |     Settings::values.vibration_strength.SetValue(100); | ||||||
|     Settings::values.motion_enabled.SetValue(true); |     Settings::values.motion_enabled.SetValue(true); | ||||||
|     Settings::values.touchscreen.enabled = ""; |     Settings::values.touchscreen.enabled = ""; | ||||||
|     Settings::values.touchscreen.device = ""; |     Settings::values.touchscreen.device = ""; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Morph
						Morph