Merge pull request #981 from Demonthos/update-crossterm-rink

Update crossterm version
This commit is contained in:
Jon Kelley authored and GitHub committed 2023-06-30 12:13:42 -07:00
commit 50b0bcaa6f
5 files changed
+69 -5

No files matched your search

+1 -1
View File
@@ -21,7 +21,7 @@ dioxus-native-core-macro = { workspace = true }
dioxus-hot-reload = { workspace = true, optional = true } dioxus-hot-reload = { workspace = true, optional = true }
rink = { workspace = true } rink = { workspace = true }
crossterm = "0.23.0" crossterm = "0.26.0"
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full"] }
futures = "0.3.19" futures = "0.3.19"
taffy = "0.3.12" taffy = "0.3.12"
+4
View File
@@ -47,10 +47,14 @@ fn key_down() {
tui_ctx.inject_event(Event::Key(KeyEvent { tui_ctx.inject_event(Event::Key(KeyEvent {
code: KeyCode::Tab, code: KeyCode::Tab,
modifiers: KeyModifiers::NONE, modifiers: KeyModifiers::NONE,
kind: crossterm::event::KeyEventKind::Press,
state: crossterm::event::KeyEventState::NONE,
})); }));
tui_ctx.inject_event(Event::Key(KeyEvent { tui_ctx.inject_event(Event::Key(KeyEvent {
code: KeyCode::Char('a'), code: KeyCode::Char('a'),
modifiers: KeyModifiers::NONE, modifiers: KeyModifiers::NONE,
kind: crossterm::event::KeyEventKind::Press,
state: crossterm::event::KeyEventState::NONE,
})); }));
cx.render(rsx! { cx.render(rsx! {
div { div {
+1 -1
View File
@@ -18,7 +18,7 @@ dioxus-native-core = { workspace = true }
dioxus-native-core-macro = { workspace = true } dioxus-native-core-macro = { workspace = true }
tui = "0.17.0" tui = "0.17.0"
crossterm = "0.23.0" crossterm = "0.26.1"
anyhow = "1.0.42" anyhow = "1.0.42"
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full"] }
futures = "0.3.19" futures = "0.3.19"
+62 -2
View File
@@ -1,5 +1,6 @@
use crossterm::event::{ use crossterm::event::{
Event as TermEvent, KeyCode as TermKeyCode, KeyModifiers, MouseButton, MouseEventKind, Event as TermEvent, KeyCode as TermKeyCode, KeyModifiers, ModifierKeyCode, MouseButton,
MouseEventKind,
}; };
use dioxus_native_core::prelude::*; use dioxus_native_core::prelude::*;
use dioxus_native_core::real_dom::NodeImmutable; use dioxus_native_core::real_dom::NodeImmutable;
@@ -800,6 +801,34 @@ fn key_from_crossterm_key_code(key_code: TermKeyCode) -> Key {
TermKeyCode::Char(c) => Key::Character(c.to_string()), TermKeyCode::Char(c) => Key::Character(c.to_string()),
TermKeyCode::Null => Key::Unidentified, TermKeyCode::Null => Key::Unidentified,
TermKeyCode::Esc => Key::Escape, TermKeyCode::Esc => Key::Escape,
TermKeyCode::CapsLock => Key::CapsLock,
TermKeyCode::ScrollLock => Key::ScrollLock,
TermKeyCode::NumLock => Key::NumLock,
TermKeyCode::PrintScreen => Key::PrintScreen,
TermKeyCode::Pause => Key::Pause,
TermKeyCode::Media(crossterm::event::MediaKeyCode::FastForward) => Key::MediaFastForward,
TermKeyCode::Media(crossterm::event::MediaKeyCode::PlayPause) => Key::MediaPlayPause,
TermKeyCode::Media(crossterm::event::MediaKeyCode::TrackPrevious) => {
Key::MediaTrackPrevious
}
TermKeyCode::Media(crossterm::event::MediaKeyCode::TrackNext) => Key::MediaTrackNext,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Stop) => Key::MediaStop,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Play) => Key::MediaPlay,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Pause) => Key::MediaPause,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Record) => Key::MediaRecord,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Rewind) => Key::MediaRewind,
TermKeyCode::Modifier(modifier) => match modifier {
ModifierKeyCode::IsoLevel3Shift
| ModifierKeyCode::IsoLevel5Shift
| ModifierKeyCode::RightShift
| ModifierKeyCode::LeftShift => Key::Shift,
ModifierKeyCode::RightControl | ModifierKeyCode::LeftControl => Key::Control,
ModifierKeyCode::RightAlt | ModifierKeyCode::LeftAlt => Key::Alt,
ModifierKeyCode::RightSuper | ModifierKeyCode::LeftSuper => Key::Super,
ModifierKeyCode::RightHyper | ModifierKeyCode::LeftHyper => Key::Hyper,
ModifierKeyCode::LeftMeta | ModifierKeyCode::RightMeta => Key::Meta,
},
_ => Key::Unidentified,
} }
} }
@@ -929,8 +958,39 @@ fn guess_code_from_crossterm_key_code(key_code: TermKeyCode) -> Option<Code> {
'~' => Code::Backquote, '~' => Code::Backquote,
_ => return None, _ => return None,
}, },
TermKeyCode::Null => return None,
TermKeyCode::Esc => Code::Escape, TermKeyCode::Esc => Code::Escape,
TermKeyCode::CapsLock => Code::CapsLock,
TermKeyCode::ScrollLock => Code::ScrollLock,
TermKeyCode::NumLock => Code::NumLock,
TermKeyCode::PrintScreen => Code::PrintScreen,
TermKeyCode::Pause => Code::Pause,
TermKeyCode::Menu => Code::ContextMenu,
TermKeyCode::Media(crossterm::event::MediaKeyCode::FastForward) => Code::MediaFastForward,
TermKeyCode::Media(crossterm::event::MediaKeyCode::PlayPause) => Code::MediaPlayPause,
TermKeyCode::Media(crossterm::event::MediaKeyCode::TrackPrevious) => {
Code::MediaTrackPrevious
}
TermKeyCode::Media(crossterm::event::MediaKeyCode::TrackNext) => Code::MediaTrackNext,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Stop) => Code::MediaStop,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Play) => Code::MediaPlay,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Pause) => Code::MediaPause,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Record) => Code::MediaRecord,
TermKeyCode::Media(crossterm::event::MediaKeyCode::Rewind) => Code::MediaRewind,
TermKeyCode::Modifier(modifier) => match modifier {
ModifierKeyCode::IsoLevel3Shift
| ModifierKeyCode::IsoLevel5Shift
| ModifierKeyCode::LeftShift => Code::ShiftLeft,
ModifierKeyCode::RightShift => Code::ShiftRight,
ModifierKeyCode::RightControl => Code::ControlRight,
ModifierKeyCode::LeftControl => Code::ControlLeft,
ModifierKeyCode::RightAlt => Code::AltRight,
ModifierKeyCode::LeftAlt => Code::AltLeft,
ModifierKeyCode::RightSuper | ModifierKeyCode::LeftSuper => Code::Super,
ModifierKeyCode::RightHyper | ModifierKeyCode::LeftHyper => Code::Hyper,
ModifierKeyCode::LeftMeta => Code::MetaLeft,
ModifierKeyCode::RightMeta => Code::MetaRight,
},
_ => return None,
}; };
Some(code) Some(code)
+1 -1
View File
@@ -235,7 +235,7 @@ pub fn render<R: Driver>(
} }
} }
TermEvent::Resize(_, _) => updated = true, TermEvent::Resize(_, _) => updated = true,
TermEvent::Mouse(_) => {} _ => {}
}, },
InputEvent::Close => break, InputEvent::Close => break,
}; };