Sending a 'copy' command in cocoa
- by Ben Packard
Is there any way to send a copy (command-c) instruction without using a cgEvent to mimic the keystrokes? I don't have access to the text field in the application I want to take text from, so need to replicate manually copying to the clipboard, and there seemss to be a bug with cgevent posting.
According the Quartz documentation, to type a capital Z I should use:
CGEventRef event1, event2, event3, event4;
event1 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, true);
event2 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, true);
event3 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, false);
event4 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, false);
However, if I attach this set of instuctions to an NSTimer, it only works the first time it is fired. example output:
ZzzZzzzzZZzzZ (vs expected ZZZZZZZZZ).
How else might I send a copy command to the active window?