                     continue
                 if not option.filtered
                     continue
+
                 filtered = true
+                if keyModifiers[k]
+                    filterExt.push k
+                    continue
+
                 if keyCodes[k]
                     k = keyCodes[k]
                 filter[k] = true

                    if filtered
                        if not filter[e.keyCode]
                            return
                    if prevent
                        e.preventDefault()
                    if stop

        left: 37
        right: 39

    keyModifiers =
        alt: (event) -> event.altKey
        control: (event) -> event.ctrlKey
        meta: (event) -> event.metaKey
        shift: (event) -> event.shiftKey

    makeEvent = (event, option) ->
        option = option or {}
        (code, args) ->
