aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-28 23:34:14 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-28 23:34:14 +0300
commita937f7e85bbf8780c6030c57f48dab2168bca932 (patch)
treed0f50cc3193a846599f35ef5dbf19f1f6061a89f
parent4b650a12c74a6121bcbc0933d9d31c19b2aeac28 (diff)
fix: encode ctrl slash as ctrl underscore
refs #847
-rw-r--r--src/input/encode.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/input/encode.rs b/src/input/encode.rs
index b7259f38..6323f1ee 100644
--- a/src/input/encode.rs
+++ b/src/input/encode.rs
@@ -421,7 +421,7 @@ fn encode_legacy_inner(key: KeyEvent) -> Vec<u8> {
'\\' | '4' => vec![28],
']' | '5' => vec![29],
'^' | '6' => vec![30],
- '_' | '7' | '-' => vec![31],
+ '_' | '/' | '7' | '-' => vec![31],
_ => vec![ch as u8],
}
} else {
@@ -500,6 +500,12 @@ mod tests {
}
#[test]
+ fn legacy_ctrl_slash_aliases_ctrl_underscore() {
+ let key = KeyEvent::new(KeyCode::Char('/'), KeyModifiers::CONTROL);
+ assert_eq!(encode_key(key, KeyboardProtocol::Legacy), vec![31]);
+ }
+
+ #[test]
fn legacy_shift_enter_is_just_cr() {
let key = KeyEvent::new(KeyCode::Enter, KeyModifiers::SHIFT);
assert_eq!(encode_key(key, KeyboardProtocol::Legacy), vec![b'\r']);