Skip to content

Commit 94ab815

Browse files
authored
Add missing keys to EventModifierFlag (#137)
* add Shift to modifier flags * Add Function keys support in modifer flags key event info https://developer.apple.com/documentation/appkit/nseventmodifierflags/nseventmodifierflagfunction?language=objc * Add numpad and help keys support in modifer flags key event info
1 parent 6ba7e7d commit 94ab815

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

src/appkit/event/mod.rs

+12
Original file line numberDiff line numberDiff line change
@@ -194,19 +194,27 @@ use crate::foundation::NSUInteger;
194194
#[derive(Clone, Copy, Debug)]
195195
pub enum EventModifierFlag {
196196
CapsLock,
197+
Shift,
197198
Control,
198199
Option,
199200
Command,
201+
Numpad,
202+
Help,
203+
Function,
200204
DeviceIndependentFlagsMask
201205
}
202206

203207
impl From<EventModifierFlag> for NSUInteger {
204208
fn from(flag: EventModifierFlag) -> NSUInteger {
205209
match flag {
206210
EventModifierFlag::CapsLock => 1 << 16,
211+
EventModifierFlag::Shift => 1 << 17,
207212
EventModifierFlag::Control => 1 << 18,
208213
EventModifierFlag::Option => 1 << 19,
209214
EventModifierFlag::Command => 1 << 20,
215+
EventModifierFlag::Numpad => 1 << 21,
216+
EventModifierFlag::Help => 1 << 22,
217+
EventModifierFlag::Function => 1 << 23,
210218
EventModifierFlag::DeviceIndependentFlagsMask => 0xffff0000
211219
}
212220
}
@@ -216,9 +224,13 @@ impl From<&EventModifierFlag> for NSUInteger {
216224
fn from(flag: &EventModifierFlag) -> NSUInteger {
217225
match flag {
218226
EventModifierFlag::CapsLock => 1 << 16,
227+
EventModifierFlag::Shift => 1 << 17,
219228
EventModifierFlag::Control => 1 << 18,
220229
EventModifierFlag::Option => 1 << 19,
221230
EventModifierFlag::Command => 1 << 20,
231+
EventModifierFlag::Numpad => 1 << 21,
232+
EventModifierFlag::Help => 1 << 22,
233+
EventModifierFlag::Function => 1 << 23,
222234
EventModifierFlag::DeviceIndependentFlagsMask => 0xffff0000
223235
}
224236
}

src/events.rs

+20
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ pub enum EventModifierFlag {
99
/// CapsLock (or shift... oddly named...) is held.
1010
CapsLock,
1111

12+
/// Shift is held.
13+
Shift,
14+
1215
/// Control is held.
1316
Control,
1417

@@ -18,6 +21,15 @@ pub enum EventModifierFlag {
1821
/// Command (CMD) is held.
1922
Command,
2023

24+
/// Nnumeric keypad or an arrow key has been pressed.
25+
Numpad,
26+
27+
/// The Help key has been pressed
28+
Help,
29+
30+
/// Function (🌐) is held or a function key has been pressed.
31+
Function,
32+
2133
/// Device independent flags mask.
2234
DeviceIndependentFlagsMask
2335
}
@@ -26,9 +38,13 @@ impl From<EventModifierFlag> for NSUInteger {
2638
fn from(flag: EventModifierFlag) -> NSUInteger {
2739
match flag {
2840
EventModifierFlag::CapsLock => 1 << 16,
41+
EventModifierFlag::Shift => 1 << 17,
2942
EventModifierFlag::Control => 1 << 18,
3043
EventModifierFlag::Option => 1 << 19,
3144
EventModifierFlag::Command => 1 << 20,
45+
EventModifierFlag::Numpad => 1 << 21,
46+
EventModifierFlag::Help => 1 << 22,
47+
EventModifierFlag::Function => 1 << 23,
3248
EventModifierFlag::DeviceIndependentFlagsMask => 0xffff0000
3349
}
3450
}
@@ -38,9 +54,13 @@ impl From<&EventModifierFlag> for NSUInteger {
3854
fn from(flag: &EventModifierFlag) -> NSUInteger {
3955
match flag {
4056
EventModifierFlag::CapsLock => 1 << 16,
57+
EventModifierFlag::Shift => 1 << 17,
4158
EventModifierFlag::Control => 1 << 18,
4259
EventModifierFlag::Option => 1 << 19,
4360
EventModifierFlag::Command => 1 << 20,
61+
EventModifierFlag::Numpad => 1 << 21,
62+
EventModifierFlag::Help => 1 << 22,
63+
EventModifierFlag::Function => 1 << 23,
4464
EventModifierFlag::DeviceIndependentFlagsMask => 0xffff0000
4565
}
4666
}

0 commit comments

Comments
 (0)