Send a keyboard shortcut to a Mac OS X Window
keyboard-shortcuts, macos, objective-c, xcode
Solution
One way to do this is embedding Applescript in your Objective-C application. For example executing this apple script, sends Command + M to `System Events` application:
tell application "System Events" to keystroke "m" using {command down}
You can embed the script above in your Cocoa application with something like this:
//AppControler.h
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject {
NSAppleScript *key;
}
-(IBAction)sendkeys:(id)sender;
@end
//AppControler.m
#import "AppController.h"
@implementation AppController
-(IBAction)sendkeys:(id)sender
{
NSAppleScript *key = [[NSAppleScript alloc] initWithSource:@"tell application "System Events" to keystroke "m" using {command down}"];
[start executeAndReturnError:nil];
}
@end
Problem
Is it possible for one window on a Mac desktop to programatically send a keyboard shortcut or key sequence to another? I'm looking to control an application which offers no API to do such, by using the application's keyboard shortcut features. I'm fairly sure this can be done on Windows, but Mac? Thanks