diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b65e63..9b1e5d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ Released on ?? - Added new `endpoint` and `new-path-style` to s3 connection parameters - Bugfix: - [Issue 92](https://github.com/veeso/termscp/issues/92): updated ssh2-config to 0.1.3, which solves this issue. + - [Issue 99](https://github.com/veeso/termscp/issues/99): Fixed AltGr characters not allowed in auth form - Dependencies: - Updated `remotefs-rs-aws-s3` to `0.2.0` - Updated `tui-realm-stdlib` to `1.1.6` diff --git a/src/ui/activities/auth/components/bookmarks.rs b/src/ui/activities/auth/components/bookmarks.rs index 75c162f..061b7ae 100644 --- a/src/ui/activities/auth/components/bookmarks.rs +++ b/src/ui/activities/auth/components/bookmarks.rs @@ -29,7 +29,7 @@ use super::{FormMsg, Msg, UiMsg}; use tui_realm_stdlib::{Input, List, Radio}; use tuirealm::command::{Cmd, CmdResult, Direction, Position}; -use tuirealm::event::{Key, KeyEvent, KeyModifiers}; +use tuirealm::event::{Key, KeyEvent}; use tuirealm::props::{Alignment, BorderSides, BorderType, Borders, Color, InputType, TextSpan}; use tuirealm::{Component, Event, MockComponent, NoUserEvent, State, StateValue}; @@ -447,7 +447,7 @@ impl Component for BookmarkName { } Event::Keyboard(KeyEvent { code: Key::Char(ch), - modifiers: KeyModifiers::NONE, + .. }) => { self.perform(Cmd::Type(ch)); Some(Msg::None) diff --git a/src/ui/activities/auth/components/form.rs b/src/ui/activities/auth/components/form.rs index a0dd264..ab6050f 100644 --- a/src/ui/activities/auth/components/form.rs +++ b/src/ui/activities/auth/components/form.rs @@ -640,9 +640,14 @@ fn handle_input_ev( Event::Keyboard(KeyEvent { code: Key::Enter, .. }) => Some(Msg::Form(FormMsg::Connect)), + Event::Keyboard(KeyEvent { + // NOTE: escaped control sequence + code: Key::Char('c') | Key::Char('h') | Key::Char('r') | Key::Char('s'), + modifiers: KeyModifiers::CONTROL, + }) => Some(Msg::None), Event::Keyboard(KeyEvent { code: Key::Char(ch), - modifiers: KeyModifiers::NONE | KeyModifiers::SHIFT, + .. }) => { component.perform(Cmd::Type(ch)); Some(Msg::None) diff --git a/src/ui/activities/setup/components/config.rs b/src/ui/activities/setup/components/config.rs index 7edcb46..c0d36b3 100644 --- a/src/ui/activities/setup/components/config.rs +++ b/src/ui/activities/setup/components/config.rs @@ -483,9 +483,14 @@ fn handle_input_ev( component.perform(Cmd::Delete); Some(Msg::None) } + Event::Keyboard(KeyEvent { + // NOTE: escaped control sequence + code: Key::Char('h') | Key::Char('r') | Key::Char('s'), + modifiers: KeyModifiers::CONTROL, + }) => Some(Msg::None), Event::Keyboard(KeyEvent { code: Key::Char(ch), - modifiers: KeyModifiers::NONE | KeyModifiers::SHIFT, + .. }) => { component.perform(Cmd::Type(ch)); Some(Msg::Config(ConfigMsg::ConfigChanged)) diff --git a/src/ui/activities/setup/components/ssh.rs b/src/ui/activities/setup/components/ssh.rs index c53adae..7395f2b 100644 --- a/src/ui/activities/setup/components/ssh.rs +++ b/src/ui/activities/setup/components/ssh.rs @@ -238,9 +238,14 @@ impl Component for SshHost { self.perform(Cmd::Delete); Some(Msg::None) } + Event::Keyboard(KeyEvent { + // NOTE: escaped control sequence + code: Key::Char('h') | Key::Char('r') | Key::Char('s'), + modifiers: KeyModifiers::CONTROL, + }) => Some(Msg::None), Event::Keyboard(KeyEvent { code: Key::Char(ch), - modifiers: KeyModifiers::NONE | KeyModifiers::SHIFT, + .. }) => { self.perform(Cmd::Type(ch)); Some(Msg::None) diff --git a/src/ui/activities/setup/components/theme.rs b/src/ui/activities/setup/components/theme.rs index 872534e..64dd73a 100644 --- a/src/ui/activities/setup/components/theme.rs +++ b/src/ui/activities/setup/components/theme.rs @@ -893,9 +893,14 @@ impl Component for InputColor { let result = self.perform(Cmd::Delete); self.update_color(result) } + Event::Keyboard(KeyEvent { + // NOTE: escaped control sequence + code: Key::Char('h') | Key::Char('r') | Key::Char('s'), + modifiers: KeyModifiers::CONTROL, + }) => Some(Msg::None), Event::Keyboard(KeyEvent { code: Key::Char(ch), - modifiers: KeyModifiers::NONE | KeyModifiers::SHIFT, + .. }) => { let result = self.perform(Cmd::Type(ch)); self.update_color(result)