summaryrefslogtreecommitdiff
path: root/src/core/hid/emulated_devices.cpp
diff options
context:
space:
mode:
authorGravatar german772021-11-13 23:25:45 -0600
committerGravatar Narr the Reg2021-11-24 20:30:28 -0600
commitb673857d7dfc72f38d9242b315cd590b859795ff (patch)
tree8dbb0823ddfdb827eec99f9f05c678a9d15d6631 /src/core/hid/emulated_devices.cpp
parentcore/hid: Fix keyboard alignment (diff)
downloadyuzu-b673857d7dfc72f38d9242b315cd590b859795ff.tar.gz
yuzu-b673857d7dfc72f38d9242b315cd590b859795ff.tar.xz
yuzu-b673857d7dfc72f38d9242b315cd590b859795ff.zip
core/hid: Improve accuracy of the keyboard implementation
Diffstat (limited to 'src/core/hid/emulated_devices.cpp')
-rw-r--r--src/core/hid/emulated_devices.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hid/emulated_devices.cpp b/src/core/hid/emulated_devices.cpp
index e97470240..0d840a003 100644
--- a/src/core/hid/emulated_devices.cpp
+++ b/src/core/hid/emulated_devices.cpp
@@ -170,13 +170,14 @@ void EmulatedDevices::SetKeyboardButton(Common::Input::CallbackStatus callback,
170 return; 170 return;
171 } 171 }
172 172
173 // Index should be converted from NativeKeyboard to KeyboardKeyIndex
173 UpdateKey(index, current_status.value); 174 UpdateKey(index, current_status.value);
174 175
175 TriggerOnChange(DeviceTriggerType::Keyboard); 176 TriggerOnChange(DeviceTriggerType::Keyboard);
176} 177}
177 178
178void EmulatedDevices::UpdateKey(std::size_t key_index, bool status) { 179void EmulatedDevices::UpdateKey(std::size_t key_index, bool status) {
179 constexpr u8 KEYS_PER_BYTE = 8; 180 constexpr std::size_t KEYS_PER_BYTE = 8;
180 auto& entry = device_status.keyboard_state.key[key_index / KEYS_PER_BYTE]; 181 auto& entry = device_status.keyboard_state.key[key_index / KEYS_PER_BYTE];
181 const u8 mask = static_cast<u8>(1 << (key_index % KEYS_PER_BYTE)); 182 const u8 mask = static_cast<u8>(1 << (key_index % KEYS_PER_BYTE));
182 if (status) { 183 if (status) {