mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-09 16:31:28 +12:00
Use g_fxo for cellKb, cellMouse
Use init_mutex
This commit is contained in:
parent
17d764409e
commit
4b19e55fcc
7 changed files with 108 additions and 69 deletions
|
@ -71,33 +71,41 @@ EmuCallbacks main_application::CreateCallbacks()
|
|||
pad::get_current_handler()->SetEnabled(enable);
|
||||
};
|
||||
|
||||
callbacks.get_kb_handler = [=]() -> std::shared_ptr<KeyboardHandlerBase>
|
||||
callbacks.init_kb_handler = [=]()
|
||||
{
|
||||
switch (keyboard_handler type = g_cfg.io.keyboard)
|
||||
{
|
||||
case keyboard_handler::null: return std::make_shared<NullKeyboardHandler>();
|
||||
case keyboard_handler::null:
|
||||
{
|
||||
g_fxo->init<KeyboardHandlerBase, NullKeyboardHandler>();
|
||||
break;
|
||||
}
|
||||
case keyboard_handler::basic:
|
||||
{
|
||||
basic_keyboard_handler* ret = new basic_keyboard_handler();
|
||||
basic_keyboard_handler* ret = g_fxo->init<KeyboardHandlerBase, basic_keyboard_handler>();
|
||||
ret->moveToThread(get_thread());
|
||||
ret->SetTargetWindow(m_game_window);
|
||||
return std::shared_ptr<KeyboardHandlerBase>(ret);
|
||||
break;
|
||||
}
|
||||
default: fmt::throw_exception("Invalid keyboard handler: %s", type);
|
||||
}
|
||||
};
|
||||
|
||||
callbacks.get_mouse_handler = [=]() -> std::shared_ptr<MouseHandlerBase>
|
||||
callbacks.init_mouse_handler = [=]()
|
||||
{
|
||||
switch (mouse_handler type = g_cfg.io.mouse)
|
||||
{
|
||||
case mouse_handler::null: return std::make_shared<NullMouseHandler>();
|
||||
case mouse_handler::null:
|
||||
{
|
||||
g_fxo->init<MouseHandlerBase, NullMouseHandler>();
|
||||
break;
|
||||
}
|
||||
case mouse_handler::basic:
|
||||
{
|
||||
basic_mouse_handler* ret = new basic_mouse_handler();
|
||||
basic_mouse_handler* ret = g_fxo->init<MouseHandlerBase, basic_mouse_handler>();
|
||||
ret->moveToThread(get_thread());
|
||||
ret->SetTargetWindow(m_game_window);
|
||||
return std::shared_ptr<MouseHandlerBase>(ret);
|
||||
break;
|
||||
}
|
||||
default: fmt::throw_exception("Invalid mouse handler: %s", type);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue