@@ -5523,7 +5523,7 @@ static bool ImGui::UpdateWindowManualResize(ImGuiWindow* window, const ImVec2& s
5523
5523
{
5524
5524
ImVec2 nav_resize_delta;
5525
5525
if (g.NavInputSource == ImGuiInputSource_Keyboard && g.IO.KeyShift)
5526
- nav_resize_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_Keyboard , ImGuiInputReadMode_Down);
5526
+ nav_resize_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_RawKeyboard , ImGuiInputReadMode_Down);
5527
5527
if (g.NavInputSource == ImGuiInputSource_Gamepad)
5528
5528
nav_resize_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_PadDPad, ImGuiInputReadMode_Down);
5529
5529
if (nav_resize_delta.x != 0.0f || nav_resize_delta.y != 0.0f)
@@ -9335,6 +9335,8 @@ float ImGui::GetNavInputAmount(ImGuiNavInput n, ImGuiInputReadMode mode)
9335
9335
ImVec2 ImGui::GetNavInputAmount2d(ImGuiNavDirSourceFlags dir_sources, ImGuiInputReadMode mode, float slow_factor, float fast_factor)
9336
9336
{
9337
9337
ImVec2 delta(0.0f, 0.0f);
9338
+ if (dir_sources & ImGuiNavDirSourceFlags_RawKeyboard)
9339
+ delta += ImVec2((float)IsKeyDown(GetKeyIndex(ImGuiKey_RightArrow)) - (float)IsKeyDown(GetKeyIndex(ImGuiKey_LeftArrow)), (float)IsKeyDown(GetKeyIndex(ImGuiKey_DownArrow)) - (float)IsKeyDown(GetKeyIndex(ImGuiKey_UpArrow)));
9338
9340
if (dir_sources & ImGuiNavDirSourceFlags_Keyboard)
9339
9341
delta += ImVec2(GetNavInputAmount(ImGuiNavInput_KeyRight_, mode) - GetNavInputAmount(ImGuiNavInput_KeyLeft_, mode), GetNavInputAmount(ImGuiNavInput_KeyDown_, mode) - GetNavInputAmount(ImGuiNavInput_KeyUp_, mode));
9340
9342
if (dir_sources & ImGuiNavDirSourceFlags_PadDPad)
@@ -10101,7 +10103,7 @@ static void ImGui::NavUpdateWindowing()
10101
10103
{
10102
10104
ImVec2 move_delta;
10103
10105
if (g.NavInputSource == ImGuiInputSource_Keyboard && !io.KeyShift)
10104
- move_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_Keyboard , ImGuiInputReadMode_Down);
10106
+ move_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_RawKeyboard , ImGuiInputReadMode_Down);
10105
10107
if (g.NavInputSource == ImGuiInputSource_Gamepad)
10106
10108
move_delta = GetNavInputAmount2d(ImGuiNavDirSourceFlags_PadLStick, ImGuiInputReadMode_Down);
10107
10109
if (move_delta.x != 0.0f || move_delta.y != 0.0f)
0 commit comments