mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 14:37:08 +00: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