...
This commit is contained in:
parent
8fe71e3dc8
commit
9504f50bd4
@ -524,28 +524,27 @@ build_global_shortcuts_lookup(void) {
|
|||||||
if (symbolic_hotkeys) {
|
if (symbolic_hotkeys) {
|
||||||
for (NSString *key in symbolic_hotkeys) {
|
for (NSString *key in symbolic_hotkeys) {
|
||||||
id obj = symbolic_hotkeys[key];
|
id obj = symbolic_hotkeys[key];
|
||||||
if ([key isKindOfClass:[NSString class]] && [obj isKindOfClass:[NSDictionary class]]) {
|
if (![key isKindOfClass:[NSString class]] || ![obj isKindOfClass:[NSDictionary class]]) continue;
|
||||||
NSInteger sc = [(NSString*)key integerValue];
|
NSInteger sc = [(NSString*)key integerValue];
|
||||||
NSDictionary *sc_value = obj;
|
NSDictionary *sc_value = obj;
|
||||||
id enabled = [sc_value objectForKey:@"enabled"];
|
id enabled = [sc_value objectForKey:@"enabled"];
|
||||||
if (!enabled || ![enabled isKindOfClass:[NSNumber class]] || ![(NSNumber*)enabled boolValue]) return;
|
if (!enabled || ![enabled isKindOfClass:[NSNumber class]] || ![(NSNumber*)enabled boolValue]) continue;
|
||||||
id v = [sc_value objectForKey:@"value"];
|
id v = [sc_value objectForKey:@"value"];
|
||||||
if (!v || ![v isKindOfClass:[NSDictionary class]]) return;
|
if (!v || ![v isKindOfClass:[NSDictionary class]]) continue;
|
||||||
NSDictionary *value = v;
|
NSDictionary *value = v;
|
||||||
id p = [value objectForKey:@"parameters"];
|
id p = [value objectForKey:@"parameters"];
|
||||||
if (!p || ![p isKindOfClass:[NSArray class]]) return;
|
if (!p || ![p isKindOfClass:[NSArray class]]) continue;
|
||||||
NSArray<NSNumber*> *parameters = p;
|
NSArray<NSNumber*> *parameters = p;
|
||||||
NSInteger ch = [parameters[0] integerValue];
|
NSInteger ch = [parameters[0] integerValue];
|
||||||
NSInteger vk = [parameters[1] integerValue];
|
NSInteger vk = [parameters[1] integerValue];
|
||||||
NSEventModifierFlags mods = [parameters[2] unsignedIntegerValue];
|
NSEventModifierFlags mods = [parameters[2] unsignedIntegerValue];
|
||||||
static char buf[64];
|
static char buf[64];
|
||||||
if (ch == 0xffff) {
|
if (ch == 0xffff) {
|
||||||
if (vk == 0xffff) return;
|
if (vk == 0xffff) continue;
|
||||||
snprintf(buf, sizeof(buf) - 1, "v:%lx:%ld", (unsigned long)mods, (long)vk);
|
snprintf(buf, sizeof(buf) - 1, "v:%lx:%ld", (unsigned long)mods, (long)vk);
|
||||||
} else snprintf(buf, sizeof(buf) - 1, "c:%lx:%ld", (unsigned long)mods, (long)ch);
|
} else snprintf(buf, sizeof(buf) - 1, "c:%lx:%ld", (unsigned long)mods, (long)ch);
|
||||||
temp[@(buf)] = @(sc);
|
temp[@(buf)] = @(sc);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
global_shortcuts = [[NSDictionary dictionaryWithDictionary:temp] retain];
|
global_shortcuts = [[NSDictionary dictionaryWithDictionary:temp] retain];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user