From e5fc5dac3e66a984d2cab1302704009169cc918d Mon Sep 17 00:00:00 2001 From: liam <6005409+lmcintyre@users.noreply.github.com> Date: Fri, 15 Jul 2022 13:59:16 -0400 Subject: [PATCH] Add VirtualKey -> ImGuiKey helper method to ImGuiHelpers (#917) Co-authored-by: goat --- Dalamud/Interface/ImGuiHelpers.cs | 22 ++++++++++++++++++++++ lib/ImGuiScene | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) 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