vfs: better keyboard map
This commit is contained in:
parent
ce8ccf4af9
commit
82d1af7b89
@ -227,12 +227,32 @@ impl<O: TerminalOutput> Terminal<O> {
|
|||||||
b'd' => self.write_to_input(self.config().chars.eof),
|
b'd' => self.write_to_input(self.config().chars.eof),
|
||||||
_ => (),
|
_ => (),
|
||||||
},
|
},
|
||||||
KeyboardKey::Char(ch) if shift => match ch {
|
KeyboardKey::Char(ch) if shift && pressed => {
|
||||||
ch if ch.is_ascii_lowercase() => {
|
let ch = match ch {
|
||||||
self.write_to_input(ch.to_ascii_uppercase());
|
ch if ch.is_ascii_lowercase() => ch.to_ascii_uppercase(),
|
||||||
}
|
b'`' => b'~',
|
||||||
_ => (),
|
b'1' => b'!',
|
||||||
},
|
b'2' => b'@',
|
||||||
|
b'3' => b'#',
|
||||||
|
b'4' => b'$',
|
||||||
|
b'5' => b'%',
|
||||||
|
b'6' => b'^',
|
||||||
|
b'7' => b'&',
|
||||||
|
b'8' => b'*',
|
||||||
|
b'9' => b'(',
|
||||||
|
b'0' => b')',
|
||||||
|
b'-' => b'_',
|
||||||
|
b'=' => b'+',
|
||||||
|
b';' => b':',
|
||||||
|
b'\'' => b'"',
|
||||||
|
b'\\' => b'|',
|
||||||
|
b',' => b'<',
|
||||||
|
b'.' => b'>',
|
||||||
|
b'/' => b'?',
|
||||||
|
_ => continue,
|
||||||
|
};
|
||||||
|
self.write_to_input(ch);
|
||||||
|
}
|
||||||
KeyboardKey::Char(ch) if pressed => {
|
KeyboardKey::Char(ch) if pressed => {
|
||||||
// TODO shift/ctrl
|
// TODO shift/ctrl
|
||||||
self.write_to_input(ch);
|
self.write_to_input(ch);
|
||||||
@ -243,6 +263,9 @@ impl<O: TerminalOutput> Terminal<O> {
|
|||||||
KeyboardKey::Backspace if pressed => {
|
KeyboardKey::Backspace if pressed => {
|
||||||
self.write_to_input(b'\x7F');
|
self.write_to_input(b'\x7F');
|
||||||
}
|
}
|
||||||
|
KeyboardKey::Escape if pressed => {
|
||||||
|
self.write_to_input(b'\x1B');
|
||||||
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user