diff --git a/src/graphics/Window.zig b/src/graphics/Window.zig index 1d4cea2f..96d2b31d 100644 --- a/src/graphics/Window.zig +++ b/src/graphics/Window.zig @@ -114,6 +114,7 @@ pub const GLFWCallbacks = struct { std.log.err("GLFW Error({}): {s}", .{errorCode, description}); } fn keyCallback(_: ?*c.GLFWwindow, glfw_key: c_int, scancode: c_int, action: c_int, _mods: c_int) callconv(.C) void { + if(main.gui.selectedTextInput != null and c.glfwGetKeyName(glfw_key, scancode) != null) return; // Don't send events for keys that are used in writing letters. const mods: Key.Modifiers = @bitCast(@as(u6, @intCast(_mods))); if(action == c.GLFW_PRESS) { for(&main.KeyBoard.keys) |*key| { diff --git a/src/gui/gui.zig b/src/gui/gui.zig index 66e3ad3f..d89dc334 100644 --- a/src/gui/gui.zig +++ b/src/gui/gui.zig @@ -27,7 +27,7 @@ var windowList: List(*GuiWindow) = undefined; var hudWindows: List(*GuiWindow) = undefined; pub var openWindows: List(*GuiWindow) = undefined; var selectedWindow: ?*GuiWindow = null; -var selectedTextInput: ?*TextInput = null; +pub var selectedTextInput: ?*TextInput = null; var hoveredAWindow: bool = false; pub var scale: f32 = undefined;