Introducing MPModifiedKey to encapulate keyCode and modifier flags

This commit is contained in:
michael starke
2017-01-25 13:15:24 +01:00
parent e8d5e30142
commit 72574e730a
6 changed files with 65 additions and 48 deletions

View File

@@ -32,16 +32,15 @@ static CGEventFlags _updateModifierMaskForCurrentDefaults(CGEventFlags modifiers
}
- (instancetype)initWithModifierMask:(CGEventFlags)modiferMask character:(NSString *)character {
CGEventFlags modifiers;
CGKeyCode mappedKey = [MPKeyMapper keyCodeForCharacter:character modifier:&modifiers];
if(mappedKey == kMPUnknownKeyCode) {
MPModifiedKey mappedKey = [MPKeyMapper modifiedKeyForCharacter:character];
if(mappedKey.keyCode == kMPUnknownKeyCode) {
self = nil;
}
else {
if(modifiers && (modiferMask != modifiers)) {
if(mappedKey.modifier && (modiferMask != mappedKey.modifier)) {
NSLog(@"Supplied modifiers for character %@ do not match required modifiers", character);
}
self = [self initWithModifierMask:modiferMask keyCode:mappedKey];
self = [self initWithModifierMask:modiferMask keyCode:mappedKey.modifier];
}
return self;
}