aboutsummaryrefslogtreecommitdiff
path: root/src/app/input
diff options
context:
space:
mode:
authorakbash <akbash@herdr.dev>2026-08-05 01:19:21 +0300
committerGitHub <noreply@github.com>2026-08-05 01:19:21 +0300
commitd57cefb879e685b4876a84fa20cbfd0702ce4140 (patch)
tree93109413c521de0469d33c21dd35c5069669286e /src/app/input
parentd4f2540cfa9229a5ce24191ddc2c1c9a2138250d (diff)
fix(input): preserve modifyOtherKeys key releases (#2303)
refs #2302 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
Diffstat (limited to 'src/app/input')
-rw-r--r--src/app/input/terminal.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/app/input/terminal.rs b/src/app/input/terminal.rs
index 2442353e..bc9b2a59 100644
--- a/src/app/input/terminal.rs
+++ b/src/app/input/terminal.rs
@@ -282,7 +282,14 @@ impl App {
None
};
- runtime.is_some_and(|runtime| runtime.keyboard_protocol().reports_all_keys())
+ runtime.is_some_and(|runtime| {
+ let protocol = runtime.keyboard_protocol();
+ protocol.reports_all_keys()
+ || (protocol.reports_event_types()
+ && runtime
+ .input_state()
+ .is_some_and(|state| state.modify_other_keys))
+ })
}
fn terminal_input_runtime(