|
|
|
# Debug Key Bindings
|
|
|
|
|
|
|
|
If you need help debugging or understanding key bindings DYI way, you can
|
|
|
|
create a `test.lua` file with the following script, launch xplr with
|
|
|
|
`xplr --extra-config test.lua`, press `#` and play around.
|
|
|
|
|
|
|
|
```lua
|
|
|
|
-- The global key bindings inherited by all the modes.
|
|
|
|
xplr.config.general.global_key_bindings = {
|
|
|
|
on_key = {
|
|
|
|
esc = {
|
|
|
|
help = "escape",
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "global on_key(esc) called" },
|
|
|
|
"PopMode",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
["ctrl-c"] = {
|
|
|
|
help = "terminate",
|
|
|
|
messages = {
|
|
|
|
"Terminate",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
-- Press `#` to enter the `debug key bindings` mode.
|
|
|
|
xplr.config.modes.builtin.default.key_bindings.on_key["#"] = {
|
|
|
|
help = "test",
|
|
|
|
messages = {
|
|
|
|
"PopMode",
|
|
|
|
{ SwitchModeCustom = "debug_key_bindings" },
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
-- The `debug key bindings` mode.
|
|
|
|
xplr.config.modes.custom.debug_key_bindings = {
|
|
|
|
name = "debug key bindings",
|
|
|
|
key_bindings = {
|
|
|
|
on_key = {
|
|
|
|
["1"] = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_key(1) called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
a = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_key(a) called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
["`"] = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_key(`) called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
tab = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_key(tab) called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
f1 = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_key(f1) called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
on_alphabet = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_alphabet called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
on_number = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_number called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
-- on_alphanumeric = {
|
|
|
|
-- messages = {
|
|
|
|
-- { LogInfo = "on_alphanumeric called" },
|
|
|
|
-- },
|
|
|
|
-- },
|
|
|
|
on_special_character = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_special_character called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
-- on_character = {
|
|
|
|
-- messages = {
|
|
|
|
-- { LogInfo = "on_character called" },
|
|
|
|
-- },
|
|
|
|
-- },
|
|
|
|
on_navigation = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_navigation called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
on_function = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "on_function called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
default = {
|
|
|
|
messages = {
|
|
|
|
{ LogInfo = "default called" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
```
|