implement interception for cellKb and cellMouse

this needs to be tested
This commit is contained in:
Megamouse 2020-10-04 22:46:28 +02:00 committed by Ivan
parent c65b7d0aea
commit 4984e87776
17 changed files with 130 additions and 31 deletions

View file

@ -3,10 +3,9 @@
#include <Emu/System.h>
#include <Emu/IdManager.h>
#include "Emu/Io/interception.h"
#include <Emu/RSX/Overlays/overlay_save_dialog.h>
#include "Input/pad_thread.h"
s32 save_data_dialog::ShowSaveDataList(std::vector<SaveDataEntry>& save_entries, s32 focused, u32 op, vm::ptr<CellSaveDataListSet> listSet)
{
// TODO: Install native shell as an Emu callback
@ -26,7 +25,7 @@ s32 save_data_dialog::ShowSaveDataList(std::vector<SaveDataEntry>& save_entries,
atomic_t<bool> dlg_result(false);
atomic_t<s32> selection;
pad::SetIntercepted(true);
input::SetIntercepted(true);
Emu.CallAfter([&]()
{
@ -41,7 +40,7 @@ s32 save_data_dialog::ShowSaveDataList(std::vector<SaveDataEntry>& save_entries,
thread_ctrl::wait_for(1000);
}
pad::SetIntercepted(false);
input::SetIntercepted(false);
return selection.load();
}