2022-07-18 11:58:35 -06:00
|
|
|
keybinding
|
2022-07-20 00:01:25 -06:00
|
|
|
==========
|
sync tags spreadsheet to git
spreadsheet - https://docs.google.com/spreadsheets/d/1hiDlo8M_bB_1jE-5HRs2RrrA_VZ4cRu9VXaTctX_nwk/edit#gid=170388995
sync command - for fname in *rst; do name=$(echo $fname | sed 's/[.]rst//'); tagline=$(egrep ",$name," ~/Downloads/DFHack\ taxonomy\ -\ Tool\ tags.csv | ~/Downloads/csvtotags.sh); sed -ri "s;[*]*Tags:.*;$tagline;" $fname; done
contents of csvtotags.sh -
fgrep . | sed -r 's/^[^,]+,([^,]+),[^.]+[.]"?,/\1,/' | awk -F, '
function tag(idx, tagname) {
if ($idx == "TRUE") {
if (hastag == 1) {printf(", ")}
printf("`tag/%s`", tagname)
hastag = 1
}
}
{
printf("%s", "**Tags:** ")
hastag = 0
tag(2, "adventure")
tag(3, "fort")
tag(4, "legends")
tag(5, "embark")
tag(6, "system")
tag(7, "dev")
tag(8, "auto")
tag(9, "productivity")
tag(10, "inspection")
tag(11, "design")
tag(12, "quickfort")
tag(13, "interface")
tag(14, "fps")
tag(15, "fix")
tag(16, "mod")
tag(17, "armok")
tag(18, "animals")
tag(19, "buildings")
tag(20, "items")
tag(21, "jobs")
tag(22, "map")
tag(23, "labors")
tag(24, "units")
tag(25, "stockpiles")
tag(26, "trees")
printf("\n")
}
'
2022-08-05 18:55:33 -06:00
|
|
|
**Tags:** `tag/system`
|
2022-07-20 00:01:25 -06:00
|
|
|
:dfhack-keybind:`keybinding`
|
2022-07-18 11:58:35 -06:00
|
|
|
|
2022-07-22 00:21:56 -06:00
|
|
|
:index:`Create hotkeys that will run DFHack commands.
|
|
|
|
<keybinding; Create hotkeys that will run DFHack commands.>` Like any other
|
|
|
|
command, it can be used at any time from the console, but bindings are not
|
|
|
|
remembered between runs of the game unless re-created in `dfhack.init`.
|
2022-07-18 11:58:35 -06:00
|
|
|
|
|
|
|
Hotkeys can be any combinations of Ctrl/Alt/Shift with A-Z, 0-9, F1-F12, or
|
2022-07-22 00:21:56 -06:00
|
|
|
``\``` (the key below the ``Esc`` key.
|
2022-07-18 11:58:35 -06:00
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding``
|
2022-07-18 12:16:05 -06:00
|
|
|
Show some useful information, including the current game context.
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding list <key>``
|
2022-07-18 12:16:05 -06:00
|
|
|
List bindings active for the key combination.
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding clear <key> [<key>...]``
|
2022-07-18 12:16:05 -06:00
|
|
|
Remove bindings for the specified keys.
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding add <key> "cmdline" ["cmdline"...]``
|
2022-07-18 12:16:05 -06:00
|
|
|
Add bindings for the specified key.
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding set <key> "cmdline" ["cmdline"...]``
|
2022-07-18 12:16:05 -06:00
|
|
|
Clear, and then add bindings for the specified key.
|
2022-07-18 11:58:35 -06:00
|
|
|
|
|
|
|
The ``<key>`` parameter above has the following **case-sensitive** syntax::
|
|
|
|
|
|
|
|
[Ctrl-][Alt-][Shift-]KEY[@context[|context...]]
|
|
|
|
|
|
|
|
where the ``KEY`` part can be any recognized key and [] denote optional parts.
|
|
|
|
|
|
|
|
When multiple commands are bound to the same key combination, DFHack selects
|
|
|
|
the first applicable one. Later ``add`` commands, and earlier entries within one
|
|
|
|
``add`` command have priority. Commands that are not specifically intended for
|
|
|
|
use as a hotkey are always considered applicable.
|
|
|
|
|
|
|
|
The ``context`` part in the key specifier above can be used to explicitly
|
|
|
|
restrict the UI state where the binding would be applicable.
|
|
|
|
|
|
|
|
Only bindings with a ``context`` tag that either matches the current context
|
|
|
|
fully, or is a prefix ending at a ``/`` boundary would be considered for
|
|
|
|
execution, i.e. when in context ``foo/bar/baz``, keybindings restricted to any
|
|
|
|
of ``@foo/bar/baz``, ``@foo/bar``, ``@foo``, or none will be active.
|
|
|
|
|
|
|
|
Multiple contexts can be specified by separating them with a pipe (``|``) - for
|
|
|
|
example, ``@foo|bar|baz/foo`` would match anything under ``@foo``, ``@bar``, or
|
|
|
|
``@baz/foo``.
|
|
|
|
|
|
|
|
Interactive commands like `liquids` cannot be used as hotkeys.
|
|
|
|
|
2022-07-20 00:01:25 -06:00
|
|
|
Examples
|
|
|
|
--------
|
2022-07-18 11:58:35 -06:00
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding add Alt-F1 hotkeys``
|
2022-07-18 12:16:05 -06:00
|
|
|
Bind Alt-F1 to run the `hotkeys` command on any screen at any time.
|
2022-07-23 17:03:40 -06:00
|
|
|
``keybinding add Alt-F@dwarfmode gui/quickfort``
|
2022-07-18 12:16:05 -06:00
|
|
|
Bind Alt-F to run `gui/quickfort`, but only when on a screen that shows the
|
|
|
|
main map.
|