fix: only accept modifier keybinds when input focused

This commit is contained in:
Anna 2022-01-30 15:50:56 -05:00
parent 85ab87c9dd
commit f04fcfe4a4
Signed by: anna
GPG Key ID: 0B391D8F06FCD9E0

View File

@ -176,7 +176,7 @@ internal sealed class ChatLog : IUiComponent {
private unsafe ImGuiViewport* _lastViewport;
private void HandleKeybinds() {
private void HandleKeybinds(bool modifiersOnly = false) {
var modifierState = (ModifierFlag) 0;
if (ImGui.GetIO().KeyAlt) {
modifierState |= ModifierFlag.Alt;
@ -197,7 +197,7 @@ internal sealed class ChatLog : IUiComponent {
}
void Intercept(VirtualKey key, ModifierFlag modifier) {
if (!ImGui.IsKeyPressed((int) key) || !modifierState.HasFlag(modifier)) {
if (!ImGui.IsKeyPressed((int) key) || !modifierState.HasFlag(modifier) || modifier == 0 && modifiersOnly) {
return;
}
@ -385,7 +385,7 @@ internal sealed class ChatLog : IUiComponent {
}
if (ImGui.IsItemActive()) {
this.HandleKeybinds();
this.HandleKeybinds(true);
}
if (!this.Activate && !ImGui.IsItemActive()) {