summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/config.cpp
diff options
context:
space:
mode:
authorGravatar Clément Gallet2021-06-04 00:58:35 +0200
committerGravatar Clément Gallet2021-06-04 00:58:35 +0200
commit166f5d1612de718fc19a45541191b33eb56cd75b (patch)
treed8cb9990469b2ba9bace728e1c7b83bced84d4a7 /src/yuzu_cmd/config.cpp
parentMerge pull request #6402 from Kelebek1/UI (diff)
downloadyuzu-166f5d1612de718fc19a45541191b33eb56cd75b.tar.gz
yuzu-166f5d1612de718fc19a45541191b33eb56cd75b.tar.xz
yuzu-166f5d1612de718fc19a45541191b33eb56cd75b.zip
yuzu-cmd: Add touch_from_button in config file
Diffstat (limited to 'src/yuzu_cmd/config.cpp')
-rw-r--r--src/yuzu_cmd/config.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index a2ab69cdd..63f368fe5 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -317,6 +317,43 @@ void Config::ReadValues() {
317 sdl2_config->GetInteger("ControlsGeneral", "touch_diameter_x", 15); 317 sdl2_config->GetInteger("ControlsGeneral", "touch_diameter_x", 15);
318 Settings::values.touchscreen.diameter_y = 318 Settings::values.touchscreen.diameter_y =
319 sdl2_config->GetInteger("ControlsGeneral", "touch_diameter_y", 15); 319 sdl2_config->GetInteger("ControlsGeneral", "touch_diameter_y", 15);
320
321 int num_touch_from_button_maps =
322 sdl2_config->GetInteger("ControlsGeneral", "touch_from_button_map", 0);
323 if (num_touch_from_button_maps > 0) {
324 for (int i = 0; i < num_touch_from_button_maps; ++i) {
325 Settings::TouchFromButtonMap map;
326 map.name = sdl2_config->Get("ControlsGeneral",
327 std::string("touch_from_button_maps_") + std::to_string(i) +
328 std::string("_name"),
329 "default");
330 const int num_touch_maps = sdl2_config->GetInteger(
331 "ControlsGeneral",
332 std::string("touch_from_button_maps_") + std::to_string(i) + std::string("_count"),
333 0);
334 map.buttons.reserve(num_touch_maps);
335
336 for (int j = 0; j < num_touch_maps; ++j) {
337 std::string touch_mapping =
338 sdl2_config->Get("ControlsGeneral",
339 std::string("touch_from_button_maps_") + std::to_string(i) +
340 std::string("_bind_") + std::to_string(j),
341 "");
342 map.buttons.emplace_back(std::move(touch_mapping));
343 }
344
345 Settings::values.touch_from_button_maps.emplace_back(std::move(map));
346 }
347 } else {
348 Settings::values.touch_from_button_maps.emplace_back(
349 Settings::TouchFromButtonMap{"default", {}});
350 num_touch_from_button_maps = 1;
351 }
352 Settings::values.use_touch_from_button =
353 sdl2_config->GetBoolean("ControlsGeneral", "use_touch_from_button", false);
354 Settings::values.touch_from_button_map_index =
355 std::clamp(Settings::values.touch_from_button_map_index, 0, num_touch_from_button_maps - 1);
356
320 Settings::values.udp_input_servers = 357 Settings::values.udp_input_servers =
321 sdl2_config->Get("Controls", "udp_input_address", InputCommon::CemuhookUDP::DEFAULT_SRV); 358 sdl2_config->Get("Controls", "udp_input_address", InputCommon::CemuhookUDP::DEFAULT_SRV);
322 359