Amend Changelog to talk about OEM keys. (#7136, #7201, #7206, #7306, #7670, #7672, #8468)
+ more consistently use Ctrl+XXX instead of Ctrl-XXX.
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 07a9801..5975e91 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -123,16 +123,18 @@
SDL_MAIN_USE_CALLBACKS feature. (#8455)
- IO: Added ImGuiKey_Oem102 to ImGuiKey enum. (#7136, #7201, #7206, #7306, #8468)
- Backends: reworked key handlers to use/prioritize untranslated scancodes instead of
- translated keycodes when dealing with OEM keys. (#7136, #7201, #7206, #7306, #7670, #7672, #8468)
- Not that only ImGuiKey value (NOT the characters used for text input) are affected.
+ translated keycodes when dealing with OEM keys which are too difficult to find a reliable
+ translated mapping on all systems, backends and keyboard layout.
+ (#7136, #7201, #7206, #7306, #7670, #7672, #8468)
+ - The affected keys are: ImGuiKey_Apostrophe, ImGuiKey_Comma, ImGuiKey_Minus, ImGuiKey_Period,
+ ImGuiKey_Slash, ImGuiKey_Semicolon, ImGuiKey_Equal, ImGuiKey_LeftBracket, ImGuiKey_RightBracket,
+ ImGuiKey_Backslash, ImGuiKey_GraveAccent, and newly introduced ImGuiKey_Oem102.
+ - This is NOT affecting characters used the text inputs.
+ - Fixes many cases of keys not emitting a ImGuiKey value with certain keyboad layouts.
+ - Makes emitted ImGuiKey values more consistent regardless of keyboard mapping,
+ but you may be getting different values as before.
- Win32, SDL2, SDL3: Use scancodes for OEM keys.
- GLFW: GLFW_KEY_WORLD_1 and GLFW_KEY_WORLD_2 are emitting ImGuiKey_Oem102.
- - Fixes many cases of keys not emitting a ImGuiKey value with certain keyboad layouts.
- - Makes emitted ImGuiKey values more consistent regardless of keyboard mapping.
- - OEM keys are: ImGuiKey_Apostrophe, ImGuiKey_Comma, ImGuiKey_Minus, ImGuiKey_Period,
- ImGuiKey_Slash, ImGuiKey_Semicolon, ImGuiKey_Equal, ImGuiKey_LeftBracket,
- ImGuiKey_RightBracket, ImGuiKey_Backslash, ImGuiKey_GraveAccent, which are difficult
- to find a reliable translated mapping on all keyboard layouts.
- Backends: GLFW: Fixed clipboard handler assertion when using GLFW <= 3.2.1 compiled
with asserts enabled. (#8452)
- Backends: SDL2, SDL3: Using SDL_OpenURL() in platform_io.Platform_OpenInShellFn
@@ -2061,7 +2063,7 @@
- Public API: PushTabStop(false) / PopTabStop()
- Internal: PushItemFlag(ImGuiItemFlags_NoTabStop, true);
- Internal: Directly pass ImGuiItemFlags_NoTabStop to ItemAdd() for custom widgets.
-- Nav: Tabbing/Shift-Tabbing can more reliably be used to step out of an item that is not
+- Nav: Tabbing/Shift+Tabbing can more reliably be used to step out of an item that is not
tab-stoppable. (#3092, #5759, #787)
- Nav: Made Enter key submit the same type of Activation event as Space key,
allowing to press buttons with Enter. (#5606)
diff --git a/imgui.h b/imgui.h
index 7cecf06..429bb74 100644
--- a/imgui.h
+++ b/imgui.h
@@ -2436,7 +2436,7 @@
bool MouseDownOwned[5]; // Track if button was clicked inside a dear imgui window or over void blocked by a popup. We don't request mouse capture from the application if click started outside ImGui bounds.
bool MouseDownOwnedUnlessPopupClose[5]; // Track if button was clicked inside a dear imgui window.
bool MouseWheelRequestAxisSwap; // On a non-Mac system, holding SHIFT requests WheelY to perform the equivalent of a WheelX event. On a Mac system this is already enforced by the system.
- bool MouseCtrlLeftAsRightClick; // (OSX) Set to true when the current click was a ctrl-click that spawned a simulated right click
+ bool MouseCtrlLeftAsRightClick; // (OSX) Set to true when the current click was a Ctrl+click that spawned a simulated right click
float MouseDownDuration[5]; // Duration the mouse button has been down (0.0f == just clicked)
float MouseDownDurationPrev[5]; // Previous time the mouse button has been down
float MouseDragMaxDistanceSqr[5]; // Squared maximum distance of how much mouse has traveled from the clicking point (used for moving thresholds)
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 9ecdbae..fef30d2 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -2642,7 +2642,7 @@
bool temp_input_is_active = temp_input_allowed && TempInputIsActive(id);
if (!temp_input_is_active)
{
- // Tabbing or CTRL-clicking on Drag turns it into an InputText
+ // Tabbing or CTRL+click on Drag turns it into an InputText
const bool clicked = hovered && IsMouseClicked(0, ImGuiInputFlags_None, id);
const bool double_clicked = (hovered && g.IO.MouseClickedCount[0] == 2 && TestKeyOwner(ImGuiKey_MouseLeft, id));
const bool make_active = (clicked || double_clicked || g.NavActivateId == id);
@@ -3246,7 +3246,7 @@
bool temp_input_is_active = temp_input_allowed && TempInputIsActive(id);
if (!temp_input_is_active)
{
- // Tabbing or CTRL-clicking on Slider turns it into an input box
+ // Tabbing or CTRL+click on Slider turns it into an input box
const bool clicked = hovered && IsMouseClicked(0, ImGuiInputFlags_None, id);
const bool make_active = (clicked || g.NavActivateId == id);
if (make_active && clicked)
@@ -5495,7 +5495,7 @@
// Edit colors components (each component in 0.0f..1.0f range).
// See enum ImGuiColorEditFlags_ for available options. e.g. Only access 3 floats if ImGuiColorEditFlags_NoAlpha flag is set.
-// With typical options: Left-click on color square to open color picker. Right-click to open option menu. CTRL-Click over input fields to edit them and TAB to go to next item.
+// With typical options: Left-click on color square to open color picker. Right-click to open option menu. CTRL+Click over input fields to edit them and TAB to go to next item.
bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flags)
{
ImGuiWindow* window = GetCurrentWindow();