bind exit to ctrl+q

This commit is contained in:
Matthew Berry 2021-07-20 19:58:00 -07:00
parent 119300b76c
commit edd80c2ba1

View file

@ -119,23 +119,21 @@ class SDLOpenGLImGuiFrontend < Frontend
while event = SDL::Event.poll while event = SDL::Event.poll
ImGui::SDL2.process_event(event) ImGui::SDL2.process_event(event)
case event case event
when SDL::Event::Quit then exit 0 when SDL::Event::Quit then exit
when SDL::Event::JoyHat, when SDL::Event::JoyHat,
SDL::Event::JoyButton then @controller.handle_event(event) SDL::Event::JoyButton then @controller.handle_event(event)
when SDL::Event::Keyboard when SDL::Event::Keyboard
if @keybindings.wants_input? if @keybindings.wants_input?
@keybindings.key_released(event.sym) unless event.pressed? # pass on key release @keybindings.key_released(event.sym) unless event.pressed? # pass on key release
else else
case event.sym if event.sym == LibSDL::Keycode::TAB
when .tab? then @controller.toggle_sync if event.pressed? @controller.toggle_sync if event.pressed?
# when .m? then toggle_blending if event.pressed? elsif event.sym == LibSDL::Keycode::Q && event.mod.includes?(LibSDL::Keymod::LCTRL)
when .q? then exit 0 exit
else elsif input = @keybindings[event.sym]?
if input = @keybindings[event.sym]?
@controller.handle_input(input, event.pressed?) @controller.handle_input(input, event.pressed?)
end end
end end
end
else nil else nil
end end
end end
@ -199,7 +197,7 @@ class SDLOpenGLImGuiFrontend < Frontend
ImGui.menu_item "Pause", "", pointerof(@pause) ImGui.menu_item "Pause", "", pointerof(@pause)
open_keybindings = ImGui.menu_item "Keybindings" open_keybindings = ImGui.menu_item "Keybindings"
ImGui.separator ImGui.separator
exit if ImGui.menu_item "Exit" exit if ImGui.menu_item "Exit", "Ctrl+Q"
ImGui.end_menu ImGui.end_menu
toggle_blending if @enable_blend ^ @blending toggle_blending if @enable_blend ^ @blending