gchp/rustbox

Key::Ctrl('[') does not work

ritiek opened this issue · 0 comments

I replaced the quit key from Key::Char('q') to Key::Ctrl('[') in example.rs but it takes no effect when attempting to quit.

I haven't been able to reproduce this problem with any other combination so far.

EDIT: I took a look at the source and it seems like the currently working keys are

rustbox/src/keyboard.rs

Lines 27 to 83 in 1d42771

match code {
1 => Some(Key::Ctrl('a')),
2 => Some(Key::Ctrl('b')),
3 => Some(Key::Ctrl('c')),
4 => Some(Key::Ctrl('d')),
5 => Some(Key::Ctrl('e')),
6 => Some(Key::Ctrl('f')),
7 => Some(Key::Ctrl('g')),
8 => Some(Key::Ctrl('h')),
9 => Some(Key::Tab),
10 => Some(Key::Ctrl('j')),
11 => Some(Key::Ctrl('k')),
12 => Some(Key::Ctrl('l')),
13 => Some(Key::Enter),
14 => Some(Key::Ctrl('n')),
15 => Some(Key::Ctrl('o')),
16 => Some(Key::Ctrl('p')),
17 => Some(Key::Ctrl('q')),
18 => Some(Key::Ctrl('r')),
19 => Some(Key::Ctrl('s')),
20 => Some(Key::Ctrl('t')),
21 => Some(Key::Ctrl('u')),
22 => Some(Key::Ctrl('v')),
23 => Some(Key::Ctrl('w')),
24 => Some(Key::Ctrl('x')),
25 => Some(Key::Ctrl('y')),
26 => Some(Key::Ctrl('z')),
27 => Some(Key::Esc),
28 => Some(Key::Ctrl('\\')),
29 => Some(Key::Ctrl(']')),
30 => Some(Key::Ctrl('6')),
31 => Some(Key::Ctrl('/')),
32 => Some(Key::Char(' ')),
127 => Some(Key::Backspace),
65514 => Some(Key::Right),
65515 => Some(Key::Left),
65516 => Some(Key::Down),
65517 => Some(Key::Up),
65535 => Some(Key::F(1)),
65534 => Some(Key::F(2)),
65533 => Some(Key::F(3)),
65532 => Some(Key::F(4)),
65531 => Some(Key::F(5)),
65530 => Some(Key::F(6)),
65529 => Some(Key::F(7)),
65528 => Some(Key::F(8)),
65527 => Some(Key::F(9)),
65526 => Some(Key::F(10)),
65525 => Some(Key::F(11)),
65524 => Some(Key::F(12)),
65523 => Some(Key::Insert),
65522 => Some(Key::Delete),
65521 => Some(Key::Home),
65520 => Some(Key::End),
65519 => Some(Key::PageUp),
65518 => Some(Key::PageDown),
_ => None,

Any reason other combinations aren't a part yet?