mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	gcadapter: Implement auto map feature
Implements the auto map functionality for the GC adapter. The controls map nicely to the original 3ds controls, with the select button being mapped to the Z button on GC. The ZL/ZR buttons are not mapped by this feature.
This commit is contained in:
		
							parent
							
								
									161e6a541b
								
							
						
					
					
						commit
						a80e566464
					
				
					 7 changed files with 85 additions and 20 deletions
				
			
		|  | @ -274,7 +274,8 @@ ConfigureInput::ConfigureInput(QWidget* parent) | |||
|         }); | ||||
|         connect(analog_map_deadzone_and_modifier_slider[analog_id], &QSlider::valueChanged, [=] { | ||||
|             const int slider_value = analog_map_deadzone_and_modifier_slider[analog_id]->value(); | ||||
|             if (analogs_param[analog_id].Get("engine", "") == "sdl") { | ||||
|             const auto engine = analogs_param[analog_id].Get("engine", ""); | ||||
|             if (engine == "sdl" || engine == "gcpad") { | ||||
|                 analog_map_deadzone_and_modifier_slider_label[analog_id]->setText( | ||||
|                     tr("Deadzone: %1%").arg(slider_value)); | ||||
|                 analogs_param[analog_id].Set("deadzone", slider_value / 100.0f); | ||||
|  | @ -461,16 +462,14 @@ void ConfigureInput::MapFromButton(const Common::ParamPackage& params) { | |||
|     Common::ParamPackage aux_param; | ||||
|     bool mapped = false; | ||||
|     for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; button_id++) { | ||||
|         aux_param = InputCommon::GetSDLControllerButtonBindByGUID(params.Get("guid", "0"), | ||||
|                                                                   params.Get("port", 0), button_id); | ||||
|         aux_param = InputCommon::GetControllerButtonBinds(params, button_id); | ||||
|         if (aux_param.Has("engine")) { | ||||
|             buttons_param[button_id] = aux_param; | ||||
|             mapped = true; | ||||
|         } | ||||
|     } | ||||
|     for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; analog_id++) { | ||||
|         aux_param = InputCommon::GetSDLControllerAnalogBindByGUID(params.Get("guid", "0"), | ||||
|                                                                   params.Get("port", 0), analog_id); | ||||
|         aux_param = InputCommon::GetControllerAnalogBinds(params, analog_id); | ||||
|         if (aux_param.Has("engine")) { | ||||
|             analogs_param[analog_id] = aux_param; | ||||
|             mapped = true; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue