diff options
author | Teddy Wing | 2018-08-27 20:42:52 +0200 |
---|---|---|
committer | Teddy Wing | 2018-08-27 20:42:52 +0200 |
commit | 3d17de2014ba72b7dc4f31788a81ea7326108edd (patch) | |
tree | f3a5eee3c593e0df1f1473be8642ac33a09a9d53 | |
parent | a8a5fc9be239973db9ef4590669ae36d588bb4ef (diff) | |
download | DomeKey-3d17de2014ba72b7dc4f31788a81ea7326108edd.tar.bz2 |
KeyboardSimulator: Use `char_to_key_code`
Replace the `keyCodeForChar:` placeholder function I had created earlier
with the new `charToKeyCode:` from `char_to_key_code.m`.
-rw-r--r-- | DomeKey/KeyboardSimulator.h | 4 | ||||
-rw-r--r-- | DomeKey/KeyboardSimulator.m | 13 |
2 files changed, 8 insertions, 9 deletions
diff --git a/DomeKey/KeyboardSimulator.h b/DomeKey/KeyboardSimulator.h index dc471d3..aca600c 100644 --- a/DomeKey/KeyboardSimulator.h +++ b/DomeKey/KeyboardSimulator.h @@ -7,10 +7,10 @@ // #import <Foundation/Foundation.h> +#import "char_to_key_code.h" @interface KeyboardSimulator : NSObject -+ (CGKeyCode)keyCodeForChar:(NSString *)aChar; -+ (void)simpleKeyPressWithKey:(NSString *)aChar; ++ (void)simpleKeyPressWithKey:(const char)aChar; @end diff --git a/DomeKey/KeyboardSimulator.m b/DomeKey/KeyboardSimulator.m index 2fa808d..1465920 100644 --- a/DomeKey/KeyboardSimulator.m +++ b/DomeKey/KeyboardSimulator.m @@ -10,18 +10,17 @@ @implementation KeyboardSimulator -+ (CGKeyCode)keyCodeForChar:(NSString *)aChar -{ - return (CGKeyCode)0; -} - -+ (void)simpleKeyPressWithKey:(NSString *)aChar ++ (void)simpleKeyPressWithKey:(const char)aChar { CGEventSourceRef source = CGEventSourceCreate( kCGEventSourceStateHIDSystemState ); - CGKeyCode key_code = [self keyCodeForChar:aChar]; + NSNumber *key_number = charToKeyCode(aChar); + if (key_number == nil) { + return; + } + CGKeyCode key_code = (CGKeyCode)[key_number intValue]; CGEventRef key_down = CGEventCreateKeyboardEvent(source, key_code, true); CGEventRef key_up = CGEventCreateKeyboardEvent(source, key_code, false); |