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),
|
||||
_ => (),
|
||||
},
|
||||
KeyboardKey::Char(ch) if shift => match ch {
|
||||
ch if ch.is_ascii_lowercase() => {
|
||||
self.write_to_input(ch.to_ascii_uppercase());
|
||||
}
|
||||
_ => (),
|
||||
},
|
||||
KeyboardKey::Char(ch) if shift && pressed => {
|
||||
let ch = match ch {
|
||||
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 => {
|
||||
// TODO shift/ctrl
|
||||
self.write_to_input(ch);
|
||||
@ -243,6 +263,9 @@ impl<O: TerminalOutput> Terminal<O> {
|
||||
KeyboardKey::Backspace if pressed => {
|
||||
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