void MapInput() { var io = ImGui.GetIO(); io.KeyMap[GuiKey.Tab] = (int)Key.Tab; io.KeyMap[GuiKey.LeftArrow] = (int)Key.Left; io.KeyMap[GuiKey.RightArrow] = (int)Key.Right; io.KeyMap[GuiKey.UpArrow] = (int)Key.Up; io.KeyMap[GuiKey.DownArrow] = (int)Key.Down; io.KeyMap[GuiKey.PageUp] = (int)Key.PageUp; io.KeyMap[GuiKey.PageDown] = (int)Key.PageDown; io.KeyMap[GuiKey.Home] = (int)Key.Home; io.KeyMap[GuiKey.End] = (int)Key.End; io.KeyMap[GuiKey.Delete] = (int)Key.Delete; io.KeyMap[GuiKey.Backspace] = (int)Key.BackSpace; io.KeyMap[GuiKey.Enter] = (int)Key.Enter; io.KeyMap[GuiKey.Escape] = (int)Key.Escape; io.KeyMap[GuiKey.A] = (int)Key.A; io.KeyMap[GuiKey.C] = (int)Key.C; io.KeyMap[GuiKey.V] = (int)Key.V; io.KeyMap[GuiKey.X] = (int)Key.X; io.KeyMap[GuiKey.Y] = (int)Key.Y; io.KeyMap[GuiKey.Z] = (int)Key.Z; window.KeyDown += (sender, e) => { if (WantKeyboard) { ImGui.GetIO().KeysDown[(int)e.Key] = true; } else { engine.KeyDown(e); } }; window.KeyUp += (sender, e) => { if (WantKeyboard) { ImGui.GetIO().KeysDown[(int)e.Key] = false; } else { engine.KeyUp(e); } }; window.KeyPress += (sender, e) => { ImGui.AddInputCharacter(e.KeyChar); }; }