summaryrefslogtreecommitdiffstats
path: root/native/src/widget
diff options
context:
space:
mode:
Diffstat (limited to 'native/src/widget')
-rw-r--r--native/src/widget/pane_grid.rs26
-rw-r--r--native/src/widget/text_input.rs9
2 files changed, 16 insertions, 19 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index f84775ed..0b735ad3 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -532,24 +532,19 @@ where
Event::Mouse(mouse::Event::CursorMoved { .. }) => {
self.trigger_resize(layout, cursor_position, messages);
}
- Event::Keyboard(keyboard::Event::Input {
+ Event::Keyboard(keyboard::Event::KeyPressed {
modifiers,
key_code,
- state,
}) => {
if let Some(on_key_press) = &self.on_key_press {
// TODO: Discard when event is captured
- if state == ButtonState::Pressed {
- if let Some(_) = self.state.active_pane() {
- if modifiers.matches(self.modifier_keys) {
- if let Some(message) =
- on_key_press(KeyPressEvent {
- key_code,
- modifiers,
- })
- {
- messages.push(message);
- }
+ if let Some(_) = self.state.active_pane() {
+ if modifiers.matches(self.modifier_keys) {
+ if let Some(message) = on_key_press(KeyPressEvent {
+ key_code,
+ modifiers,
+ }) {
+ messages.push(message);
}
}
}
@@ -557,6 +552,11 @@ where
*self.pressed_modifiers = modifiers;
}
+ Event::Keyboard(keyboard::Event::KeyReleased {
+ modifiers, ..
+ }) => {
+ *self.pressed_modifiers = modifiers;
+ }
_ => {}
}
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs
index 7d1a7415..ea6921b5 100644
--- a/native/src/widget/text_input.rs
+++ b/native/src/widget/text_input.rs
@@ -327,9 +327,8 @@ where
let message = (self.on_change)(editor.contents());
messages.push(message);
}
- Event::Keyboard(keyboard::Event::Input {
+ Event::Keyboard(keyboard::Event::KeyPressed {
key_code,
- state: ButtonState::Pressed,
modifiers,
}) if self.state.is_focused => match key_code {
keyboard::KeyCode::Enter => {
@@ -473,10 +472,8 @@ where
}
_ => {}
},
- Event::Keyboard(keyboard::Event::Input {
- key_code,
- state: ButtonState::Released,
- ..
+ Event::Keyboard(keyboard::Event::KeyReleased {
+ key_code, ..
}) => match key_code {
keyboard::KeyCode::V => {
self.state.is_pasting = None;