From 3d17de2014ba72b7dc4f31788a81ea7326108edd Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Mon, 27 Aug 2018 20:42:52 +0200 Subject: 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`. --- DomeKey/KeyboardSimulator.h | 4 ++-- 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 +#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); -- cgit v1.2.3