diff --git a/src/main.cpp b/src/main.cpp index 5ed5fb5..a02768d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) { ChangeDetector layout_reloader{slides->$deck->config["layouts"]}; while(controller.isOpen()) { - while (const auto event = presenter.pollEvent()) { + while(const auto event = presenter.pollEvent()) { if(event) slides->handle_events(presenter, *event); } diff --git a/src/slides_ui.cpp b/src/slides_ui.cpp index 834816f..49e8e50 100644 --- a/src/slides_ui.cpp +++ b/src/slides_ui.cpp @@ -219,6 +219,24 @@ void SlidesUI::handle_events(sf::RenderWindow& presenter, const sf::Event& event mouse(pos.x, pos.y, {1 << guecs::ModBit::right}); } } + + if(const auto* key = event.getIf()) { + using KEY = sf::Keyboard::Scan; + switch(key->scancode) { + case KEY::Space: + case KEY::PageDown: + case KEY::Down: + next_slide(); + break; + case KEY::Backspace: + case KEY::PageUp: + case KEY::Up: + prev_slide(); + break; + default: + break; + } + } } void SlidesUI::configure_layouts() {