aboutsummaryrefslogtreecommitdiffstats
path: root/src/osx/event.rs
blob: b5853bca8ea8c2ff5fb4664a59260d6e3bbc8b28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
use events;
use cocoa::base::NSUInteger;
use cocoa::appkit;

pub fn vkeycode_to_element(code: u16) -> Option<events::VirtualKeyCode> {
    Some(match code {
        0x00 => events::A,
        0x01 => events::S,
        0x02 => events::D,
        0x03 => events::F,
        0x04 => events::H,
        0x05 => events::G,
        0x06 => events::Z,
        0x07 => events::X,
        0x08 => events::C,
        0x09 => events::V,
        //0x0a => World 1,
        0x0b => events::B,
        0x0c => events::Q,
        0x0d => events::W,
        0x0e => events::E,
        0x0f => events::R,
        0x10 => events::Y,
        0x11 => events::T,
        0x12 => events::Key1,
        0x13 => events::Key2,
        0x14 => events::Key3,
        0x15 => events::Key4,
        0x16 => events::Key6,
        0x17 => events::Key5,
        0x18 => events::Equals,
        0x19 => events::Key9,
        0x1a => events::Key7,
        0x1b => events::Minus,
        0x1c => events::Key8,
        0x1d => events::Key0,
        0x1e => events::RBracket,
        0x1f => events::O,
        0x20 => events::U,
        0x21 => events::LBracket,
        0x22 => events::I,
        0x23 => events::P,
        0x24 => events::Return,
        0x25 => events::L,
        0x26 => events::J,
        0x27 => events::Apostrophe,
        0x28 => events::K,
        0x29 => events::Semicolon,
        0x2a => events::Backslash,
        0x2b => events::Comma,
        0x2c => events::Slash,
        0x2d => events::N,
        0x2e => events::M,
        0x2f => events::Period,
        0x30 => events::Tab,
        0x31 => events::Space,
        0x32 => events::Grave,
        0x33 => events::Back,
        //0x34 => unkown,
        0x35 => events::Escape,
        0x36 => events::RWin,
        0x37 => events::LWin,
        0x38 => events::LShift,
        //0x39 => Caps lock,
        //0x3a => Left alt,
        0x3b => events::LControl,
        0x3c => events::RShift,
        //0x3d => Right alt,
        0x3e => events::RControl,
        //0x3f => Fn key,
        //0x40 => F17 Key,
        0x41 => events::Decimal,
        //0x42 -> unkown,
        0x43 => events::Multiply,
        //0x44 => unkown,
        0x45 => events::Add,
        //0x46 => unkown,
        0x47 => events::Numlock,
        //0x48 => KeypadClear,
        0x49 => events::VolumeUp,
        0x4a => events::VolumeDown,
        0x4b => events::Divide,
        0x4c => events::NumpadEnter,
        //0x4d => unkown,
        0x4e => events::Subtract,
        //0x4f => F18 key,
        //0x50 => F19 Key,
        0x51 => events::NumpadEquals,
        0x52 => events::Numpad0,
        0x53 => events::Numpad1,
        0x54 => events::Numpad2,
        0x55 => events::Numpad3,
        0x56 => events::Numpad4,
        0x57 => events::Numpad5,
        0x58 => events::Numpad6,
        0x59 => events::Numpad7,
        //0x5a => F20 Key,
        0x5b => events::Numpad8,
        0x5c => events::Numpad9,
        //0x5d => unkown,
        //0x5e => unkown,
        //0x5f => unkown,
        0x60 => events::F5,
        0x61 => events::F6,
        0x62 => events::F7,
        0x63 => events::F3,
        0x64 => events::F8,
        0x65 => events::F9,
        //0x66 => unkown,
        0x67 => events::F11,
        //0x68 => unkown,
        0x69 => events::F13,
        //0x6a => F16 Key,
        0x6b => events::F14,
        //0x6c => unkown,
        0x6d => events::F10,
        //0x6e => unkown,
        0x6f => events::F12,
        //0x70 => unkown,
        0x71 => events::F15,
        0x72 => events::Insert,
        0x73 => events::Home,
        0x74 => events::PageUp,
        0x75 => events::Delete,
        0x76 => events::F4,
        0x77 => events::End,
        0x78 => events::F2,
        0x79 => events::PageDown,
        0x7a => events::F1,
        0x7b => events::Left,
        0x7c => events::Right,
        0x7d => events::Down,
        0x7e => events::Up,
        //0x7f =>  unkown,

        _ => return None,
    })
}