Merge pull request #2390 from myk002/myk_keybinding_cleanup

clean up default keybindings
Long context lists is a short term solution until we can implement script hotkey guards (or we convert the keybindings into overlay widgets)
develop
Myk 2022-11-14 20:00:32 -08:00 committed by GitHub
commit fa31f3eb56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 78 deletions

@ -5,7 +5,7 @@
# dfhack-config/init/dfhack.init # dfhack-config/init/dfhack.init
################### ###################
# Global bindings # # global bindings #
################### ###################
# the GUI command launcher (two bindings since some keyboards don't have `) # the GUI command launcher (two bindings since some keyboards don't have `)
@ -15,62 +15,55 @@ keybinding add Ctrl-Shift-D gui/launcher
# show hotkey popup menu # show hotkey popup menu
keybinding add Ctrl-Shift-C hotkeys keybinding add Ctrl-Shift-C hotkeys
# a dfhack prompt in df. Sublime text like.
keybinding add Ctrl-Shift-P command-prompt
# on-screen keyboard # on-screen keyboard
keybinding add Ctrl-Shift-K gui/cp437-table keybinding add Ctrl-Shift-K gui/cp437-table
############################## # an in-game init file editor
# Generic dwarfmode bindings # keybinding add Alt-S@title|dwarfmode/Default|dungeonmode gui/settings-manager
##############################
# toggle the display of water level as 1-7 tiles
keybinding add Ctrl-W twaterlvl
# with cursor: ######################
# dwarfmode bindings #
######################
# quicksave, only in main dwarfmode screen and menu page
keybinding add Ctrl-Alt-S@dwarfmode/Default quicksave
# toggle the display of water level as 1-7 tiles
keybinding add Ctrl-W@dwarfmode|dungeonmode twaterlvl
# designate the whole vein for digging # designate the whole vein for digging
keybinding add Ctrl-V digv keybinding add Ctrl-V@dwarfmode digv
keybinding add Ctrl-Shift-V "digv x" keybinding add Ctrl-Shift-V@dwarfmode "digv x"
# clean the selected tile of blood etc # clean the selected tile of blood etc
keybinding add Ctrl-C spotclean keybinding add Ctrl-C spotclean
# destroy items designated for dump in the selected tile
keybinding add Ctrl-Shift-K autodump-destroy-here
# set the zone or cage under the cursor as the default
keybinding add Alt-Shift-I@dwarfmode/Zones "zone set"
# with an item selected:
# destroy the selected item # destroy the selected item
keybinding add Ctrl-K autodump-destroy-item keybinding add Ctrl-K@dwarfmode autodump-destroy-item
# scripts: # destroy items designated for dump in the selected tile
keybinding add Ctrl-Shift-K@dwarfmode autodump-destroy-here
# quicksave, only in main dwarfmode screen and menu page
keybinding add Ctrl-Alt-S@dwarfmode/Default quicksave
# apply blueprints to the map (Alt-F for compatibility with LNP Quickfort) # apply blueprints to the map (Alt-F for compatibility with LNP Quickfort)
keybinding add Ctrl-Shift-Q@dwarfmode gui/quickfort keybinding add Ctrl-Shift-Q@dwarfmode gui/quickfort
keybinding add Alt-F@dwarfmode gui/quickfort keybinding add Alt-F@dwarfmode gui/quickfort
# gui/rename script - rename units and buildings
keybinding add Ctrl-Shift-N gui/rename
keybinding add Ctrl-Shift-T "gui/rename unit-profession"
# a dfhack prompt in df. Sublime text like.
keybinding add Ctrl-Shift-P command-prompt
# show information collected by dwarfmonitor # show information collected by dwarfmonitor
keybinding add Alt-M@dwarfmode/Default "dwarfmonitor prefs" keybinding add Alt-M@dwarfmode/Default "dwarfmonitor prefs"
keybinding add Ctrl-F@dwarfmode/Default "dwarfmonitor stats" keybinding add Ctrl-F@dwarfmode/Default "dwarfmonitor stats"
# export a Dwarf's preferences screen in BBCode to post to a forum # set the zone or cage under the cursor as the default
keybinding add Ctrl-Shift-F@dwarfmode forum-dwarves keybinding add Alt-Shift-I@dwarfmode/Zones "zone set"
# an in-game init file editor # Stocks plugin
keybinding add Alt-S@title gui/settings-manager keybinding add Ctrl-Shift-Z@dwarfmode/Default "stocks show"
keybinding add Alt-S@dwarfmode/Default gui/settings-manager
# open an overview window summarising some stocks (dfstatus)
keybinding add Ctrl-Shift-I@dwarfmode/Default|dfhack/lua/dfstatus gui/dfstatus
# change quantity of manager orders # change quantity of manager orders
keybinding add Alt-Q@jobmanagement/Main gui/manager-quantity keybinding add Alt-Q@jobmanagement/Main gui/manager-quantity
@ -78,51 +71,23 @@ keybinding add Alt-Q@jobmanagement/Main gui/manager-quantity
# re-check manager orders # re-check manager orders
keybinding add Alt-R@jobmanagement/Main workorder-recheck keybinding add Alt-R@jobmanagement/Main workorder-recheck
# workorder detail configuration # set workorder item details (on workorder details screen press D again)
keybinding add D@workquota_details gui/workorder-details keybinding add D@workquota_details gui/workorder-details
# view combat reports for the selected unit/corpse/spatter # view combat reports for the selected unit/corpse/spatter
keybinding add Ctrl-Shift-R view-unit-reports keybinding add Ctrl-Shift-R@dwarfmode|unit|unitlist|joblist|dungeon_monsterstatus|layer_unit_relationship|item|workshop_profile|layer_noblelist|locations|pets|layer_overall_health|textviewer|reportlist|announcelist|layer_military|layer_unit_health|customize_unit|buildinglist|workshop_profile view-unit-reports
# view extra unit information # view extra unit information
keybinding add Alt-I@dwarfmode/ViewUnits|unitlist gui/unit-info-viewer keybinding add Alt-I@dwarfmode/ViewUnits|unitlist gui/unit-info-viewer
# set workorder item details (on workorder details screen press D again)
keybinding add D@workquota_details gui/workorder-details
# boost priority of jobs related to the selected entity # boost priority of jobs related to the selected entity
keybinding add Alt-N do-job-now keybinding add Alt-N@dwarfmode|job|joblist|unit|unitlist|joblist|dungeon_monsterstatus|layer_unit_relationship|item|layer_noblelist|locations|pets|layer_overall_health|textviewer|reportlist|announcelist|layer_military|layer_unit_health|customize_unit|buildinglist|textviewer|item|layer_assigntrade|tradegoods|store|assign_display_item|treasurelist do-job-now
##############################
# Generic adv mode bindings #
##############################
keybinding add Ctrl-B@dungeonmode adv-bodyswap
keybinding add Ctrl-Shift-B@dungeonmode "adv-bodyswap force"
keybinding add Shift-O@dungeonmode gui/companion-order
keybinding add Ctrl-T@dungeonmode gui/advfort
keybinding add Ctrl-A@dungeonmode/ConversationSpeak adv-rumors
##############################
# Generic legends bindings #
##############################
# export all information, or just the detailed maps (doesn't handle site maps)
keybinding add Ctrl-A@legends "exportlegends all"
#############################
# Context-specific bindings #
#############################
# Stocks plugin
keybinding add Ctrl-Shift-Z@dwarfmode/Default "stocks show"
# open an overview window summarising some stocks (dfstatus) # export a Dwarf's preferences screen in BBCode to post to a forum
keybinding add Ctrl-Shift-I@dwarfmode/Default "gui/dfstatus" keybinding add Ctrl-Shift-F@textviewer forum-dwarves
keybinding add Ctrl-Shift-I@dfhack/lua/dfstatus "gui/dfstatus"
# q->stockpile - copy & paste stockpiles # q->stockpile - copy & paste stockpiles
keybinding add Alt-P copystock keybinding add Alt-P@dwarfmode/QueryBuilding/Some/Stockpile copystock
# q->stockpile - load and save stockpile settings out of game # q->stockpile - load and save stockpile settings out of game
keybinding add Alt-L@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -load" keybinding add Alt-L@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -load"
@ -182,7 +147,30 @@ keybinding add Alt-W@overallstatus "gui/workflow status"
keybinding add Alt-W@dfhack/lua/status_overlay "gui/workflow status" keybinding add Alt-W@dfhack/lua/status_overlay "gui/workflow status"
# autobutcher front-end # autobutcher front-end
keybinding add Shift-B@pet/List/Unit "gui/autobutcher" keybinding add Shift-B@pet/List/Unit gui/autobutcher
# view pathable tiles from active cursor # view pathable tiles from active cursor
keybinding add Alt-Shift-P@dwarfmode/LookAround gui/pathable keybinding add Alt-Shift-P@dwarfmode/LookAround gui/pathable
# gui/rename script - rename units and buildings
keybinding add Ctrl-Shift-N@dwarfmode|unit|unitlist|joblist|dungeon_monsterstatus|layer_unit_relationship|item|workshop_profile|layer_noblelist|locations|pets|layer_overall_health|textviewer|reportlist|announcelist|layer_military|layer_unit_health|customize_unit|buildinglist gui/rename
keybinding add Ctrl-Shift-T@dwarfmode|unit|unitlist|joblist|dungeon_monsterstatus|layer_unit_relationship|item|workshop_profile|layer_noblelist|locations|pets|layer_overall_health|textviewer|reportlist|announcelist|layer_military|layer_unit_health|customize_unit "gui/rename unit-profession"
#####################
# adv mode bindings #
#####################
keybinding add Ctrl-A@dungeonmode/ConversationSpeak adv-rumors
keybinding add Ctrl-B@dungeonmode adv-bodyswap
keybinding add Ctrl-Shift-B@dungeonmode "adv-bodyswap force"
keybinding add Shift-O@dungeonmode gui/companion-order
keybinding add Ctrl-T@dungeonmode gui/advfort
#########################
# legends mode bindings #
#########################
# export all information, or just the detailed maps (doesn't handle site maps)
keybinding add Ctrl-A@legends "exportlegends all"

@ -7,10 +7,10 @@ keybinding
Like any other command, it can be used at any time from the console, but 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 bindings are not remembered between runs of the game unless re-created in
`dfhack.init`. :file:`dfhack-config/init/dfhack.init`.
Hotkeys can be any combinations of Ctrl/Alt/Shift with A-Z, 0-9, F1-F12, or Hotkeys can be any combinations of Ctrl/Alt/Shift with A-Z, 0-9, F1-F12, or `
\` (the key below the :kbd:`Esc` key. (the key below the :kbd:`Esc` key on most keyboards).
Usage Usage
----- -----
@ -21,16 +21,17 @@ Usage
List bindings active for the key combination. List bindings active for the key combination.
``keybinding clear <key> [<key>...]`` ``keybinding clear <key> [<key>...]``
Remove bindings for the specified keys. Remove bindings for the specified keys.
``keybinding add <key> "cmdline" ["cmdline"...]`` ``keybinding add <key> "<cmdline>" ["<cmdline>" ...]``
Add bindings for the specified key. Add bindings for the specified key.
``keybinding set <key> "cmdline" ["cmdline"...]`` ``keybinding set <key> "<cmdline>" ["<cmdline>" ...]``
Clear, and then add bindings for the specified key. Clear, and then add bindings for the specified key.
The ``<key>`` parameter above has the following **case-sensitive** syntax:: The ``<key>`` parameter above has the following **case-sensitive** syntax::
[Ctrl-][Alt-][Shift-]KEY[@context[|context...]] [Ctrl-][Alt-][Shift-]KEY[@context[|context...]]
where the ``KEY`` part can be any recognized key and [] denote optional parts. where the ``KEY`` part can be any recognized key and :kbd:`[`:kbd:`]` denote
optional parts.
When multiple commands are bound to the same key combination, DFHack selects When multiple commands are bound to the same key combination, DFHack selects
the first applicable one. Later ``add`` commands, and earlier entries within one the first applicable one. Later ``add`` commands, and earlier entries within one
@ -49,13 +50,18 @@ Multiple contexts can be specified by separating them with a pipe (``|``) - for
example, ``@foo|bar|baz/foo`` would match anything under ``@foo``, ``@bar``, or example, ``@foo|bar|baz/foo`` would match anything under ``@foo``, ``@bar``, or
``@baz/foo``. ``@baz/foo``.
Interactive commands like `liquids` cannot be used as hotkeys. Commands like `liquids` or `tiletypes` cannot be used as hotkeys since they
require the console for interactive input.
Examples Examples
-------- --------
``keybinding add Alt-F1 hotkeys`` ``keybinding add Ctrl-Shift-C hotkeys``
Bind Alt-F1 to run the `hotkeys` command on any screen at any time. Bind Ctrl-Shift-C to run the `hotkeys` command on any screen at any time.
``keybinding add Alt-F@dwarfmode gui/quickfort`` ``keybinding add Alt-F@dwarfmode gui/quickfort``
Bind Alt-F to run `gui/quickfort`, but only when on a screen that shows the Bind Alt-F to run `gui/quickfort`, but only when on a screen that shows the
main map. main map.
``keybinding add Ctrl-Shift-Z@dwarfmode/Default "stocks show"``
Bind Ctrl-Shift-Z to run `stocks show <stocks>`, but only when on the main
map in the default mode (that is, no special mode, like cursor look, is
enabled).