# keymap/scan
Return the effective keymap (package defaults plus user overrides) as a nested map. With an app argument the result is `%{ "mode" %{ "chord" "cmd" } }`; without one it is `%{ "app" %{ "mode" %{ "chord" "cmd" } } }`.
## Syntax
[keymap/scan ?app]
## Parameters
- `?app` — (optional) restrict the result to one app.
## Examples
[keymap/scan "editor"] # → %{ :default %{ :ctrl-s "cmd-save" … } :vi %{ … } } [keymap/scan] # → %{ :editor %{ :default %{ … } } :log %{ … } … }
## Returns
Nested map keyed by keyword modes (with an app) or keyword apps → modes (without). Leaf values are parsed from their stored command strings. `nil` when no runtime is attached.
## See Also
`keymap/scan-overrides`, `keymap/get`, `keymap/save-map`