diff --git a/doc/classes/Shortcut.xml b/doc/classes/Shortcut.xml
index c0ff3ebdb5..b63fa81314 100644
--- a/doc/classes/Shortcut.xml
+++ b/doc/classes/Shortcut.xml
@@ -4,8 +4,62 @@
A shortcut for binding input.
- Shortcuts are commonly used for interacting with a [Control] element from an [InputEvent] (also known as hotkeys).
- One shortcut can contain multiple [InputEvent]s, allowing the possibility of triggering one action with multiple different inputs.
+ 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]