Browse Source
Merge pull request #3926 from ogniK5377/keyboard-states
hid: Clear keyboard states & fix logic issue
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
4 additions and
3 deletions
-
src/core/hle/service/hid/controllers/keyboard.cpp
|
|
|
@ -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_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 k = 0; k < KEYS_PER_BYTE; ++k) { |
|
|
|
cur_entry.key[i / KEYS_PER_BYTE] |= (keyboard_keys[i]->GetStatus() << k); |
|
|
|
} |
|
|
|
cur_entry.key[i / KEYS_PER_BYTE] |= (keyboard_keys[i]->GetStatus() << (i % KEYS_PER_BYTE)); |
|
|
|
} |
|
|
|
|
|
|
|
for (std::size_t i = 0; i < keyboard_mods.size(); ++i) { |
|
|
|
|