Skip to main content

Variable: GtkShortcutController

const GtkShortcutController: "GtkShortcutController"

Defined in: generated/jsx.ts:20157

Manages keyboard shortcuts and their activation.

Most common shortcuts are using this controller implicitly, e.g. by adding a mnemonic underline to a Gtk.Label, or by installing a key binding using Gtk.WidgetClass.add_binding, or by adding accelerators to global actions using Gtk.Application.set_accels_for_action.

But it is possible to create your own shortcut controller, and add shortcuts to it.

GtkShortcutController implements Gio.ListModel for querying the shortcuts that have been added to it.

GtkShortcutController as GtkBuildable

GtkShortcutControllers can be created in Gtk.Builder ui files, to set up shortcuts in the same place as the widgets.

An example of a UI definition fragment with GtkShortcutController:

  <object class='GtkButton'>
<child>
<object class='GtkShortcutController'>
<property name='scope'>managed</property>
<child>
<object class='GtkShortcut'>
<property name='trigger'>&lt;Control&gt;k</property>
<property name='action'>activate</property>
</object>
</child>
</object>
</child>
</object>

This example creates a Gtk.ActivateAction for triggering the activate signal of the Gtk.Button. See Gtk.ShortcutAction.parse_string for the syntax for other kinds of Gtk.ShortcutAction. See Gtk.ShortcutTrigger.parse_string to learn more about the syntax for triggers.