A shortcut for binding input. Shortcuts (also known as hotkeys) are containers of [InputEvent] resources. They are commonly used to interact with a [Control] element from an [InputEvent]. One shortcut can contain multiple [InputEvent] resources, making it possible to trigger one action with multiple different inputs. [b]Example:[/b] Capture the [kbd]Ctrl + S[/kbd] shortcut using a [Shortcut] resource: [codeblocks] [gdscript] extends Node var save_shortcut = Shortcut.new() func _ready(): var key_event = InputEventKey.new() key_event.keycode = KEY_S key_event.ctrl_pressed = true key_event.command_or_control_autoremap = true # Swaps ctrl for Command on Mac. save_shortcut.set_events([key_event]) func _input(event): if save_shortcut.matches_event(event) and event.is_pressed() and not event.is_echo(): print("Save shortcut pressed!") get_viewport().set_input_as_handled() [/gdscript] [csharp] public partial class YourScriptName : Godot.Node { private Godot.Shortcut saveShortcut; public override void _Ready() { // Enable input processing explicitly (optional for Node, but included for clarity) SetProcessInput(true); saveShortcut = new Godot.Shortcut(); Godot.InputEventKey keyEvent = new Godot.InputEventKey { Keycode = Godot.Key.S, CtrlPressed = true, CommandOrControlAutoremap = true }; Godot.Collections.Array<Godot.InputEvent> events = new Godot.Collections.Array<Godot.InputEvent> { keyEvent }; saveShortcut.SetEvents(events); } public override void _Input(Godot.InputEvent @event) { if (@event is Godot.InputEventKey keyEvent && saveShortcut.MatchesEvent(@event) && keyEvent.Pressed && !keyEvent.Echo) { Godot.GD.Print("Save shortcut pressed!"); GetViewport().SetInputAsHandled(); } } } [/csharp] [/codeblocks] Returns the shortcut's first valid [InputEvent] as a [String]. Returns whether [member events] contains an [InputEvent] which is valid. Returns whether any [InputEvent] in [member events] equals [param event]. This uses [method InputEvent.is_match] to compare events. The shortcut's [InputEvent] array. Generally the [InputEvent] used is an [InputEventKey], though it can be any [InputEvent], including an [InputEventAction].