diff options
-rw-r--r-- | DomeKey/KeyboardSimulator.h | 3 | ||||
-rw-r--r-- | DomeKey/KeyboardSimulator.m | 24 |
2 files changed, 27 insertions, 0 deletions
diff --git a/DomeKey/KeyboardSimulator.h b/DomeKey/KeyboardSimulator.h index bdd62b5..dc471d3 100644 --- a/DomeKey/KeyboardSimulator.h +++ b/DomeKey/KeyboardSimulator.h @@ -10,4 +10,7 @@ @interface KeyboardSimulator : NSObject ++ (CGKeyCode)keyCodeForChar:(NSString *)aChar; ++ (void)simpleKeyPressWithKey:(NSString *)aChar; + @end diff --git a/DomeKey/KeyboardSimulator.m b/DomeKey/KeyboardSimulator.m index f33601a..2fa808d 100644 --- a/DomeKey/KeyboardSimulator.m +++ b/DomeKey/KeyboardSimulator.m @@ -10,4 +10,28 @@ @implementation KeyboardSimulator ++ (CGKeyCode)keyCodeForChar:(NSString *)aChar +{ + return (CGKeyCode)0; +} + ++ (void)simpleKeyPressWithKey:(NSString *)aChar +{ + CGEventSourceRef source = CGEventSourceCreate( + kCGEventSourceStateHIDSystemState + ); + + CGKeyCode key_code = [self keyCodeForChar:aChar]; + + CGEventRef key_down = CGEventCreateKeyboardEvent(source, key_code, true); + CGEventRef key_up = CGEventCreateKeyboardEvent(source, key_code, false); + + CGEventPost(kCGHIDEventTap, key_down); + CGEventPost(kCGHIDEventTap, key_up); + + CFRelease(key_down); + CFRelease(key_up); + CFRelease(source); +} + @end |