Backtab support (#129)
This commit is contained in:
parent
b8be1910b6
commit
e436e2eb39
@ -225,6 +225,7 @@ where
|
|||||||
Some(b'B') => InputEvent::Keyboard(KeyEvent::Down),
|
Some(b'B') => InputEvent::Keyboard(KeyEvent::Down),
|
||||||
Some(b'H') => InputEvent::Keyboard(KeyEvent::Home),
|
Some(b'H') => InputEvent::Keyboard(KeyEvent::Home),
|
||||||
Some(b'F') => InputEvent::Keyboard(KeyEvent::End),
|
Some(b'F') => InputEvent::Keyboard(KeyEvent::End),
|
||||||
|
Some(b'Z') => InputEvent::Keyboard(KeyEvent::BackTab),
|
||||||
Some(b'M') => {
|
Some(b'M') => {
|
||||||
// X10 emulation mouse encoding: ESC [ CB Cx Cy (6 characters only).
|
// X10 emulation mouse encoding: ESC [ CB Cx Cy (6 characters only).
|
||||||
// NOTE (@imdaveho): cannot find documentation on this
|
// NOTE (@imdaveho): cannot find documentation on this
|
||||||
|
@ -102,6 +102,7 @@ pub enum KeyEvent {
|
|||||||
End,
|
End,
|
||||||
PageUp,
|
PageUp,
|
||||||
PageDown,
|
PageDown,
|
||||||
|
BackTab,
|
||||||
Delete,
|
Delete,
|
||||||
Insert,
|
Insert,
|
||||||
F(u8),
|
F(u8),
|
||||||
|
@ -15,7 +15,7 @@ use winapi::um::{
|
|||||||
winuser::{
|
winuser::{
|
||||||
VK_BACK, VK_CONTROL, VK_DELETE, VK_DOWN, VK_END, VK_ESCAPE, VK_F1, VK_F10, VK_F11, VK_F12,
|
VK_BACK, VK_CONTROL, VK_DELETE, VK_DOWN, VK_END, VK_ESCAPE, VK_F1, VK_F10, VK_F11, VK_F12,
|
||||||
VK_F2, VK_F3, VK_F4, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9, VK_HOME, VK_INSERT, VK_LEFT,
|
VK_F2, VK_F3, VK_F4, VK_F5, VK_F6, VK_F7, VK_F8, VK_F9, VK_HOME, VK_INSERT, VK_LEFT,
|
||||||
VK_MENU, VK_NEXT, VK_PRIOR, VK_RETURN, VK_RIGHT, VK_SHIFT, VK_UP,
|
VK_MENU, VK_NEXT, VK_PRIOR, VK_RETURN, VK_RIGHT, VK_SHIFT, VK_TAB, VK_UP,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -249,6 +249,16 @@ fn handle_key_event(key_event: &KeyEventRecord, seq: &mut Vec<u8>) {
|
|||||||
seq.push(b'2');
|
seq.push(b'2');
|
||||||
seq.push(b'~');
|
seq.push(b'~');
|
||||||
}
|
}
|
||||||
|
VK_TAB => {
|
||||||
|
let key_state = &key_event.control_key_state;
|
||||||
|
if key_state.has_state(SHIFT_PRESSED) {
|
||||||
|
seq.push(b'\x1B');
|
||||||
|
seq.push(b'[');
|
||||||
|
seq.push(b'Z');
|
||||||
|
} else {
|
||||||
|
seq.push(b'\t');
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
// Modifier Keys (Ctrl, Alt, Shift) Support
|
// Modifier Keys (Ctrl, Alt, Shift) Support
|
||||||
// NOTE (@imdaveho): test to check if characters outside of
|
// NOTE (@imdaveho): test to check if characters outside of
|
||||||
|
Loading…
Reference in New Issue
Block a user