From 7d35789f62b544a79d34d275cb2fd1a25e81a0a6 Mon Sep 17 00:00:00 2001 From: Diamond White Date: Sat, 4 Apr 2026 16:31:49 -0500 Subject: [PATCH] run swipes on AltGr keycaps --- wayvr/src/main.rs | 1 + wayvr/src/overlays/keyboard/mod.rs | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/wayvr/src/main.rs b/wayvr/src/main.rs index 6d73a9ec..45085b09 100644 --- a/wayvr/src/main.rs +++ b/wayvr/src/main.rs @@ -280,6 +280,7 @@ fn logging_init(args: &mut Args) { .from_env_lossy() .add_directive("symphonia_core::probe=warn".parse().unwrap()) .add_directive("symphonia_bundle_mp3=warn".parse().unwrap()) + .add_directive("ort=warn".parse().unwrap()) .add_directive("zbus=warn".parse().unwrap()) .add_directive("usvg=error".parse().unwrap()) .add_directive("resvg=error".parse().unwrap()) diff --git a/wayvr/src/overlays/keyboard/mod.rs b/wayvr/src/overlays/keyboard/mod.rs index 96480d4e..7e486381 100644 --- a/wayvr/src/overlays/keyboard/mod.rs +++ b/wayvr/src/overlays/keyboard/mod.rs @@ -461,7 +461,9 @@ fn handle_mouse_motion( within_key_pos: &Option, device: usize ) { - if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() && *key_cap_type == KeyCapType::Letter { + if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() + && matches!(*key_cap_type, KeyCapType::Letter | KeyCapType::LetterAltGr) + { if !swipe_manager.is_current_swipe_empty() { match &key.button_state { KeyButtonData::Key { vk, pressed } => { @@ -493,7 +495,9 @@ fn handle_press( ) { match &key.button_state { KeyButtonData::Key { vk, pressed } => { - if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() && *key_cap_type == KeyCapType::Letter { + if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() + && matches!(*key_cap_type, KeyCapType::Letter | KeyCapType::LetterAltGr) + { if let Some(pos) = within_key_pos { if let Some(label) = key_label.first() { swipe_manager.add_swipe(pos, label.chars().next().unwrap_or_default(), device); @@ -545,7 +549,9 @@ fn handle_press( fn handle_release(app: &mut AppState, key: &KeyState, k_cap_type: &KeyCapType, keyboard: &mut KeyboardState) -> bool { match &key.button_state { KeyButtonData::Key { vk, pressed } => { - if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() && *k_cap_type == KeyCapType::Letter { + if let Some(swipe_manager) = keyboard.swipe_typing_manager.as_mut() + && matches!(*k_cap_type, KeyCapType::Letter | KeyCapType::LetterAltGr) + { if swipe_manager.did_swipe_leave_first_key() { match swipe_manager.predict() { Ok(()) => {},