diff --git a/Dalamud/Interface/ImGuiHelpers.cs b/Dalamud/Interface/ImGuiHelpers.cs index 3e39e9429..67c0c687d 100644 --- a/Dalamud/Interface/ImGuiHelpers.cs +++ b/Dalamud/Interface/ImGuiHelpers.cs @@ -4,7 +4,9 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Numerics; +using Dalamud.Game.ClientState.Keys; using ImGuiNET; +using ImGuiScene; namespace Dalamud.Interface { @@ -215,6 +217,26 @@ namespace Dalamud.Interface target.Value!.BuildLookupTable(); } + /// + /// Map a VirtualKey keycode to an ImGuiKey enum value. + /// + /// The VirtualKey value to retrieve the ImGuiKey counterpart for. + /// The ImGuiKey that corresponds to this VirtualKey, or ImGuiKey.None otherwise. + public static ImGuiKey VirtualKeyToImGuiKey(VirtualKey key) + { + return ImGui_Input_Impl_Direct.VirtualKeyToImGuiKey((int)key); + } + + /// + /// Map an ImGuiKey enum value to a VirtualKey code. + /// + /// The ImGuiKey value to retrieve the VirtualKey counterpart for. + /// The VirtualKey that corresponds to this ImGuiKey, or VirtualKey.NO_KEY otherwise. + public static VirtualKey ImGuiKeyToVirtualKey(ImGuiKey key) + { + return (VirtualKey)ImGui_Input_Impl_Direct.ImGuiKeyToVirtualKey(key); + } + /// /// Get data needed for each new frame. /// diff --git a/lib/ImGuiScene b/lib/ImGuiScene index 1e4c06b36..5dca91763 160000 --- a/lib/ImGuiScene +++ b/lib/ImGuiScene @@ -1 +1 @@ -Subproject commit 1e4c06b36013efb367c8c57c7f724a30f67a3973 +Subproject commit 5dca917630078e807ecabf5b33ccb8863655d7a4