Unify keyboard subscriptions into listen

This commit is contained in:
Héctor Ramón Jiménez 2025-12-02 18:35:50 +01:00
parent 0df5765e2f
commit 7e5b6f6802
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
9 changed files with 77 additions and 96 deletions

View file

@ -58,12 +58,20 @@ impl Layout {
fn subscription(&self) -> Subscription<Message> {
use keyboard::key;
keyboard::on_key_release(|key, _physical_key, _modifiers| match key {
keyboard::Key::Named(key::Named::ArrowLeft) => {
Some(Message::Previous)
keyboard::listen().filter_map(|event| {
let keyboard::Event::KeyPressed { modified_key, .. } = event else {
return None;
};
match modified_key {
keyboard::Key::Named(key::Named::ArrowLeft) => {
Some(Message::Previous)
}
keyboard::Key::Named(key::Named::ArrowRight) => {
Some(Message::Next)
}
_ => None,
}
keyboard::Key::Named(key::Named::ArrowRight) => Some(Message::Next),
_ => None,
})
}