Hotkeys: adding support for a tool

Select the File locations option from the Settings menu and you'll be presented with the following dialog:

/docs/hotkeys/new_tools/file-locations-dialog.png

Here it's possible to add new supported tools as well as remove existing ones, or change the locations of the files containing the definitions.

When you choose to add a new one you'll be prompted to enter a name for it:

/docs/hotkeys/new_tools/new-tool.png

Following that, you have the opportunity to use an existing definitions file (e.g. one you prepared earlier) or create a new one:

/docs/hotkeys/new_tools/initialize-question.png

If you choose yes, the following dialog shows up:

/docs/hotkeys/new_tools/initialize-dialog.png

The names shown are derived from the name you entered in the "new program" dialog. Three questions need to be answered: whether it will be possible to automatically (re)build the key definitions from settings files, whether the lower part of the screen will show the keydef in detail - which you will need for changing it - and whether it will be possible to change the definitions from within this program and save them back to the settings files. If you choose yes to either question, the plugin you name in the first entry of this dialog will need to contain code to support this action (available in commented form in the plugin example). Note that the name at the top of the screen is the name under which the plugin will be imported into the main program.

Confirming this dialog will create such a plugin with some skeleton code, and you can always change these options later (there are maintenance dialogs for these, too) and have it work.

Canceling this dialog still gives you the opportunity to choose a definitions file manually:

/docs/hotkeys/new_tools/file-locations-new.png

just press the appropriate Browse button and you'll get a file selection dialog.

Only when you press the OK button here are the changes actually applied. This dialog can also be used to change the locations of the current tools' definition files.