mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	hid: Clear keyboard states & fix logic issue
Previously we never cleared the states of the entries and the key would stay held down, also looping over the key bytes for each key lead to setting every bit for the key state instead of the key we wanted
This commit is contained in:
		
							parent
							
								
									6ec6cb50dd
								
							
						
					
					
						commit
						a79f060ea2
					
				| @ -38,10 +38,11 @@ void Controller_Keyboard::OnUpdate(const Core::Timing::CoreTiming& core_timing, | |||||||
|     cur_entry.sampling_number = last_entry.sampling_number + 1; |     cur_entry.sampling_number = last_entry.sampling_number + 1; | ||||||
|     cur_entry.sampling_number2 = cur_entry.sampling_number; |     cur_entry.sampling_number2 = cur_entry.sampling_number; | ||||||
| 
 | 
 | ||||||
|  |     cur_entry.key.fill(0); | ||||||
|  |     cur_entry.modifier = 0; | ||||||
|  | 
 | ||||||
|     for (std::size_t i = 0; i < keyboard_keys.size(); ++i) { |     for (std::size_t i = 0; i < keyboard_keys.size(); ++i) { | ||||||
|         for (std::size_t k = 0; k < KEYS_PER_BYTE; ++k) { |         cur_entry.key[i / KEYS_PER_BYTE] |= (keyboard_keys[i]->GetStatus() << (i % KEYS_PER_BYTE)); | ||||||
|             cur_entry.key[i / KEYS_PER_BYTE] |= (keyboard_keys[i]->GetStatus() << k); |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     for (std::size_t i = 0; i < keyboard_mods.size(); ++i) { |     for (std::size_t i = 0; i < keyboard_mods.size(); ++i) { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 David Marcec
						David Marcec