Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2259)

Unified Diff: ui/events/cocoa/events_mac.mm

Issue 2439953005: Support NSFlagsChanged in ui::EventFromNative. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/events/cocoa/events_mac_unittest.mm » ('j') | ui/events/cocoa/events_mac_unittest.mm » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/cocoa/events_mac.mm
diff --git a/ui/events/cocoa/events_mac.mm b/ui/events/cocoa/events_mac.mm
index 4a8347fd25f67bb93125ef6f5ff82f407334ee13..6631d88361f1b43f49c37ec4e66cf0d12310d822 100644
--- a/ui/events/cocoa/events_mac.mm
+++ b/ui/events/cocoa/events_mac.mm
@@ -21,6 +21,29 @@
namespace ui {
+namespace {
+
+EventType EventTypeForFlagsChanged(NSEventModifierFlags flags,
+ KeyboardCode key_code) {
+ switch (key_code) {
+ case VKEY_CAPITAL:
tapted 2016/10/25 06:55:09 There's no need to use the Windows keycodes that K
+ return (flags & NSAlphaShiftKeyMask) ? ET_KEY_PRESSED : ET_KEY_RELEASED;
+ case VKEY_SHIFT:
+ return (flags & NSShiftKeyMask) ? ET_KEY_PRESSED : ET_KEY_RELEASED;
+ case VKEY_CONTROL:
+ return (flags & NSControlKeyMask) ? ET_KEY_PRESSED : ET_KEY_RELEASED;
+ case VKEY_MENU:
+ return (flags & NSAlternateKeyMask) ? ET_KEY_PRESSED : ET_KEY_RELEASED;
+ case VKEY_APPS: // Fallthrough.
+ case VKEY_LWIN:
+ return (flags & NSCommandKeyMask) ? ET_KEY_PRESSED : ET_KEY_RELEASED;
+ default:
+ return ET_UNKNOWN;
+ }
+}
+
+} // namespace
+
EventType EventTypeFromNative(const base::NativeEvent& native_event) {
NSEventType type = [native_event type];
switch (type) {
@@ -54,6 +77,8 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
case NSSystemDefined:
return ET_UNKNOWN;
case NSFlagsChanged:
+ return EventTypeForFlagsChanged(native_event.modifierFlags,
tapted 2016/10/25 06:55:09 [native_event modifierFlags] - we only use dot no
tapted 2016/10/27 00:33:05 And here just have case NSKeyDown: case NSKey
alshabalin 2016/10/28 19:58:13 Done.
+ KeyboardCodeFromNSEvent(native_event));
case NSApplicationDefined:
case NSPeriodic:
case NSCursorUpdate:
« no previous file with comments | « no previous file | ui/events/cocoa/events_mac_unittest.mm » ('j') | ui/events/cocoa/events_mac_unittest.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698