diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index f92a27412..e55592577 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -33,7 +33,8 @@ var CPMainCibFile = @"CPMainCibFile", - CPMainCibFileHumanFriendly = @"Main cib file base name"; + CPMainCibFileHumanFriendly = @"Main cib file base name", + CPEventModifierFlags = 0; CPApp = nil; @@ -575,6 +576,7 @@ CPRunContinuesResponse = -1002; - (void)sendEvent:(CPEvent)anEvent { _currentEvent = anEvent; + CPEventModifierFlags = [anEvent modifierFlags]; #if PLATFORM(DOM) var willPropagate = [[[anEvent window] platformWindow] _willPropagateCurrentDOMEvent]; @@ -1379,3 +1381,16 @@ var _CPAppBootstrapperActions = nil; } @end + + +@implementation CPEvent (CPApplicationModifierFlags) + +/*! + Returns the currently pressed modifier flags. +*/ ++ (unsigned)modifierFlags +{ + return CPEventModifierFlags; +} + +@end