Event that is fired when the resolved keybindings change due to a different keyboard layout or when a new keymap is being set
Return a user visible representation of a single key.
resolved properties of registered keybindings so the KeyboardLayoutService is called
again to resolve them. This is necessary when the user's keyboard layout has changed.
Tries to execute a keybinding.
Return a new filtered array containing only the usable bindings among the input bindings
Bindings to filter
Only execute if it has no context (global context) or if we're in that context.
Return true of string a pseudo-command id, in other words a command id that has a special meaning and that we won't find in the command registry.
commandId to test
Returns true if the binding is usable
Binding to be checked
Match first binding in the current context. Keybindings ordered by a scope and by a registration order within the scope.
FIXME: This method should run very fast since it happens on each keystroke. We should reconsider how keybindings are stored. It should be possible to look up full and partial keybinding for given key sequence for constant time using some kind of tree. Such tree should not contain disabled keybindings and be invalidated whenever the registry is changed.
Registers the keybinding context arguments into the application. Fails when an already registered context is being registered.
the keybinding contexts to register into the application.
Reset keybindings for all scopes(only leaves the default keybindings mapped)
Reset keybindings for a specific scope
scope to reset the keybindings for
Run the command matching to the given keyboard event.
Unregister all keybindings from the registry that are bound to the key of the given keybinding
a keybinding specifying the key to be unregistered
Unregister all keybindings with the given key from the registry
a key to be unregistered
Unregister all existing keybindings for the given command
the command to unregister all keybindings for