mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-12 19:37:01 +00:00
Use unordered_map for keydown to allow codes above 255 (#248)
- Adds internal support for 32bit key codes, required for proper keyboard input on Linux - Use gdk_keyval_name to get key name on Linux
This commit is contained in:
parent
5e968eff4f
commit
9f02733a0d
14 changed files with 143 additions and 83 deletions
|
|
@ -170,16 +170,16 @@ int CemuApp::FilterEvent(wxEvent& event)
|
|||
{
|
||||
const auto& key_event = (wxKeyEvent&)event;
|
||||
wxGetKeyState(wxKeyCode::WXK_F17);
|
||||
uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags());
|
||||
if(keycode<256)
|
||||
g_window_info.keydown[keycode] = true;
|
||||
g_window_info.set_keystate(fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags()), true);
|
||||
}
|
||||
else if(event.GetEventType() == wxEVT_KEY_UP)
|
||||
{
|
||||
const auto& key_event = (wxKeyEvent&)event;
|
||||
uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags());
|
||||
if(keycode<256)
|
||||
g_window_info.keydown[keycode] = false;
|
||||
g_window_info.set_keystate(fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags()), false);
|
||||
}
|
||||
else if(event.GetEventType() == wxEVT_KILL_FOCUS)
|
||||
{
|
||||
g_window_info.set_keystatesdown();
|
||||
}
|
||||
|
||||
return wxApp::FilterEvent(event);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue