mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	hid: Implement ReloadInputDevices
This commit is contained in:
		
							parent
							
								
									af074ee422
								
							
						
					
					
						commit
						500e81429a
					
				| @ -2,7 +2,6 @@ | |||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include <atomic> |  | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
| @ -78,7 +77,7 @@ private: | |||||||
|         SharedMemory mem{}; |         SharedMemory mem{}; | ||||||
|         std::memcpy(&mem, shared_mem->GetPointer(), sizeof(SharedMemory)); |         std::memcpy(&mem, shared_mem->GetPointer(), sizeof(SharedMemory)); | ||||||
| 
 | 
 | ||||||
|         if (is_device_reload_pending.exchange(false)) |         if (Settings::values.is_device_reload_pending.exchange(false)) | ||||||
|             LoadInputDevices(); |             LoadInputDevices(); | ||||||
| 
 | 
 | ||||||
|         // Set up controllers as neon red+blue Joy-Con attached to console
 |         // Set up controllers as neon red+blue Joy-Con attached to console
 | ||||||
| @ -267,7 +266,6 @@ private: | |||||||
|     CoreTiming::EventType* pad_update_event; |     CoreTiming::EventType* pad_update_event; | ||||||
| 
 | 
 | ||||||
|     // Stored input state info
 |     // Stored input state info
 | ||||||
|     std::atomic<bool> is_device_reload_pending{true}; |  | ||||||
|     std::array<std::unique_ptr<Input::ButtonDevice>, Settings::NativeButton::NUM_BUTTONS_HID> |     std::array<std::unique_ptr<Input::ButtonDevice>, Settings::NativeButton::NUM_BUTTONS_HID> | ||||||
|         buttons; |         buttons; | ||||||
|     std::array<std::unique_ptr<Input::AnalogDevice>, Settings::NativeAnalog::NUM_STICKS_HID> sticks; |     std::array<std::unique_ptr<Input::AnalogDevice>, Settings::NativeAnalog::NUM_STICKS_HID> sticks; | ||||||
| @ -797,7 +795,9 @@ public: | |||||||
|     } |     } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| void ReloadInputDevices() {} | void ReloadInputDevices() { | ||||||
|  |     Settings::values.is_device_reload_pending.store(true); | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||||
|     std::make_shared<Hid>()->InstallAsService(service_manager); |     std::make_shared<Hid>()->InstallAsService(service_manager); | ||||||
|  | |||||||
| @ -5,6 +5,7 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <array> | #include <array> | ||||||
|  | #include <atomic> | ||||||
| #include <string> | #include <string> | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| 
 | 
 | ||||||
| @ -120,6 +121,7 @@ struct Values { | |||||||
|     std::array<std::string, NativeAnalog::NumAnalogs> analogs; |     std::array<std::string, NativeAnalog::NumAnalogs> analogs; | ||||||
|     std::string motion_device; |     std::string motion_device; | ||||||
|     std::string touch_device; |     std::string touch_device; | ||||||
|  |     std::atomic_bool is_device_reload_pending{true}; | ||||||
| 
 | 
 | ||||||
|     // Core
 |     // Core
 | ||||||
|     bool use_cpu_jit; |     bool use_cpu_jit; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 fearlessTobi
						fearlessTobi