Raxol.Core.KeyboardShortcuts.ShortcutsServer (Raxol v2.0.1)

View Source

GenServer implementation for keyboard shortcuts management.

Provides state management for keyboard shortcuts with context awareness, priority handling, and functional pattern resolution.

Summary

Functions

Returns a specification to start this module under a supervisor.

Clear all shortcuts.

Clear context shortcuts.

Check if shortcuts are enabled.

Generate shortcuts help.

Get active context.

Get available shortcuts.

Get shortcuts for context.

Handle keyboard event.

Initialize shortcuts configuration.

Set conflict resolution strategy.

Set enabled state.

Types

t()

@type t() :: %Raxol.Core.KeyboardShortcuts.ShortcutsServer{
  active_context: atom(),
  enabled: boolean(),
  priority_maps: map(),
  shortcuts: map()
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

clear_all(server)

Clear all shortcuts.

clear_context(server, context)

Clear context shortcuts.

enabled?(server)

Check if shortcuts are enabled.

generate_shortcuts_help()

Generate shortcuts help.

generate_shortcuts_help(server)

get_active_context(server)

Get active context.

get_available_shortcuts(server)

Get available shortcuts.

get_shortcuts_for_context(server, context)

Get shortcuts for context.

handle_keyboard_event(server, event)

Handle keyboard event.

handle_manager_cast(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.

handle_manager_info(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.

init_shortcuts(server)

Initialize shortcuts configuration.

register_shortcut(server, shortcut, name, callback, opts \\ [])

Register a keyboard shortcut.

set_active_context(server, context)

Set active context.

set_conflict_resolution(server, strategy)

Set conflict resolution strategy.

set_enabled(server, enabled)

Set enabled state.

start_link(init_opts \\ [])

unregister_shortcut(server, shortcut, context \\ :global)

Unregister a shortcut.