[ui, win32] Fixed char input and modifier keys
This commit is contained in:
parent
9accf4c666
commit
cae8666561
|
@ -172,6 +172,11 @@ static void mp_update_key_state(mp_key_state* key, mp_key_action action)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mp_update_key_mods(mp_keymod_flags mods)
|
||||||
|
{
|
||||||
|
__mpApp.inputState.keyboard.mods = mods;
|
||||||
|
}
|
||||||
|
|
||||||
static void mp_update_mouse_move(f32 x, f32 y, f32 deltaX, f32 deltaY)
|
static void mp_update_mouse_move(f32 x, f32 y, f32 deltaX, f32 deltaY)
|
||||||
{
|
{
|
||||||
u64 frameCounter = __mpApp.inputState.frameCounter;
|
u64 frameCounter = __mpApp.inputState.frameCounter;
|
||||||
|
|
|
@ -369,11 +369,6 @@ void mp_install_keyboard_layout_listener()
|
||||||
object:nil];
|
object:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mp_update_key_mods(mp_keymod_flags mods)
|
|
||||||
{
|
|
||||||
__mpApp.inputState.keyboard.mods = mods;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------
|
//---------------------------------------------------------------
|
||||||
// Application and app delegate
|
// Application and app delegate
|
||||||
//---------------------------------------------------------------
|
//---------------------------------------------------------------
|
||||||
|
|
|
@ -455,6 +455,9 @@ LRESULT WinProc(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
event.key.code = mp_convert_win32_key(HIWORD(lParam) & 0x1ff);
|
event.key.code = mp_convert_win32_key(HIWORD(lParam) & 0x1ff);
|
||||||
event.key.mods = mp_get_mod_keys();
|
event.key.mods = mp_get_mod_keys();
|
||||||
mp_queue_event(&event);
|
mp_queue_event(&event);
|
||||||
|
|
||||||
|
mp_update_key_mods(event.key.mods);
|
||||||
|
mp_update_key_state(&__mpApp.inputState.keyboard.keys[event.key.code], event.key.action);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case WM_KEYUP:
|
case WM_KEYUP:
|
||||||
|
@ -467,6 +470,10 @@ LRESULT WinProc(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
event.key.code = mp_convert_win32_key(HIWORD(lParam) & 0x1ff);
|
event.key.code = mp_convert_win32_key(HIWORD(lParam) & 0x1ff);
|
||||||
event.key.mods = mp_get_mod_keys();
|
event.key.mods = mp_get_mod_keys();
|
||||||
mp_queue_event(&event);
|
mp_queue_event(&event);
|
||||||
|
|
||||||
|
mp_update_key_mods(event.key.mods);
|
||||||
|
mp_update_key_state(&__mpApp.inputState.keyboard.keys[event.key.code], event.key.action);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case WM_CHAR:
|
case WM_CHAR:
|
||||||
|
@ -478,6 +485,9 @@ LRESULT WinProc(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
str8 seq = utf8_encode(event.character.sequence, event.character.codepoint);
|
str8 seq = utf8_encode(event.character.sequence, event.character.codepoint);
|
||||||
event.character.seqLen = seq.len;
|
event.character.seqLen = seq.len;
|
||||||
mp_queue_event(&event);
|
mp_queue_event(&event);
|
||||||
|
|
||||||
|
mp_update_text(event.character.codepoint);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case WM_DROPFILES:
|
case WM_DROPFILES:
|
||||||
|
|
Loading…
Reference in New Issue