diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp index 29dea2f024..c2f33a5ccc 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp @@ -44,6 +44,15 @@ bool CWII_IPC_HLE_Device_usb_kbd::Open(u32 _CommandAddress, u32 _Mode) return true; } +bool CWII_IPC_HLE_Device_usb_kbd::Close(u32 _CommandAddress, bool _bForce) +{ + INFO_LOG(WII_IPC_NET, "USB_KBD: Close"); + if (!_bForce) + Memory::Write_U32(0, _CommandAddress + 4); + m_Active = false; + return true; +} + bool CWII_IPC_HLE_Device_usb_kbd::Write(u32 _CommandAddress) { WARN_LOG(WII_IPC_STM, "Ignoring write to CWII_IPC_HLE_Device_usb_kbd"); diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h index 445c494cfd..f17679a326 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h @@ -8,6 +8,7 @@ public: virtual ~CWII_IPC_HLE_Device_usb_kbd(); virtual bool Open(u32 _CommandAddress, u32 _Mode); + virtual bool Close(u32 _CommandAddress, bool _bForce); virtual bool Write(u32 _CommandAddress); virtual bool IOCtl(u32 _CommandAddress); virtual u32 Update();