From 8663851e7e49223f667b9de6cafc91b3a1c0e2b8 Mon Sep 17 00:00:00 2001 From: William Casarin Date: Fri, 17 May 2024 22:53:35 -0500 Subject: [PATCH] input: handle raw events --- src/app.rs | 51 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/src/app.rs b/src/app.rs index 301ffb3..1ed7924 100644 --- a/src/app.rs +++ b/src/app.rs @@ -104,30 +104,41 @@ fn send_initial_filters(damus: &mut Damus, relay_url: &str) { } } -fn try_process_event(damus: &mut Damus, ctx: &egui::Context) -> Result<()> { - ctx.input(|i| { - let amount = 0.2; - - for event in &i.raw.events { - match event { - egui::Event::Key { - key, pressed: true, .. - } => match key { - egui::Key::Equals => { - ctx.set_pixels_per_point(ctx.pixels_per_point() + amount); - } - - egui::Key::Minus => { - ctx.set_pixels_per_point(ctx.pixels_per_point() - amount); - } - - _ => {} - }, +fn handle_key_events(input: &egui::InputState, damus: &mut Damus, ctx: &egui::Context) { + let amount = 0.2; + for event in &input.raw.events { + if let egui::Event::Key { + key, pressed: true, .. + } = event + { + match key { + egui::Key::Equals => { + ctx.set_pixels_per_point(ctx.pixels_per_point() + amount); + } + egui::Key::Minus => { + ctx.set_pixels_per_point(ctx.pixels_per_point() - amount); + } + egui::Key::J => { + damus.select_down(); + } + egui::Key::K => { + damus.select_up(); + } + egui::Key::H => { + damus.select_left(); + } + egui::Key::L => { + damus.select_left(); + } _ => {} } } - }); + } +} + +fn try_process_event(damus: &mut Damus, ctx: &egui::Context) -> Result<()> { + ctx.input(|i| handle_key_events(i, damus, ctx)); let ctx2 = ctx.clone(); let wakeup = move || {