|
@@ -7618,11 +7618,12 @@ static const char* const GKeyNames[] =
|
|
|
"Pause", "Keypad0", "Keypad1", "Keypad2", "Keypad3", "Keypad4", "Keypad5", "Keypad6",
|
|
|
"Keypad7", "Keypad8", "Keypad9", "KeypadDecimal", "KeypadDivide", "KeypadMultiply",
|
|
|
"KeypadSubtract", "KeypadAdd", "KeypadEnter", "KeypadEqual",
|
|
|
- "GamepadStart", "GamepadBack", "GamepadFaceUp", "GamepadFaceDown", "GamepadFaceLeft", "GamepadFaceRight",
|
|
|
- "GamepadDpadUp", "GamepadDpadDown", "GamepadDpadLeft", "GamepadDpadRight",
|
|
|
+ "GamepadStart", "GamepadBack",
|
|
|
+ "GamepadFaceLeft", "GamepadFaceRight", "GamepadFaceUp", "GamepadFaceDown",
|
|
|
+ "GamepadDpadLeft", "GamepadDpadRight", "GamepadDpadUp", "GamepadDpadDown",
|
|
|
"GamepadL1", "GamepadR1", "GamepadL2", "GamepadR2", "GamepadL3", "GamepadR3",
|
|
|
- "GamepadLStickUp", "GamepadLStickDown", "GamepadLStickLeft", "GamepadLStickRight",
|
|
|
- "GamepadRStickUp", "GamepadRStickDown", "GamepadRStickLeft", "GamepadRStickRight",
|
|
|
+ "GamepadLStickLeft", "GamepadLStickRight", "GamepadLStickUp", "GamepadLStickDown",
|
|
|
+ "GamepadRStickLeft", "GamepadRStickRight", "GamepadRStickUp", "GamepadRStickDown",
|
|
|
"ModCtrl", "ModShift", "ModAlt", "ModSuper"
|
|
|
};
|
|
|
IM_STATIC_ASSERT(ImGuiKey_NamedKey_COUNT == IM_ARRAYSIZE(GKeyNames));
|
|
@@ -10136,16 +10137,18 @@ float ImGui::GetNavInputAmount(ImGuiNavInput n, ImGuiNavReadMode mode)
|
|
|
ImGuiIO& io = g.IO;
|
|
|
if (mode == ImGuiNavReadMode_Down) // Instant, read analog input (0.0f..1.0f, as provided by user)
|
|
|
return io.NavInputs[n];
|
|
|
-
|
|
|
const float t = io.NavInputsDownDuration[n];
|
|
|
if (t < 0.0f)
|
|
|
return 0.0f;
|
|
|
- if (mode == ImGuiNavReadMode_Repeat)
|
|
|
+ switch (mode)
|
|
|
+ {
|
|
|
+ case ImGuiNavReadMode_Repeat:
|
|
|
return (float)CalcTypematicRepeatAmount(t - io.DeltaTime, t, io.KeyRepeatDelay * 0.72f, io.KeyRepeatRate * 0.80f);
|
|
|
- if (mode == ImGuiNavReadMode_RepeatSlow)
|
|
|
+ case ImGuiNavReadMode_RepeatSlow:
|
|
|
return (float)CalcTypematicRepeatAmount(t - io.DeltaTime, t, io.KeyRepeatDelay * 1.25f, io.KeyRepeatRate * 2.00f);
|
|
|
- if (mode == ImGuiNavReadMode_RepeatFast)
|
|
|
+ case ImGuiNavReadMode_RepeatFast:
|
|
|
return (float)CalcTypematicRepeatAmount(t - io.DeltaTime, t, io.KeyRepeatDelay * 0.72f, io.KeyRepeatRate * 0.30f);
|
|
|
+ }
|
|
|
return 0.0f;
|
|
|
}
|
|
|
|