Skip to content

Commit fe89ee2

Browse files
dkwingsmtdnfield
authored andcommitted
MacOS keyboard: RawKeyboard uses filtered modifier (flutter#28666)
Removes the uninterested bits from the modifiers sent to the framework to keep consistency.
1 parent 4eaa664 commit fe89ee2

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponder.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ - (void)handleEvent:(NSEvent*)event callback:(FlutterAsyncKeyCallback)callback {
6868
@"keymap" : @"macos",
6969
@"type" : type,
7070
@"keyCode" : @(event.keyCode),
71-
@"modifiers" : @(event.modifierFlags),
71+
@"modifiers" : @(modifierFlags),
7272
} mutableCopy];
7373
// Calling these methods on any other type of event
7474
// (e.g NSEventTypeFlagsChanged) will raise an exception.

shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponderUnittests.mm

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
7676
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keydown");
7777
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 0);
78-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x100);
78+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x0);
7979
EXPECT_EQ([[messages lastObject][@"characters"] UTF8String], "a");
8080
EXPECT_EQ([[messages lastObject][@"charactersIgnoringModifiers"] UTF8String], "a");
8181

@@ -96,7 +96,7 @@
9696
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
9797
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keyup");
9898
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 0);
99-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x100);
99+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0);
100100
EXPECT_EQ([[messages lastObject][@"characters"] UTF8String], "a");
101101
EXPECT_EQ([[messages lastObject][@"charactersIgnoringModifiers"] UTF8String], "a");
102102

@@ -117,7 +117,7 @@
117117
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
118118
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keydown");
119119
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 56);
120-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20102);
120+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20002);
121121

122122
EXPECT_EQ([responses count], 1u);
123123
EXPECT_EQ([[responses lastObject] boolValue], TRUE);
@@ -127,7 +127,7 @@
127127

128128
// RShift down
129129
next_response = false;
130-
[responder handleEvent:keyEvent(NSEventTypeFlagsChanged, 0x20106, @"", @"", FALSE, 60)
130+
[responder handleEvent:keyEvent(NSEventTypeFlagsChanged, 0x20006, @"", @"", FALSE, 60)
131131
callback:^(BOOL handled) {
132132
[responses addObject:@(handled)];
133133
}];
@@ -136,7 +136,7 @@
136136
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
137137
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keydown");
138138
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 60);
139-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20106);
139+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20006);
140140

141141
EXPECT_EQ([responses count], 1u);
142142
EXPECT_EQ([[responses lastObject] boolValue], FALSE);
@@ -155,7 +155,7 @@
155155
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
156156
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keyup");
157157
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 56);
158-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20104);
158+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x20004);
159159

160160
EXPECT_EQ([responses count], 1u);
161161
EXPECT_EQ([[responses lastObject] boolValue], FALSE);
@@ -165,7 +165,7 @@
165165

166166
// RShift up
167167
next_response = false;
168-
[responder handleEvent:keyEvent(NSEventTypeFlagsChanged, 0x100, @"", @"", FALSE, 60)
168+
[responder handleEvent:keyEvent(NSEventTypeFlagsChanged, 0, @"", @"", FALSE, 60)
169169
callback:^(BOOL handled) {
170170
[responses addObject:@(handled)];
171171
}];
@@ -174,7 +174,7 @@
174174
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
175175
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keyup");
176176
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 60);
177-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x100);
177+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0);
178178

179179
EXPECT_EQ([responses count], 1u);
180180
EXPECT_EQ([[responses lastObject] boolValue], FALSE);
@@ -221,7 +221,7 @@
221221
EXPECT_STREQ([[messages lastObject][@"keymap"] UTF8String], "macos");
222222
EXPECT_STREQ([[messages lastObject][@"type"] UTF8String], "keydown");
223223
EXPECT_EQ([[messages lastObject][@"keyCode"] intValue], 0);
224-
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0x100);
224+
EXPECT_EQ([[messages lastObject][@"modifiers"] intValue], 0);
225225
EXPECT_EQ([[messages lastObject][@"characters"] UTF8String], "a");
226226
EXPECT_EQ([[messages lastObject][@"charactersIgnoringModifiers"] UTF8String], "a");
227227

0 commit comments

Comments
 (0)