From 5738ac20559ff3c327fd9bcf3bcf323281a4c504 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 9 Feb 2024 13:27:27 -0500 Subject: [PATCH] fix(input): handle space named key --- src/widget/text_input/input.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/widget/text_input/input.rs b/src/widget/text_input/input.rs index b3c9203d..855fce4b 100644 --- a/src/widget/text_input/input.rs +++ b/src/widget/text_input/input.rs @@ -1299,7 +1299,7 @@ where return event::Status::Captured; } } - Event::Keyboard(keyboard::Event::KeyPressed { key, .. }) => { + Event::Keyboard(keyboard::Event::KeyPressed { key, text, .. }) => { let state = state(); if let Some(focus) = &mut state.is_focused { @@ -1489,19 +1489,24 @@ where state.keyboard_modifiers = keyboard::Modifiers::default(); } - keyboard::Key::Named(keyboard::key::Named::Tab) - | keyboard::Key::Named(keyboard::key::Named::ArrowUp) - | keyboard::Key::Named(keyboard::key::Named::ArrowDown) => { + keyboard::Key::Named( + keyboard::key::Named::Tab + | keyboard::key::Named::ArrowUp + | keyboard::key::Named::ArrowDown, + ) => { return event::Status::Ignored; } - keyboard::Key::Character(c) => { + keyboard::Key::Character(_) + | keyboard::Key::Named(keyboard::key::Named::Space) => { if state.is_pasting.is_none() && !state.keyboard_modifiers.command() && !modifiers.control() { let mut editor = Editor::new(unsecured_value, &mut state.cursor); - editor.insert(c.chars().next().unwrap_or_default()); + editor.insert( + text.unwrap_or_default().chars().next().unwrap_or_default(), + ); let contents = editor.contents(); let unsecured_value = Value::new(&contents); let message = (on_input)(contents);