aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-08-27 20:42:52 +0200
committerTeddy Wing2018-08-27 20:42:52 +0200
commit3d17de2014ba72b7dc4f31788a81ea7326108edd (patch)
treef3a5eee3c593e0df1f1473be8642ac33a09a9d53
parenta8a5fc9be239973db9ef4590669ae36d588bb4ef (diff)
downloadDomeKey-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.h4
-rw-r--r--DomeKey/KeyboardSimulator.m13
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);