Skip to content
This repository was archived by the owner on Sep 23, 2025. It is now read-only.
This repository was archived by the owner on Sep 23, 2025. It is now read-only.

'action' on a keybinding prevents callbacks on subsequent keybindings with same 'combo' #195

@jwm

Description

@jwm

I define a hotkey in Controller A like so:

hotkeys.bindTo($scope).add({
    combo: 's',
    action: 'keydown',
    description: 'Do a thing',
    callback: function (event, hotkey) { /* profit! */ }
}

and a different hotkey in Controller B in the same way, except I omit the action:

hotkeys.bindTo($scope).add({
    combo: 's',
    description: 'Do a different thing',
    callback: function (event, hotkey) { /* profit in another way! */ }
}

I load (in a web browser) an Angular route that uses only Controller A, then click a link to view a different route that uses only Controller B.

The hotkey works fine in the Controller A route, but does not work in Controller B's. The cheat sheet shows the hotkey in both cases, with the correct description for the respective controller. Once I remove the action on the first hotkey, the second hotkey starts working.

This feels like something is wrong when scrubbing the scope's keybinding state. I don't have a proof of concept (this behavior is in a much larger app), but please let me know if I can help. I'm using Angular 1.3.15 (a little old, but we haven't had a chance to upgrade) and the latest version of angular-hotkeys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions