diff --git a/darwin/entry.m b/darwin/entry.m index c754db8d..7bf57d43 100644 --- a/darwin/entry.m +++ b/darwin/entry.m @@ -101,13 +101,14 @@ static void triggerOnKeyEvent(void *key, void *e, void *data) ke.ExtKey = 0; ke.Modifier = 0; ke.Modifiers = parseModifiers(theEvent); + ke.Up = ([theEvent type] == NSKeyUp ? 1 : 0); if (uiprivFromKeycode([theEvent keyCode], &ke)) uiprivMapWalkWithData(self->entries, &ke, triggerOnKeyEvent); return theEvent; }; - eventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask handler:eventHandler]; + eventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:(NSKeyDownMask | NSKeyUpMask) handler:eventHandler]; return self; }