@@ -43,12 +43,92 @@ bitflags! {
43
43
}
44
44
}
45
45
46
- /// Key codes for keys that are independent of keyboard layout.
46
+ /// Constants for the virtual key codes
47
47
///
48
- /// [Ref](https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.13.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h)
48
+ /// These constants are the virtual keycodes defined originally in
49
+ /// Inside Mac Volume V, pg. V-191. They identify physical keys on a
50
+ /// keyboard. The struct contains the values of the ANSIKeyCode,
51
+ /// KeyCode, ISOKeyCode and JISKeyCode of the original Carbon headers.
52
+ ///
53
+ /// Those constants with "ANSI" in the name are labeled
54
+ /// according to the key position on an ANSI-standard US keyboard.
55
+ /// For example, `ANSI_A` indicates the virtual keycode for the key
56
+ /// with the letter 'A' in the US keyboard layout. Other keyboard
57
+ /// layouts may have the 'A' key label on a different physical key;
58
+ /// in this case, pressing 'A' will generate a different virtual
59
+ /// keycode. Constants with the 'JIS_' or 'ISO_' prefix behave
60
+ /// analogously. Keys without a prefix are independent of the
61
+ /// keyboard layout.
62
+ ///
63
+ /// [Ref](https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.13.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h#L197-L327)
49
64
#[ repr( C ) ]
50
65
pub struct KeyCode ;
51
66
impl KeyCode {
67
+ pub const ANSI_A : CGKeyCode = 0x00 ;
68
+ pub const ANSI_S : CGKeyCode = 0x01 ;
69
+ pub const ANSI_D : CGKeyCode = 0x02 ;
70
+ pub const ANSI_F : CGKeyCode = 0x03 ;
71
+ pub const ANSI_H : CGKeyCode = 0x04 ;
72
+ pub const ANSI_G : CGKeyCode = 0x05 ;
73
+ pub const ANSI_Z : CGKeyCode = 0x06 ;
74
+ pub const ANSI_X : CGKeyCode = 0x07 ;
75
+ pub const ANSI_C : CGKeyCode = 0x08 ;
76
+ pub const ANSI_V : CGKeyCode = 0x09 ;
77
+ pub const ANSI_B : CGKeyCode = 0x0B ;
78
+ pub const ANSI_Q : CGKeyCode = 0x0C ;
79
+ pub const ANSI_W : CGKeyCode = 0x0D ;
80
+ pub const ANSI_E : CGKeyCode = 0x0E ;
81
+ pub const ANSI_R : CGKeyCode = 0x0F ;
82
+ pub const ANSI_Y : CGKeyCode = 0x10 ;
83
+ pub const ANSI_T : CGKeyCode = 0x11 ;
84
+ pub const ANSI_1 : CGKeyCode = 0x12 ;
85
+ pub const ANSI_2 : CGKeyCode = 0x13 ;
86
+ pub const ANSI_3 : CGKeyCode = 0x14 ;
87
+ pub const ANSI_4 : CGKeyCode = 0x15 ;
88
+ pub const ANSI_6 : CGKeyCode = 0x16 ;
89
+ pub const ANSI_5 : CGKeyCode = 0x17 ;
90
+ pub const ANSI_EQUAL : CGKeyCode = 0x18 ;
91
+ pub const ANSI_9 : CGKeyCode = 0x19 ;
92
+ pub const ANSI_7 : CGKeyCode = 0x1A ;
93
+ pub const ANSI_MINUS : CGKeyCode = 0x1B ;
94
+ pub const ANSI_8 : CGKeyCode = 0x1C ;
95
+ pub const ANSI_0 : CGKeyCode = 0x1D ;
96
+ pub const ANSI_RIGHT_BRACKET : CGKeyCode = 0x1E ;
97
+ pub const ANSI_O : CGKeyCode = 0x1F ;
98
+ pub const ANSI_U : CGKeyCode = 0x20 ;
99
+ pub const ANSI_LEFT_BRACKET : CGKeyCode = 0x21 ;
100
+ pub const ANSI_I : CGKeyCode = 0x22 ;
101
+ pub const ANSI_P : CGKeyCode = 0x23 ;
102
+ pub const ANSI_L : CGKeyCode = 0x25 ;
103
+ pub const ANSI_J : CGKeyCode = 0x26 ;
104
+ pub const ANSI_QUOTE : CGKeyCode = 0x27 ;
105
+ pub const ANSI_K : CGKeyCode = 0x28 ;
106
+ pub const ANSI_SEMICOLON : CGKeyCode = 0x29 ;
107
+ pub const ANSI_BACKSLASH : CGKeyCode = 0x2A ;
108
+ pub const ANSI_COMMA : CGKeyCode = 0x2B ;
109
+ pub const ANSI_SLASH : CGKeyCode = 0x2C ;
110
+ pub const ANSI_N : CGKeyCode = 0x2D ;
111
+ pub const ANSI_M : CGKeyCode = 0x2E ;
112
+ pub const ANSI_PERIOD : CGKeyCode = 0x2F ;
113
+ pub const ANSI_GRAVE : CGKeyCode = 0x32 ;
114
+ pub const ANSI_KEYPAD_DECIMAL : CGKeyCode = 0x41 ;
115
+ pub const ANSI_KEYPAD_MULTIPLY : CGKeyCode = 0x43 ;
116
+ pub const ANSI_KEYPAD_PLUS : CGKeyCode = 0x45 ;
117
+ pub const ANSI_KEYPAD_CLEAR : CGKeyCode = 0x47 ;
118
+ pub const ANSI_KEYPAD_DIVIDE : CGKeyCode = 0x4B ;
119
+ pub const ANSI_KEYPAD_ENTER : CGKeyCode = 0x4C ;
120
+ pub const ANSI_KEYPAD_MINUS : CGKeyCode = 0x4E ;
121
+ pub const ANSI_KEYPAD_EQUAL : CGKeyCode = 0x51 ;
122
+ pub const ANSI_KEYPAD_0 : CGKeyCode = 0x52 ;
123
+ pub const ANSI_KEYPAD_1 : CGKeyCode = 0x53 ;
124
+ pub const ANSI_KEYPAD_2 : CGKeyCode = 0x54 ;
125
+ pub const ANSI_KEYPAD_3 : CGKeyCode = 0x55 ;
126
+ pub const ANSI_KEYPAD_4 : CGKeyCode = 0x56 ;
127
+ pub const ANSI_KEYPAD_5 : CGKeyCode = 0x57 ;
128
+ pub const ANSI_KEYPAD_6 : CGKeyCode = 0x58 ;
129
+ pub const ANSI_KEYPAD_7 : CGKeyCode = 0x59 ;
130
+ pub const ANSI_KEYPAD_8 : CGKeyCode = 0x5B ;
131
+ pub const ANSI_KEYPAD_9 : CGKeyCode = 0x5C ;
52
132
pub const RETURN : CGKeyCode = 0x24 ;
53
133
pub const TAB : CGKeyCode = 0x30 ;
54
134
pub const SPACE : CGKeyCode = 0x31 ;
@@ -64,39 +144,45 @@ impl KeyCode {
64
144
pub const RIGHT_OPTION : CGKeyCode = 0x3D ;
65
145
pub const RIGHT_CONTROL : CGKeyCode = 0x3E ;
66
146
pub const FUNCTION : CGKeyCode = 0x3F ;
147
+ pub const F17 : CGKeyCode = 0x40 ;
67
148
pub const VOLUME_UP : CGKeyCode = 0x48 ;
68
149
pub const VOLUME_DOWN : CGKeyCode = 0x49 ;
69
150
pub const MUTE : CGKeyCode = 0x4A ;
70
- pub const F1 : CGKeyCode = 0x7A ;
71
- pub const F2 : CGKeyCode = 0x78 ;
72
- pub const F3 : CGKeyCode = 0x63 ;
73
- pub const F4 : CGKeyCode = 0x76 ;
151
+ pub const F18 : CGKeyCode = 0x4F ;
152
+ pub const F19 : CGKeyCode = 0x50 ;
153
+ pub const F20 : CGKeyCode = 0x5A ;
74
154
pub const F5 : CGKeyCode = 0x60 ;
75
155
pub const F6 : CGKeyCode = 0x61 ;
76
156
pub const F7 : CGKeyCode = 0x62 ;
157
+ pub const F3 : CGKeyCode = 0x63 ;
77
158
pub const F8 : CGKeyCode = 0x64 ;
78
159
pub const F9 : CGKeyCode = 0x65 ;
79
- pub const F10 : CGKeyCode = 0x6D ;
80
160
pub const F11 : CGKeyCode = 0x67 ;
81
- pub const F12 : CGKeyCode = 0x6F ;
82
161
pub const F13 : CGKeyCode = 0x69 ;
162
+ pub const F16 : CGKeyCode = 0x6A ;
83
163
pub const F14 : CGKeyCode = 0x6B ;
164
+ pub const F10 : CGKeyCode = 0x6D ;
165
+ pub const F12 : CGKeyCode = 0x6F ;
84
166
pub const F15 : CGKeyCode = 0x71 ;
85
- pub const F16 : CGKeyCode = 0x6A ;
86
- pub const F17 : CGKeyCode = 0x40 ;
87
- pub const F18 : CGKeyCode = 0x4F ;
88
- pub const F19 : CGKeyCode = 0x50 ;
89
- pub const F20 : CGKeyCode = 0x5A ;
90
167
pub const HELP : CGKeyCode = 0x72 ;
91
168
pub const HOME : CGKeyCode = 0x73 ;
92
169
pub const PAGE_UP : CGKeyCode = 0x74 ;
93
170
pub const FORWARD_DELETE : CGKeyCode = 0x75 ;
171
+ pub const F4 : CGKeyCode = 0x76 ;
94
172
pub const END : CGKeyCode = 0x77 ;
173
+ pub const F2 : CGKeyCode = 0x78 ;
95
174
pub const PAGE_DOWN : CGKeyCode = 0x79 ;
175
+ pub const F1 : CGKeyCode = 0x7A ;
96
176
pub const LEFT_ARROW : CGKeyCode = 0x7B ;
97
177
pub const RIGHT_ARROW : CGKeyCode = 0x7C ;
98
178
pub const DOWN_ARROW : CGKeyCode = 0x7D ;
99
179
pub const UP_ARROW : CGKeyCode = 0x7E ;
180
+ pub const ISO_SECTION : CGKeyCode = 0x0A ;
181
+ pub const JIS_YEN : CGKeyCode = 0x5D ;
182
+ pub const JIS_UNDERSCORE : CGKeyCode = 0x5E ;
183
+ pub const JIS_KEYPAD_COMMA : CGKeyCode = 0x5F ;
184
+ pub const JIS_EISU : CGKeyCode = 0x66 ;
185
+ pub const JIS_KANA : CGKeyCode = 0x68 ;
100
186
}
101
187
102
188
#[ repr( C ) ]
0 commit comments