mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	fixup! fixup! Refactor input system
This commit is contained in:
		
							parent
							
								
									6d49e4621c
								
							
						
					
					
						commit
						6cccdcacd2
					
				
					 3 changed files with 8 additions and 8 deletions
				
			
		|  | @ -75,14 +75,14 @@ public: | ||||||
|     /**
 |     /**
 | ||||||
|      * Signals a button press action to the HID module. |      * Signals a button press action to the HID module. | ||||||
|      * @param pad_state indicates which button to press |      * @param pad_state indicates which button to press | ||||||
|      * @note only handle real buttons (A/B/X/Y/...), excluding analog input like circle pad. |      * @note only handles real buttons (A/B/X/Y/...), excluding analog inputs like the circle pad. | ||||||
|      */ |      */ | ||||||
|     void ButtonPressed(Service::HID::PadState pad_state); |     void ButtonPressed(Service::HID::PadState pad_state); | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Signals a button release action to the HID module. |      * Signals a button release action to the HID module. | ||||||
|      * @param pad_state indicates which button to press |      * @param pad_state indicates which button to press | ||||||
|      * @note only handle real buttons (A/B/X/Y/...), excluding analog input like circle pad. |      * @note only handles real buttons (A/B/X/Y/...), excluding analog inputs like the circle pad. | ||||||
|      */ |      */ | ||||||
|     void ButtonReleased(Service::HID::PadState pad_state); |     void ButtonReleased(Service::HID::PadState pad_state); | ||||||
| 
 | 
 | ||||||
|  | @ -123,7 +123,7 @@ public: | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Gets the current cirle pad state. |      * Gets the current circle pad state. | ||||||
|      * @note This should be called by the core emu thread to get a state set by the window thread. |      * @note This should be called by the core emu thread to get a state set by the window thread. | ||||||
|      * @todo Fix this function to be thread-safe. |      * @todo Fix this function to be thread-safe. | ||||||
|      * @return std::tuple of (x, y), where `x` and `y` are the circle pad coordinates |      * @return std::tuple of (x, y), where `x` and `y` are the circle pad coordinates | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ class EmuWindow; | ||||||
| namespace KeyMap { | namespace KeyMap { | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Represents a key mapping target that are not 3DS real buttons. |  * Represents key mapping targets that are not real 3DS buttons. | ||||||
|  * They will be handled by KeyMap and translated to 3DS input. |  * They will be handled by KeyMap and translated to 3DS input. | ||||||
|  */ |  */ | ||||||
| enum class IndirectTarget { | enum class IndirectTarget { | ||||||
|  | @ -25,7 +25,7 @@ enum class IndirectTarget { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Represents a key mapping target. It can be a PadState that represents 3DS real buttons, |  * Represents a key mapping target. It can be a PadState that represents real 3DS buttons, | ||||||
|  * or an IndirectTarget. |  * or an IndirectTarget. | ||||||
|  */ |  */ | ||||||
| struct KeyTarget { | struct KeyTarget { | ||||||
|  | @ -84,12 +84,12 @@ void SetKeyMapping(HostDeviceKey key, KeyTarget target); | ||||||
| void ClearKeyMapping(int device_id); | void ClearKeyMapping(int device_id); | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Maps a key press actions and call the corresponding function in EmuWindow |  * Maps a key press action and call the corresponding function in EmuWindow | ||||||
|  */ |  */ | ||||||
| void PressKey(EmuWindow& emu_window, HostDeviceKey key); | void PressKey(EmuWindow& emu_window, HostDeviceKey key); | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  * Maps a key release actions and call the corresponding function in EmuWindow |  * Maps a key release action and call the corresponding function in EmuWindow | ||||||
|  */ |  */ | ||||||
| void ReleaseKey(EmuWindow& emu_window, HostDeviceKey key); | void ReleaseKey(EmuWindow& emu_window, HostDeviceKey key); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -74,7 +74,7 @@ void Update() { | ||||||
| 
 | 
 | ||||||
|     PadState state = VideoCore::g_emu_window->GetPadState(); |     PadState state = VideoCore::g_emu_window->GetPadState(); | ||||||
| 
 | 
 | ||||||
|     // Get current circle pad positon and update circle pad direction
 |     // Get current circle pad position and update circle pad direction
 | ||||||
|     s16 circle_pad_x, circle_pad_y; |     s16 circle_pad_x, circle_pad_y; | ||||||
|     std::tie(circle_pad_x, circle_pad_y) = VideoCore::g_emu_window->GetCirclePadState(); |     std::tie(circle_pad_x, circle_pad_y) = VideoCore::g_emu_window->GetCirclePadState(); | ||||||
|     state.hex |= GetCirclePadDirectionState(circle_pad_x, circle_pad_y).hex; |     state.hex |= GetCirclePadDirectionState(circle_pad_x, circle_pad_y).hex; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue