summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-05-31 08:46:17 -0400
committerLioncash <mathew1800@gmail.com>2019-05-31 09:00:08 -0400
commit7f5ca64c4d1b307f90cf26054502da95ee3b952e (patch)
tree78471a51fe7c175bc342a2c462df7063984e6305 /Source/Core
parentd89ea8bf410d204c9c5c05a4564cd7c927d390d5 (diff)
IOS/USB_KBD: Make the message type enum an enum class
Avoids polluting the surrounding scope with enum values. We can also make use of it in MessageData's constructor to enforce proper type passing.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/IOS/USB/USB_KBD.cpp9
-rw-r--r--Source/Core/Core/IOS/USB/USB_KBD.h12
2 files changed, 11 insertions, 10 deletions
diff --git a/Source/Core/Core/IOS/USB/USB_KBD.cpp b/Source/Core/Core/IOS/USB/USB_KBD.cpp
index 63b41cb230..6ea209c547 100644
--- a/Source/Core/Core/IOS/USB/USB_KBD.cpp
+++ b/Source/Core/Core/IOS/USB/USB_KBD.cpp
@@ -176,8 +176,9 @@ constexpr std::array<u8, 256> s_key_codes_azerty{};
#endif
} // Anonymous namespace
-USB_KBD::MessageData::MessageData(u32 type, u8 modifiers, PressedKeyData pressed_keys)
- : MsgType{Common::swap32(type)}, Modifiers{modifiers}, PressedKeys{pressed_keys}
+USB_KBD::MessageData::MessageData(MessageType type, u8 modifiers, PressedKeyData pressed_keys)
+ : MsgType{Common::swap32(static_cast<u32>(type))}, Modifiers{modifiers}, PressedKeys{
+ pressed_keys}
{
}
@@ -198,7 +199,7 @@ IPCCommandResult USB_KBD::Open(const OpenRequest& request)
m_OldKeyBuffer.fill(false);
m_OldModifiers = 0x00;
- // m_MessageQueue.emplace(MSG_KBD_CONNECT, 0, PressedKeyData{});
+ // m_MessageQueue.emplace(MessageType::KeyboardConnect, 0, PressedKeyData{});
return Device::Open(request);
}
@@ -304,6 +305,6 @@ void USB_KBD::Update()
}
if (GotEvent)
- m_MessageQueue.emplace(MSG_EVENT, Modifiers, PressedKeys);
+ m_MessageQueue.emplace(MessageType::Event, Modifiers, PressedKeys);
}
} // namespace IOS::HLE::Device
diff --git a/Source/Core/Core/IOS/USB/USB_KBD.h b/Source/Core/Core/IOS/USB/USB_KBD.h
index 0936a697d5..7ac5f9eab7 100644
--- a/Source/Core/Core/IOS/USB/USB_KBD.h
+++ b/Source/Core/Core/IOS/USB/USB_KBD.h
@@ -26,11 +26,11 @@ public:
void Update() override;
private:
- enum
+ enum class MessageType : u32
{
- MSG_KBD_CONNECT = 0,
- MSG_KBD_DISCONNECT = 1,
- MSG_EVENT = 2
+ KeyboardConnect = 0,
+ KeyboardDisconnect = 1,
+ Event = 2
};
using PressedKeyData = std::array<u8, 6>;
@@ -38,13 +38,13 @@ private:
#pragma pack(push, 1)
struct MessageData
{
- u32 MsgType = 0;
+ MessageType MsgType{};
u32 Unk1 = 0;
u8 Modifiers = 0;
u8 Unk2 = 0;
PressedKeyData PressedKeys{};
- MessageData(u32 msg_type, u8 modifiers, PressedKeyData pressed_keys);
+ MessageData(MessageType msg_type, u8 modifiers, PressedKeyData pressed_keys);
};
static_assert(std::is_trivially_copyable_v<MessageData>,
"MessageData must be trivially copyable, as it's copied into emulated memory.");