fix(input): handle space named key
This commit is contained in:
parent
f9d2e58327
commit
5738ac2055
1 changed files with 11 additions and 6 deletions
|
|
@ -1299,7 +1299,7 @@ where
|
||||||
return event::Status::Captured;
|
return event::Status::Captured;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Event::Keyboard(keyboard::Event::KeyPressed { key, .. }) => {
|
Event::Keyboard(keyboard::Event::KeyPressed { key, text, .. }) => {
|
||||||
let state = state();
|
let state = state();
|
||||||
|
|
||||||
if let Some(focus) = &mut state.is_focused {
|
if let Some(focus) = &mut state.is_focused {
|
||||||
|
|
@ -1489,19 +1489,24 @@ where
|
||||||
|
|
||||||
state.keyboard_modifiers = keyboard::Modifiers::default();
|
state.keyboard_modifiers = keyboard::Modifiers::default();
|
||||||
}
|
}
|
||||||
keyboard::Key::Named(keyboard::key::Named::Tab)
|
keyboard::Key::Named(
|
||||||
| keyboard::Key::Named(keyboard::key::Named::ArrowUp)
|
keyboard::key::Named::Tab
|
||||||
| keyboard::Key::Named(keyboard::key::Named::ArrowDown) => {
|
| keyboard::key::Named::ArrowUp
|
||||||
|
| keyboard::key::Named::ArrowDown,
|
||||||
|
) => {
|
||||||
return event::Status::Ignored;
|
return event::Status::Ignored;
|
||||||
}
|
}
|
||||||
keyboard::Key::Character(c) => {
|
keyboard::Key::Character(_)
|
||||||
|
| keyboard::Key::Named(keyboard::key::Named::Space) => {
|
||||||
if state.is_pasting.is_none()
|
if state.is_pasting.is_none()
|
||||||
&& !state.keyboard_modifiers.command()
|
&& !state.keyboard_modifiers.command()
|
||||||
&& !modifiers.control()
|
&& !modifiers.control()
|
||||||
{
|
{
|
||||||
let mut editor = Editor::new(unsecured_value, &mut state.cursor);
|
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 contents = editor.contents();
|
||||||
let unsecured_value = Value::new(&contents);
|
let unsecured_value = Value::new(&contents);
|
||||||
let message = (on_input)(contents);
|
let message = (on_input)(contents);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue