1use pc_keyboard::{
2 layouts::{AnyLayout, Uk105Key},
3 DecodedKey, EventDecoder, KeyCode, KeyEvent, KeyState,
4};
5
6fn main() {
7 let mut decoder = EventDecoder::new(
8 AnyLayout::Uk105Key(Uk105Key),
9 pc_keyboard::HandleControl::Ignore,
10 );
11
12 let decoded_key = decoder.process_keyevent(KeyEvent {
14 code: KeyCode::A,
15 state: KeyState::Down,
16 });
17 assert_eq!(Some(DecodedKey::Unicode('a')), decoded_key);
18 println!("Got {:?}", decoded_key);
19
20 let decoded_key = decoder.process_keyevent(KeyEvent {
22 code: KeyCode::A,
23 state: KeyState::Up,
24 });
25 assert_eq!(None, decoded_key);
26
27 let decoded_key = decoder.process_keyevent(KeyEvent {
29 code: KeyCode::LShift,
30 state: KeyState::Down,
31 });
32 assert_eq!(None, decoded_key);
33
34 let decoded_key = decoder.process_keyevent(KeyEvent {
36 code: KeyCode::A,
37 state: KeyState::Down,
38 });
39 assert_eq!(Some(DecodedKey::Unicode('A')), decoded_key);
40 println!("Got {:?}", decoded_key);
41
42 let decoded_key = decoder.process_keyevent(KeyEvent {
44 code: KeyCode::A,
45 state: KeyState::Up,
46 });
47 assert_eq!(None, decoded_key);
48
49 let decoded_key = decoder.process_keyevent(KeyEvent {
51 code: KeyCode::LShift,
52 state: KeyState::Up,
53 });
54 assert_eq!(None, decoded_key);
55}