Anonymous avatar Anonymous committed 19a97e7

Added NSEvent category

Comments (0)

Files changed (2)

NSEvent+BWAdditions.h

+//
+//  NSEvent+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface NSEvent (BWAdditions)
+
++ (BOOL)shiftKeyIsDown;
++ (BOOL)commandKeyIsDown;
++ (BOOL)optionKeyIsDown;
++ (BOOL)controlKeyIsDown;
++ (BOOL)capsLockKeyIsDown;
+
+@end

NSEvent+BWAdditions.m

+//
+//  NSEvent+BWAdditions.m
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import "NSEvent+BWAdditions.h"
+
+@implementation NSEvent (BWAdditions)
+
++ (BOOL)shiftKeyIsDown
+{
+	if ([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask)
+		return YES;
+	
+	return NO;
+}
+
++ (BOOL)commandKeyIsDown
+{
+	if ([[NSApp currentEvent] modifierFlags] & NSCommandKeyMask)
+		return YES;
+	
+	return NO;
+}
+
++ (BOOL)optionKeyIsDown
+{
+	if ([[NSApp currentEvent] modifierFlags] & NSAlternateKeyMask)
+		return YES;
+	
+	return NO;
+}
+
++ (BOOL)controlKeyIsDown
+{
+	if ([[NSApp currentEvent] modifierFlags] & NSControlKeyMask)
+		return YES;
+	
+	return NO;
+}
+
++ (BOOL)capsLockKeyIsDown
+{
+	if ([[NSApp currentEvent] modifierFlags] & NSAlphaShiftKeyMask)
+		return YES;
+	
+	return NO;
+}
+
+@end
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.