UDN
Search public documentation:

AddingEditorHotkeys
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Editor & Tools Programming > Adding Editor Hotkeys
UE3 Home > Input / Output > Adding Editor Hotkeys

Adding Editor hot keys


Overview


The bind hot keys dialog lets users remap default hot key bindings in the editor to key combinations of their choice.

For a summary of how to bind editor hot keys and create new editor hot key commands, see the Editor Hotkeys page._

Adding Hotkeys


The default keybindings are defined in the BaseEditorKeyBindings.INI configuration file. Engine-defined categories and commands are defined in BaseEditor.INI in the Engine\Config director. Game-specific categories and commands should be added to the DefaultEditor.INI file in the \Config directory.

Categories

Command Categories can be added by adding a new EditorCategories entry under the [UnrealEd.UnrealEdOptions] section of the BaseEditor.INI configuration file.

EditorCategories group together list of commands. Hotkeys are unique within a category. This means that you can bind the hotkey Spacebar in Matinee and Kismet separately; however you cannot bind Spacebar in Matinee to two different commands.

Example:

[UnrealEd.UnrealEdOptions]
EditorCategories=(Name="Matinee")

Name

This is the name of the category to display the command in.

Parent

This is the optional parent of the category.

Note that Categories can also be nested by defining a Parent that points to another category. For example:

EditorCategories=(Parent=”Matinee”,Name="Matinee Nested")

Commands

Commands can be added by adding a new EditorCommands entry under the [UnrealEd.UnrealEdOptions] section of the BaseEditor.INI configuration file.

Here’s an example of a hotkey command:

[UnrealEd.UnrealEdOptions]
;Matinee Commands
EditorCommands=
(Parent="Matinee", CommandName="Matinee_TogglePlayPause",
Description="Matinee_TogglePlayPause_Desc", ExecCommand="Matinee TogglePlayPause")

Parent

This is the category to display the command in.

CommandName and Description

These properties represent localizable strings. The CommandName should be unique.

ExecCommand

This is the exec command to execute when the hotkey is pressed.

Default Keybindings

Hotkey default keybindings are stored in BaseEditorKeyBindings.INI in the Engine\Config directory and DefaultEditorKeyBindings.INI in the \Config directory. Default keybindings are automatically bound when the editor is started and then overridden by any custom keybindings the user has made.

A hot key default can be added by adding a new Keybindings entry under the [UnrealEd.UnrealEdKeyBindings] section of the configuration file.

Here’s an example of a default keybinding:

KeyBindings=
(bCtrlDown=False,bAltDown=False,bShiftDown=False,Key="SpaceBar",CommandName="Matinee_TogglePlayPause")

bCtrlDown

Whether or not the hotkey includes holding the CTRL key modifier.

bAltDown

Whether or not the hotkey includes holding the ALT key modifier.

bShiftDown

Whether or not the hotkey includes holding the SHIFT key modifier.

Key

The Unreal key name of hotkey that is being bound.

CommandName

Name of the command to bind the hotkey to. Commands are defined in BaseEditor.INI and DefaultEditor.INI.

Localization

CategoryName, CommandName and Description map directly to strings that can be localized in UnrealEd.INT.

For example, for the above command and category would be as follows in UnrealEd.INT:

[CommandCategoryNames]
Matinee=Matinee

[CommandNames]
Matinee_TogglePlayPause=Toggle Play/Pause
Matinee_TogglePlayPause_Desc=Toggles between the playing and paused states in Matinee.

How it works

Hot key commands are actually exec commands with a unique name and some localized text. When a key combination is entered, the InputKey function for the current FEditorLevelViewportClient-derived Editor window is called. If there is support for handling hotkey bindings, and the key combination matches one of the default keybindings for the current editor, then the overridden Exec function is called for the command if one is available in the current UnrealEd options.