mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-14 14:03:58 +00:00
Decode arrow keys as sent by urxvt
Not sure if we want to support this indefinitely but appears to be free as of today.
This commit is contained in:
parent
e8eb4822ce
commit
350598cb99
1 changed files with 9 additions and 12 deletions
|
@ -636,10 +636,7 @@ pub trait InputEventQueuer {
|
||||||
) -> Option<Key> {
|
) -> Option<Key> {
|
||||||
let Some(next) = self.try_readb(buffer) else {
|
let Some(next) = self.try_readb(buffer) else {
|
||||||
if !self.paste_is_buffering() {
|
if !self.paste_is_buffering() {
|
||||||
return Some(Key {
|
return Some(Key::from_raw(key::Escape));
|
||||||
modifiers: Modifiers::default(),
|
|
||||||
codepoint: key::Escape,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return None;
|
return None;
|
||||||
};
|
};
|
||||||
|
@ -788,10 +785,10 @@ pub trait InputEventQueuer {
|
||||||
_ => return None,
|
_ => return None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b'A' => masked_key(key::Up, None),
|
b'A' | b'a' => masked_key(key::Up, None),
|
||||||
b'B' => masked_key(key::Down, None),
|
b'B' | b'b' => masked_key(key::Down, None),
|
||||||
b'C' => masked_key(key::Right, None),
|
b'C' | b'c' => masked_key(key::Right, None),
|
||||||
b'D' => masked_key(key::Left, None),
|
b'D' | b'd' => masked_key(key::Left, None),
|
||||||
b'E' => masked_key('5', None), // Numeric keypad
|
b'E' => masked_key('5', None), // Numeric keypad
|
||||||
b'F' => masked_key(key::End, None), // PC/xterm style
|
b'F' => masked_key(key::End, None), // PC/xterm style
|
||||||
b'H' => masked_key(key::Home, None), // PC/xterm style
|
b'H' => masked_key(key::Home, None), // PC/xterm style
|
||||||
|
@ -958,10 +955,10 @@ pub trait InputEventQueuer {
|
||||||
#[rustfmt::skip]
|
#[rustfmt::skip]
|
||||||
let key = match code {
|
let key = match code {
|
||||||
b' ' => Key{modifiers, codepoint: key::Space},
|
b' ' => Key{modifiers, codepoint: key::Space},
|
||||||
b'A' => Key{modifiers, codepoint: key::Up},
|
b'A' | b'a' => Key{modifiers, codepoint: key::Up},
|
||||||
b'B' => Key{modifiers, codepoint: key::Down},
|
b'B' | b'b' => Key{modifiers, codepoint: key::Down},
|
||||||
b'C' => Key{modifiers, codepoint: key::Right},
|
b'C' | b'c' => Key{modifiers, codepoint: key::Right},
|
||||||
b'D' => Key{modifiers, codepoint: key::Left},
|
b'D' | b'd' => Key{modifiers, codepoint: key::Left},
|
||||||
b'F' => Key{modifiers, codepoint: key::End},
|
b'F' => Key{modifiers, codepoint: key::End},
|
||||||
b'H' => Key{modifiers, codepoint: key::Home},
|
b'H' => Key{modifiers, codepoint: key::Home},
|
||||||
b'I' => Key{modifiers, codepoint: key::Tab},
|
b'I' => Key{modifiers, codepoint: key::Tab},
|
||||||
|
|
Loading…
Reference in a new issue