Key bindings
The Input API provides a way to register custom keyboard and controller bindings.
Examplesâ
Define handlers that execute every time a key is pressed.
WukongApi.Input.RegisterKeyBind(Key.F1, () =>
{
// toggle command window visibility
});
Specify modifier keysâ
WukongApi.Input.RegisterKeyBind(ModifierKeys.Alt, Key.X, () =>
{
// do something
});
Register controller bindingsâ
Use the RegisterGamePadBind method to bind to one of the following buttons:
public enum GamePadButton
{
None,
DPadUp,
DPadDown,
DPadLeft,
DPadRight,
Start,
Back,
LeftThumb,
RightThumb,
LeftShoulder,
RightShoulder,
A,
B,
X,
Y,
LeftTrigger,
RightTrigger,
DPadRightUp,
DPadLeftDown,
DPadRightDown,
DPadLeftUp,
}
Using CanApplyInputâ
Key bindings run every time a key is pressed, regardless of context. If you want to ensure that pressing 'K' when typing in chat will not trigger any command logic, gate it behind the call to CanApplyInput.
WukongApi.Input.RegisterKeyBind(Key.K, () =>
{
if (WukongApi.Input.CanApplyInput())
{
// toggle chat window visibility
}
});