diff options
Diffstat (limited to 'src/ui/keys.c')
-rw-r--r-- | src/ui/keys.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ui/keys.c b/src/ui/keys.c index 87a5fb88..17cc0e72 100644 --- a/src/ui/keys.c +++ b/src/ui/keys.c | |||
@@ -311,7 +311,10 @@ static iBinding *findCommand_Keys_(iKeys *d, const char *command) { | |||
311 | static void updateLookup_Keys_(iKeys *d) { | 311 | static void updateLookup_Keys_(iKeys *d) { |
312 | clear_PtrSet(&d->lookup); | 312 | clear_PtrSet(&d->lookup); |
313 | iConstForEach(Array, i, &d->bindings) { | 313 | iConstForEach(Array, i, &d->bindings) { |
314 | insert_PtrSet(&d->lookup, i.value); | 314 | const iBinding *bind = i.value; |
315 | if (~bind->flags & noDirectTrigger_BindFlag) { | ||
316 | insert_PtrSet(&d->lookup, i.value); | ||
317 | } | ||
315 | } | 318 | } |
316 | } | 319 | } |
317 | 320 | ||
@@ -442,9 +445,6 @@ iBool processEvent_Keys(const SDL_Event *ev) { | |||
442 | if (ev->type == SDL_KEYDOWN || ev->type == SDL_KEYUP) { | 445 | if (ev->type == SDL_KEYDOWN || ev->type == SDL_KEYUP) { |
443 | const iBinding *bind = find_Keys_(d, ev->key.keysym.sym, keyMods_Sym(ev->key.keysym.mod)); | 446 | const iBinding *bind = find_Keys_(d, ev->key.keysym.sym, keyMods_Sym(ev->key.keysym.mod)); |
444 | if (bind) { | 447 | if (bind) { |
445 | if (bind->flags & noDirectTrigger_BindFlag) { | ||
446 | return iFalse; | ||
447 | } | ||
448 | if (ev->type == SDL_KEYUP) { | 448 | if (ev->type == SDL_KEYUP) { |
449 | if (bind->flags & argRelease_BindFlag) { | 449 | if (bind->flags & argRelease_BindFlag) { |
450 | postCommandf_Root(root, "%s release:1", cstr_String(&bind->command)); | 450 | postCommandf_Root(root, "%s release:1", cstr_String(&bind->command)); |