[gtkmm/use-dllexport: 26/60] Gdk, Gtk: Regenerate docs.xml and .defs files



commit 5a005e10584bcae4ed7613c3bf19f4b4030c8160
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sat Apr 11 12:28:30 2020 +0200

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update tools/extra_defs_gen/generate_defs_gdk.cc,
    tools/extra_defs_gen/generate_defs_gtk.cc,
    gdk_docs_override.xml, gtk_docs_override.xml

 gdk/src/gdk_docs.xml                      |  464 +++--
 gdk/src/gdk_docs_override.xml             |    1 +
 gdk/src/gdk_enums.defs                    |  140 +-
 gdk/src/gdk_methods.defs                  |  324 ++--
 gdk/src/gdk_signals.defs                  |   74 +-
 gtk/src/gtk_docs.xml                      | 2922 +++++++++++++----------------
 gtk/src/gtk_docs_override.xml             |    1 -
 gtk/src/gtk_enums.defs                    |   53 +-
 gtk/src/gtk_methods.defs                  | 1135 +++++------
 gtk/src/gtk_signals.defs                  |  237 ++-
 tools/extra_defs_gen/generate_defs_gdk.cc |    2 -
 tools/extra_defs_gen/generate_defs_gtk.cc |    4 +-
 12 files changed, 2337 insertions(+), 3020 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index 52b47bce..a8671f9d 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -1548,6 +1548,29 @@ it has a lower quality than the @GDK_INTERP_BILINEAR filter
 </parameters>
 </enum>
 
+<enum name="GdkKeyMatch">
+<description>
+The possible return values from gdk_key_event_matches()
+describe how well an event matches a given keyval and modifiers.
+
+</description>
+<parameters>
+<parameter name="GDK_KEY_MATCH_NONE">
+<parameter_description> The key event does not match
+</parameter_description>
+</parameter>
+<parameter name="GDK_KEY_MATCH_PARTIAL">
+<parameter_description> The key event matches if keyboard state
+(specifically, the currently active group) is ignored
+</parameter_description>
+</parameter>
+<parameter name="GDK_KEY_MATCH_EXACT">
+<parameter_description> The key event matches
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
 <signal name="GdkKeymap::direction-changed">
 <description>
 The ::direction-changed signal gets emitted when the direction
@@ -1652,81 +1675,15 @@ more formats get added, so do not rely on its concrete integer.
 </parameters>
 </enum>
 
-<enum name="GdkModifierIntent">
-<description>
-This enum is used with gdk_keymap_get_modifier_mask()
-in order to determine what modifiers the
-currently used windowing system backend uses for particular
-purposes. For example, on X11/Windows, the Control key is used for
-invoking menu shortcuts (accelerators), whereas on Apple computers
-it’s the Command key (which correspond to %GDK_CONTROL_MASK and
-%GDK_MOD2_MASK, respectively).
-
-</description>
-<parameters>
-<parameter name="GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR">
-<parameter_description> the primary modifier used to invoke
-menu accelerators.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_CONTEXT_MENU">
-<parameter_description> the modifier used to invoke context menus.
-Note that mouse button 3 always triggers context menus. When this modifier
-is not 0, it additionally triggers context menus when used with mouse button 1.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_EXTEND_SELECTION">
-<parameter_description> the modifier used to extend selections
-using `modifier`-click or `modifier`-cursor-key
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_MODIFY_SELECTION">
-<parameter_description> the modifier used to modify selections,
-which in most cases means toggling the clicked item into or out of the selection.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_NO_TEXT_INPUT">
-<parameter_description> when any of these modifiers is pressed, the
-key event cannot produce a symbol directly. This is meant to be used for
-input methods, and for use cases like typeahead search.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_SHIFT_GROUP">
-<parameter_description> the modifier that switches between keyboard
-groups (AltGr on X11/Windows and Option/Alt on OS X).
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK">
-<parameter_description> The set of modifier masks accepted
-as modifiers in accelerators. Needed because Command is mapped to MOD2 on
-OSX, which is widely used, but on X11 MOD2 is NumLock and using that for a
-mod key is problematic at best.
-Ref: https://bugzilla.gnome.org/show_bug.cgi?id=736125.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GdkModifierType">
 <description>
 A set of bit-flags to indicate the state of modifier keys and mouse buttons
 in various event types. Typical modifier keys are Shift, Control, Meta,
 Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.
 
-Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
-
-GDK recognizes which of the Meta, Super or Hyper keys are mapped
-to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK,
-%GDK_HYPER_MASK or %GDK_META_MASK in the state field of key events.
-
-Note that GDK may add internal values to events which include
-reserved values such as %GDK_MODIFIER_RESERVED_13_MASK.  Your code
-should preserve and ignore them.  You can use %GDK_MODIFIER_MASK to
-remove all reserved values.
-
-Also note that the GDK X backend interprets button press events for button
-4-7 as scroll events, so %GDK_BUTTON4_MASK and %GDK_BUTTON5_MASK will never
-be set.
+Note that GDK may add internal values to events which include values outside
+of this enumeration. Your code should preserve and ignore them.  You can use
+%GDK_MODIFIER_MASK to remove all private values.
 
 </description>
 <parameters>
@@ -1743,32 +1700,12 @@ X server this may either be CapsLock or ShiftLock).
 <parameter_description> the Control key.
 </parameter_description>
 </parameter>
-<parameter name="GDK_MOD1_MASK">
+<parameter name="GDK_ALT_MASK">
 <parameter_description> the fourth modifier key (it depends on the modifier
 mapping of the X server which key is interpreted as this modifier, but
 normally it is the Alt key).
 </parameter_description>
 </parameter>
-<parameter name="GDK_MOD2_MASK">
-<parameter_description> the fifth modifier key (it depends on the modifier
-mapping of the X server which key is interpreted as this modifier).
-</parameter_description>
-</parameter>
-<parameter name="GDK_MOD3_MASK">
-<parameter_description> the sixth modifier key (it depends on the modifier
-mapping of the X server which key is interpreted as this modifier).
-</parameter_description>
-</parameter>
-<parameter name="GDK_MOD4_MASK">
-<parameter_description> the seventh modifier key (it depends on the modifier
-mapping of the X server which key is interpreted as this modifier).
-</parameter_description>
-</parameter>
-<parameter name="GDK_MOD5_MASK">
-<parameter_description> the eighth modifier key (it depends on the modifier
-mapping of the X server which key is interpreted as this modifier).
-</parameter_description>
-</parameter>
 <parameter name="GDK_BUTTON1_MASK">
 <parameter_description> the first mouse button.
 </parameter_description>
@@ -1789,58 +1726,6 @@ mapping of the X server which key is interpreted as this modifier).
 <parameter_description> the fifth mouse button.
 </parameter_description>
 </parameter>
-<parameter name="GDK_MODIFIER_RESERVED_13_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_14_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_15_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_16_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_17_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_18_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_19_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_20_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_21_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_22_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_23_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_24_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_RESERVED_25_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
 <parameter name="GDK_SUPER_MASK">
 <parameter_description> the Super modifier
 </parameter_description>
@@ -1853,19 +1738,6 @@ mapping of the X server which key is interpreted as this modifier).
 <parameter_description> the Meta modifier
 </parameter_description>
 </parameter>
-<parameter name="GDK_MODIFIER_RESERVED_29_MASK">
-<parameter_description> A reserved bit flag; do not use in your own code
-</parameter_description>
-</parameter>
-<parameter name="GDK_RELEASE_MASK">
-<parameter_description> not used in GDK itself. GTK uses it to differentiate
-between (keyval, modifiers) pairs from key press and release events.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODIFIER_MASK">
-<parameter_description> a mask covering all modifier types.
-</parameter_description>
-</parameter>
 </parameters>
 </enum>
 
@@ -6671,6 +6543,89 @@ Sets @display as the default display.
 <return></return>
 </function>
 
+<function name="gdk_display_map_keycode">
+<description>
+Returns the keyvals bound to @keycode. The Nth #GdkKeymapKey
+in @keys is bound to the Nth keyval in @keyvals.
+
+When a keycode is pressed by the user, the keyval from
+this list of entries is selected by considering the effective
+keyboard group and level.
+
+Free the returned arrays with g_free().
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="keycode">
+<parameter_description> a keycode
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> return
+location for array of #GdkKeymapKey, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="keyvals">
+<parameter_description> return
+location for array of keyvals, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_entries">
+<parameter_description> length of @keys and @keyvals
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if there were any entries
+</return>
+</function>
+
+<function name="gdk_display_map_keyval">
+<description>
+Obtains a list of keycode/group/level combinations that will
+generate @keyval. Groups and levels are two kinds of keyboard mode;
+in general, the level determines whether the top or bottom symbol
+on a key is used, and the group determines whether the left or
+right symbol is used.
+
+On US keyboards, the shift key changes the keyboard level, and there
+are no groups. A group switch key might convert a keyboard between
+Hebrew to English modes, for example.
+
+#GdkEventKey contains a %group field that indicates the active
+keyboard group. The level is computed from the modifier mask.
+
+The returned array should be freed with g_free().
+
+
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> a keyval, such as %GDK_KEY_a, %GDK_KEY_Up, %GDK_KEY_Return, etc.
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> return location
+for an array of #GdkKeymapKey
+</parameter_description>
+</parameter>
+<parameter name="n_keys">
+<parameter_description> return location for number of elements in returned array
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if keys were found and returned
+</return>
+</function>
+
 <function name="gdk_display_notify_startup_complete">
 <description>
 Indicates to the GUI environment that the application has
@@ -7827,10 +7782,7 @@ Increase the ref count of @event.
 <description>
 This function returns whether a #GdkEventButton should trigger a
 context menu, according to platform conventions. The right mouse
-button always triggers context menus. Additionally, if
-gdk_keymap_get_modifier_mask() returns a non-0 mask for
-%GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will
-also trigger a context menu if this modifier is pressed.
+button always triggers context menus.
 
 This function should always be used instead of simply checking for
 event-&gt;button == %GDK_BUTTON_SECONDARY.
@@ -8757,9 +8709,9 @@ or %NULL if the string wasn't a valid mime type
 </return>
 </function>
 
-<function name="gdk_key_event_get_group">
+<function name="gdk_key_event_get_consumed_modifiers">
 <description>
-Extracts the group from a key event.
+Extracts the consumed modifiers from a key event.
 
 
 </description>
@@ -8769,7 +8721,7 @@ Extracts the group from a key event.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the group of @event
+<return> the consumed modifiers or @event
 </return>
 </function>
 
@@ -8805,9 +8757,25 @@ Extracts the keyval from a key event.
 </return>
 </function>
 
-<function name="gdk_key_event_get_scancode">
+<function name="gdk_key_event_get_layout">
+<description>
+Extracts the layout from a key event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a key event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the layout of @event
+</return>
+</function>
+
+<function name="gdk_key_event_get_level">
 <description>
-Extracts the scancode from a key event.
+Extracts the shift level from a key event.
 
 
 </description>
@@ -8817,7 +8785,32 @@ Extracts the scancode from a key event.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the scancode of @event
+<return> the shift level of @event
+</return>
+</function>
+
+<function name="gdk_key_event_get_match">
+<description>
+Gets a keyval and modifier combination that will cause
+gdk_event_match() to successfully match the given event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a key #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> return location for a keyval
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> return location for modifiers
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success
 </return>
 </function>
 
@@ -8837,31 +8830,32 @@ Extracts whether the key event is for a modifier key.
 </return>
 </function>
 
-<function name="gdk_keymap_add_virtual_modifiers">
+<function name="gdk_key_event_matches">
 <description>
-Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set
-in @state to the virtual modifiers (i.e. Super, Hyper and Meta) and
-set the corresponding bits in @state.
+Matches a key event against a keyboard shortcut that is specified
+as a keyval and modifiers. Partial matches are possible where the
+combination matches if the currently active group is ignored.
 
-GDK already does this before delivering key events, but for
-compatibility reasons, it only sets the first virtual modifier
-it finds, whereas this function sets all matching virtual modifiers.
+Note that we ignore Caps Lock for matching.
 
-This function is useful when matching key events against
-accelerators.
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="event">
+<parameter_description> a key #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="state">
-<parameter_description> pointer to the modifier mask to change
+<parameter name="keyval">
+<parameter_description> the keyval to match
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> the modifiers to match
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a GdkKeyMatch value describing whether @event matches
+</return>
 </function>
 
 <function name="gdk_keymap_get_caps_lock_state">
@@ -8994,34 +8988,6 @@ for an array of #GdkKeymapKey
 </return>
 </function>
 
-<function name="gdk_keymap_get_modifier_mask">
-<description>
-Returns the modifier mask the @keymap’s windowing system backend
-uses for a particular purpose.
-
-Note that this function always returns real hardware modifiers, not
-virtual ones (e.g. it will return #GDK_MOD1_MASK rather than
-#GDK_META_MASK if the backend maps MOD1 to META), so there are use
-cases where the return value of this function has to be transformed
-by gdk_keymap_add_virtual_modifiers() in order to contain the
-expected result.
-
-
-</description>
-<parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="intent">
-<parameter_description> the use case for the modifier mask
-</parameter_description>
-</parameter>
-</parameters>
-<return> the modifier mask used for @intent.
-</return>
-</function>
-
 <function name="gdk_keymap_get_modifier_state">
 <description>
 Returns the current modifier state.
@@ -9111,34 +9077,6 @@ the same as the current keyboard state.
 </return>
 </function>
 
-<function name="gdk_keymap_map_virtual_modifiers">
-<description>
-Maps the virtual modifiers (i.e. Super, Hyper and Meta) which
-are set in @state to their non-virtual counterparts (i.e. Mod2,
-Mod3,...) and set the corresponding bits in @state.
-
-This function is useful when matching key events against
-accelerators.
-
-
-</description>
-<parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> pointer to the modifier state to map
-</parameter_description>
-</parameter>
-</parameters>
-<return> %FALSE if two virtual modifiers were mapped to the
-same non-virtual modifier. Note that %FALSE is also returned
-if a virtual modifier is mapped to a non-virtual modifier that
-was already set in @state.
-</return>
-</function>
-
 <function name="gdk_keymap_translate_keyboard_state">
 <description>
 Translates the contents of a #GdkEventKey into a keyval, effective
@@ -9159,7 +9097,7 @@ the `plus` symbol is shifted, so when comparing a key press to a
 
 |[&lt;!-- language=&quot;C&quot; --&gt;
 // We want to ignore irrelevant modifiers like ScrollLock
-#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
+#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_ALT_MASK)
 state = gdk_event_get_modifier_state (event);
 gdk_keymap_translate_keyboard_state (keymap,
 gdk_key_event_get_keycode (event),
@@ -16152,6 +16090,45 @@ from the #GdkSurfaceState enumeration.
 </return>
 </function>
 
+<function name="gdk_toplevel_inhibit_system_shortcuts">
+<description>
+Requests that the @toplevel inhibit the system shortcuts, asking the
+desktop environment/windowing system to let all keyboard events reach
+the surface, as long as it is focused, instead of triggering system
+actions.
+
+If granted, the rerouting remains active until the default shortcuts
+processing is restored with gdk_toplevel_restore_system_shortcuts(),
+or the request is revoked by the desktop enviroment, windowing system
+or the user.
+
+A typical use case for this API is remote desktop or virtual machine
+viewers which need to inhibit the default system keyboard shortcuts
+so that the remote session or virtual host gets those instead of the
+local environment.
+
+The windowing system or desktop environment may ask the user to grant
+or deny the request or even choose to ignore the request entirely.
+
+The caller can be notified whenever the request is granted or revoked
+by listening to the GdkToplevel::shortcuts-inhibited property.
+
+
+</description>
+<parameters>
+<parameter name="toplevel">
+<parameter_description> the #GdkToplevel requesting system keyboard shortcuts
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the #GdkEvent that is triggering the inhibit
+request, or %NULL if none is available.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gdk_toplevel_layout_copy">
 <description>
 Create a new #GdkToplevelLayout and copy the contents of @layout into it.
@@ -16471,6 +16448,21 @@ Presenting may fail.
 </return>
 </function>
 
+<function name="gdk_toplevel_restore_system_shortcuts">
+<description>
+Restore default system keyboard shortcuts which were previously
+requested to be inhibited by gdk_toplevel_inhibit_system_shortcuts().
+
+</description>
+<parameters>
+<parameter name="toplevel">
+<parameter_description> a #GdkToplevel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gdk_toplevel_set_decorated">
 <description>
 Setting @decorated to %FALSE hints the desktop environment
diff --git a/gdk/src/gdk_docs_override.xml b/gdk/src/gdk_docs_override.xml
index 4c201c2b..1f29865b 100644
--- a/gdk/src/gdk_docs_override.xml
+++ b/gdk/src/gdk_docs_override.xml
@@ -18,6 +18,7 @@
 <substitute_type_name from="GdkVisualType" to="Gdk::Visual::Type" />
 
 <substitute_enumerator_name from_prefix="CAIRO_FORMAT_" to_prefix="Cairo::Surface::Format::" />
+<substitute_enumerator_name from_prefix="PANGO_DIRECTION_" to_prefix="Pango::Direction::" />
 <substitute_enumerator_name from_prefix="GDK_TOUCH_" to_prefix="Gdk::Event::Type::TOUCH_" />
 <substitute_enumerator_name from_prefix="GDK_DEVICE_TYPE_" to_prefix="Gdk::Device::Type::" />
 <substitute_enumerator_name from_prefix="GDK_DEVICE_TOOL_TYPE_" to_prefix="Gdk::DeviceTool::Type::" />
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index 94d81000..5767706b 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -284,6 +284,23 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   GDK_KEY_MATCH_NONE,
+;;   GDK_KEY_MATCH_PARTIAL,
+;;   GDK_KEY_MATCH_EXACT
+;; } GdkKeyMatch;
+
+(define-enum-extended KeyMatch
+  (in-module "Gdk")
+  (c-name "GdkKeyMatch")
+  (values
+    '("none" "GDK_KEY_MATCH_NONE" "0")
+    '("partial" "GDK_KEY_MATCH_PARTIAL" "1")
+    '("exact" "GDK_KEY_MATCH_EXACT" "2")
+  )
+)
+
 ;; From gdkframeclock.h
 
 ;; Original typedef:
@@ -626,46 +643,17 @@
 ;;   GDK_SHIFT_MASK    = 1 << 0,
 ;;   GDK_LOCK_MASK     = 1 << 1,
 ;;   GDK_CONTROL_MASK  = 1 << 2,
-;;   GDK_MOD1_MASK     = 1 << 3,
-;;   GDK_MOD2_MASK     = 1 << 4,
-;;   GDK_MOD3_MASK     = 1 << 5,
-;;   GDK_MOD4_MASK     = 1 << 6,
-;;   GDK_MOD5_MASK     = 1 << 7,
+;;   GDK_ALT_MASK      = 1 << 3,
+;; 
 ;;   GDK_BUTTON1_MASK  = 1 << 8,
 ;;   GDK_BUTTON2_MASK  = 1 << 9,
 ;;   GDK_BUTTON3_MASK  = 1 << 10,
 ;;   GDK_BUTTON4_MASK  = 1 << 11,
 ;;   GDK_BUTTON5_MASK  = 1 << 12,
 ;; 
-;;   GDK_MODIFIER_RESERVED_13_MASK  = 1 << 13,
-;;   GDK_MODIFIER_RESERVED_14_MASK  = 1 << 14,
-;;   GDK_MODIFIER_RESERVED_15_MASK  = 1 << 15,
-;;   GDK_MODIFIER_RESERVED_16_MASK  = 1 << 16,
-;;   GDK_MODIFIER_RESERVED_17_MASK  = 1 << 17,
-;;   GDK_MODIFIER_RESERVED_18_MASK  = 1 << 18,
-;;   GDK_MODIFIER_RESERVED_19_MASK  = 1 << 19,
-;;   GDK_MODIFIER_RESERVED_20_MASK  = 1 << 20,
-;;   GDK_MODIFIER_RESERVED_21_MASK  = 1 << 21,
-;;   GDK_MODIFIER_RESERVED_22_MASK  = 1 << 22,
-;;   GDK_MODIFIER_RESERVED_23_MASK  = 1 << 23,
-;;   GDK_MODIFIER_RESERVED_24_MASK  = 1 << 24,
-;;   GDK_MODIFIER_RESERVED_25_MASK  = 1 << 25,
-;; 
-;;   /* The next few modifiers are used by XKB, so we skip to the end.
-;;    * Bits 15 - 25 are currently unused. Bit 29 is used internally.
-;;    */
-;;   
 ;;   GDK_SUPER_MASK    = 1 << 26,
 ;;   GDK_HYPER_MASK    = 1 << 27,
 ;;   GDK_META_MASK     = 1 << 28,
-;;   
-;;   GDK_MODIFIER_RESERVED_29_MASK  = 1 << 29,
-;; 
-;;   GDK_RELEASE_MASK  = 1 << 30,
-;; 
-;;   /* Combination of GDK_SHIFT_MASK..GDK_BUTTON5_MASK + GDK_SUPER_MASK
-;;      + GDK_HYPER_MASK + GDK_META_MASK + GDK_RELEASE_MASK */
-;;   GDK_MODIFIER_MASK = 0x5c001fff
 ;; } GdkModifierType;
 
 (define-flags-extended ModifierType
@@ -675,103 +663,15 @@
     '("shift-mask" "GDK_SHIFT_MASK" "1 << 0")
     '("lock-mask" "GDK_LOCK_MASK" "1 << 1")
     '("control-mask" "GDK_CONTROL_MASK" "1 << 2")
-    '("mod1-mask" "GDK_MOD1_MASK" "1 << 3")
-    '("mod2-mask" "GDK_MOD2_MASK" "1 << 4")
-    '("mod3-mask" "GDK_MOD3_MASK" "1 << 5")
-    '("mod4-mask" "GDK_MOD4_MASK" "1 << 6")
-    '("mod5-mask" "GDK_MOD5_MASK" "1 << 7")
+    '("alt-mask" "GDK_ALT_MASK" "1 << 3")
     '("button1-mask" "GDK_BUTTON1_MASK" "1 << 8")
     '("button2-mask" "GDK_BUTTON2_MASK" "1 << 9")
     '("button3-mask" "GDK_BUTTON3_MASK" "1 << 10")
     '("button4-mask" "GDK_BUTTON4_MASK" "1 << 11")
     '("button5-mask" "GDK_BUTTON5_MASK" "1 << 12")
-    '("modifier-reserved-13-mask" "GDK_MODIFIER_RESERVED_13_MASK" "1 << 13")
-    '("modifier-reserved-14-mask" "GDK_MODIFIER_RESERVED_14_MASK" "1 << 14")
-    '("modifier-reserved-15-mask" "GDK_MODIFIER_RESERVED_15_MASK" "1 << 15")
-    '("modifier-reserved-16-mask" "GDK_MODIFIER_RESERVED_16_MASK" "1 << 16")
-    '("modifier-reserved-17-mask" "GDK_MODIFIER_RESERVED_17_MASK" "1 << 17")
-    '("modifier-reserved-18-mask" "GDK_MODIFIER_RESERVED_18_MASK" "1 << 18")
-    '("modifier-reserved-19-mask" "GDK_MODIFIER_RESERVED_19_MASK" "1 << 19")
-    '("modifier-reserved-20-mask" "GDK_MODIFIER_RESERVED_20_MASK" "1 << 20")
-    '("modifier-reserved-21-mask" "GDK_MODIFIER_RESERVED_21_MASK" "1 << 21")
-    '("modifier-reserved-22-mask" "GDK_MODIFIER_RESERVED_22_MASK" "1 << 22")
-    '("modifier-reserved-23-mask" "GDK_MODIFIER_RESERVED_23_MASK" "1 << 23")
-    '("modifier-reserved-24-mask" "GDK_MODIFIER_RESERVED_24_MASK" "1 << 24")
-    '("modifier-reserved-25-mask" "GDK_MODIFIER_RESERVED_25_MASK" "1 << 25")
     '("super-mask" "GDK_SUPER_MASK" "1 << 26")
     '("hyper-mask" "GDK_HYPER_MASK" "1 << 27")
     '("meta-mask" "GDK_META_MASK" "1 << 28")
-    '("modifier-reserved-29-mask" "GDK_MODIFIER_RESERVED_29_MASK" "1 << 29")
-    '("release-mask" "GDK_RELEASE_MASK" "1 << 30")
-    '("modifier-mask" "GDK_MODIFIER_MASK" "0x5c001fff")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR,
-;;   GDK_MODIFIER_INTENT_CONTEXT_MENU,
-;;   GDK_MODIFIER_INTENT_EXTEND_SELECTION,
-;;   GDK_MODIFIER_INTENT_MODIFY_SELECTION,
-;;   GDK_MODIFIER_INTENT_NO_TEXT_INPUT,
-;;   GDK_MODIFIER_INTENT_SHIFT_GROUP,
-;;   GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK,
-;; } GdkModifierIntent;
-
-(define-enum-extended ModifierIntent
-  (in-module "Gdk")
-  (c-name "GdkModifierIntent")
-  (values
-    '("primary-accelerator" "GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR" "0")
-    '("context-menu" "GDK_MODIFIER_INTENT_CONTEXT_MENU" "1")
-    '("extend-selection" "GDK_MODIFIER_INTENT_EXTEND_SELECTION" "2")
-    '("modify-selection" "GDK_MODIFIER_INTENT_MODIFY_SELECTION" "3")
-    '("no-text-input" "GDK_MODIFIER_INTENT_NO_TEXT_INPUT" "4")
-    '("shift-group" "GDK_MODIFIER_INTENT_SHIFT_GROUP" "5")
-    '("default-mod-mask" "GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK" "6")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_GRAB_SUCCESS         = 0,
-;;   GDK_GRAB_ALREADY_GRABBED = 1,
-;;   GDK_GRAB_INVALID_TIME    = 2,
-;;   GDK_GRAB_NOT_VIEWABLE    = 3,
-;;   GDK_GRAB_FROZEN          = 4,
-;;   GDK_GRAB_FAILED          = 5
-;; } GdkGrabStatus;
-
-(define-enum-extended GrabStatus
-  (in-module "Gdk")
-  (c-name "GdkGrabStatus")
-  (values
-    '("success" "GDK_GRAB_SUCCESS" "0")
-    '("already-grabbed" "GDK_GRAB_ALREADY_GRABBED" "1")
-    '("invalid-time" "GDK_GRAB_INVALID_TIME" "2")
-    '("not-viewable" "GDK_GRAB_NOT_VIEWABLE" "3")
-    '("frozen" "GDK_GRAB_FROZEN" "4")
-    '("failed" "GDK_GRAB_FAILED" "5")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_OWNERSHIP_NONE,
-;;   GDK_OWNERSHIP_SURFACE,
-;;   GDK_OWNERSHIP_APPLICATION
-;; } GdkGrabOwnership;
-
-(define-enum-extended GrabOwnership
-  (in-module "Gdk")
-  (c-name "GdkGrabOwnership")
-  (values
-    '("none" "GDK_OWNERSHIP_NONE" "0")
-    '("surface" "GDK_OWNERSHIP_SURFACE" "1")
-    '("application" "GDK_OWNERSHIP_APPLICATION" "2")
   )
 )
 
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 43db9548..e415e2d1 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -169,6 +169,17 @@
   )
 )
 
+(define-enum KeyMatch
+  (in-module "Gdk")
+  (c-name "GdkKeyMatch")
+  (gtype-id "GDK_TYPE_KEY_MATCH")
+  (values
+    '("none" "GDK_KEY_MATCH_NONE")
+    '("partial" "GDK_KEY_MATCH_PARTIAL")
+    '("exact" "GDK_KEY_MATCH_EXACT")
+  )
+)
+
 (define-flags FrameClockPhase
   (in-module "Gdk")
   (c-name "GdkFrameClockPhase")
@@ -363,75 +374,15 @@
     '("shift-mask" "GDK_SHIFT_MASK")
     '("lock-mask" "GDK_LOCK_MASK")
     '("control-mask" "GDK_CONTROL_MASK")
-    '("mod1-mask" "GDK_MOD1_MASK")
-    '("mod2-mask" "GDK_MOD2_MASK")
-    '("mod3-mask" "GDK_MOD3_MASK")
-    '("mod4-mask" "GDK_MOD4_MASK")
-    '("mod5-mask" "GDK_MOD5_MASK")
+    '("alt-mask" "GDK_ALT_MASK")
     '("button1-mask" "GDK_BUTTON1_MASK")
     '("button2-mask" "GDK_BUTTON2_MASK")
     '("button3-mask" "GDK_BUTTON3_MASK")
     '("button4-mask" "GDK_BUTTON4_MASK")
     '("button5-mask" "GDK_BUTTON5_MASK")
-    '("modifier-reserved-13-mask" "GDK_MODIFIER_RESERVED_13_MASK")
-    '("modifier-reserved-14-mask" "GDK_MODIFIER_RESERVED_14_MASK")
-    '("modifier-reserved-15-mask" "GDK_MODIFIER_RESERVED_15_MASK")
-    '("modifier-reserved-16-mask" "GDK_MODIFIER_RESERVED_16_MASK")
-    '("modifier-reserved-17-mask" "GDK_MODIFIER_RESERVED_17_MASK")
-    '("modifier-reserved-18-mask" "GDK_MODIFIER_RESERVED_18_MASK")
-    '("modifier-reserved-19-mask" "GDK_MODIFIER_RESERVED_19_MASK")
-    '("modifier-reserved-20-mask" "GDK_MODIFIER_RESERVED_20_MASK")
-    '("modifier-reserved-21-mask" "GDK_MODIFIER_RESERVED_21_MASK")
-    '("modifier-reserved-22-mask" "GDK_MODIFIER_RESERVED_22_MASK")
-    '("modifier-reserved-23-mask" "GDK_MODIFIER_RESERVED_23_MASK")
-    '("modifier-reserved-24-mask" "GDK_MODIFIER_RESERVED_24_MASK")
-    '("modifier-reserved-25-mask" "GDK_MODIFIER_RESERVED_25_MASK")
     '("super-mask" "GDK_SUPER_MASK")
     '("hyper-mask" "GDK_HYPER_MASK")
     '("meta-mask" "GDK_META_MASK")
-    '("modifier-reserved-29-mask" "GDK_MODIFIER_RESERVED_29_MASK")
-    '("release-mask" "GDK_RELEASE_MASK")
-    '("modifier-mask" "GDK_MODIFIER_MASK")
-  )
-)
-
-(define-enum ModifierIntent
-  (in-module "Gdk")
-  (c-name "GdkModifierIntent")
-  (gtype-id "GDK_TYPE_MODIFIER_INTENT")
-  (values
-    '("primary-accelerator" "GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR")
-    '("context-menu" "GDK_MODIFIER_INTENT_CONTEXT_MENU")
-    '("extend-selection" "GDK_MODIFIER_INTENT_EXTEND_SELECTION")
-    '("modify-selection" "GDK_MODIFIER_INTENT_MODIFY_SELECTION")
-    '("no-text-input" "GDK_MODIFIER_INTENT_NO_TEXT_INPUT")
-    '("shift-group" "GDK_MODIFIER_INTENT_SHIFT_GROUP")
-    '("default-mod-mask" "GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK")
-  )
-)
-
-(define-enum GrabStatus
-  (in-module "Gdk")
-  (c-name "GdkGrabStatus")
-  (gtype-id "GDK_TYPE_GRAB_STATUS")
-  (values
-    '("success" "GDK_GRAB_SUCCESS")
-    '("already-grabbed" "GDK_GRAB_ALREADY_GRABBED")
-    '("invalid-time" "GDK_GRAB_INVALID_TIME")
-    '("not-viewable" "GDK_GRAB_NOT_VIEWABLE")
-    '("frozen" "GDK_GRAB_FROZEN")
-    '("failed" "GDK_GRAB_FAILED")
-  )
-)
-
-(define-enum GrabOwnership
-  (in-module "Gdk")
-  (c-name "GdkGrabOwnership")
-  (gtype-id "GDK_TYPE_GRAB_OWNERSHIP")
-  (values
-    '("none" "GDK_OWNERSHIP_NONE")
-    '("surface" "GDK_OWNERSHIP_SURFACE")
-    '("application" "GDK_OWNERSHIP_APPLICATION")
   )
 )
 
@@ -1742,6 +1693,42 @@
   (return-type "GdkDeviceTool*")
 )
 
+(define-method get_caps_lock_state
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_caps_lock_state")
+  (return-type "gboolean")
+)
+
+(define-method get_num_lock_state
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_num_lock_state")
+  (return-type "gboolean")
+)
+
+(define-method get_scroll_lock_state
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_scroll_lock_state")
+  (return-type "gboolean")
+)
+
+(define-method get_modifier_state
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_modifier_state")
+  (return-type "GdkModifierType")
+)
+
+(define-method get_direction
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_direction")
+  (return-type "PangoDirection")
+)
+
+(define-method has_bidi_layouts
+  (of-object "GdkDevice")
+  (c-name "gdk_device_has_bidi_layouts")
+  (return-type "gboolean")
+)
+
 
 
 ;; From gdkdevicepad.h
@@ -2005,10 +1992,27 @@
   )
 )
 
-(define-method get_keymap
+(define-method map_keyval
+  (of-object "GdkDisplay")
+  (c-name "gdk_display_map_keyval")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "keyval")
+    '("GdkKeymapKey**" "keys")
+    '("int*" "n_keys")
+  )
+)
+
+(define-method map_keycode
   (of-object "GdkDisplay")
-  (c-name "gdk_display_get_keymap")
-  (return-type "GdkKeymap*")
+  (c-name "gdk_display_map_keycode")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "keycode")
+    '("GdkKeymapKey**" "keys")
+    '("guint**" "keyvals")
+    '("int*" "n_entries")
+  )
 )
 
 (define-method get_setting
@@ -2505,16 +2509,24 @@
   )
 )
 
-(define-function gdk_key_event_get_scancode
-  (c-name "gdk_key_event_get_scancode")
+(define-function gdk_key_event_get_consumed_modifiers
+  (c-name "gdk_key_event_get_consumed_modifiers")
+  (return-type "GdkModifierType")
+  (parameters
+    '("GdkEvent*" "event")
+  )
+)
+
+(define-function gdk_key_event_get_layout
+  (c-name "gdk_key_event_get_layout")
   (return-type "guint")
   (parameters
     '("GdkEvent*" "event")
   )
 )
 
-(define-function gdk_key_event_get_group
-  (c-name "gdk_key_event_get_group")
+(define-function gdk_key_event_get_level
+  (c-name "gdk_key_event_get_level")
   (return-type "guint")
   (parameters
     '("GdkEvent*" "event")
@@ -2700,6 +2712,26 @@
   )
 )
 
+(define-function gdk_key_event_matches
+  (c-name "gdk_key_event_matches")
+  (return-type "GdkKeyMatch")
+  (parameters
+    '("GdkEvent*" "event")
+    '("guint" "keyval")
+    '("GdkModifierType" "modifiers")
+  )
+)
+
+(define-function gdk_key_event_get_match
+  (c-name "gdk_key_event_get_match")
+  (return-type "gboolean")
+  (parameters
+    '("GdkEvent*" "event")
+    '("guint*" "keyval")
+    '("GdkModifierType*" "modifiers")
+  )
+)
+
 
 
 ;; From gdkframeclock.h
@@ -3005,127 +3037,6 @@
 
 ;; From gdkkeys.h
 
-(define-function gdk_keymap_get_type
-  (c-name "gdk_keymap_get_type")
-  (return-type "GType")
-)
-
-(define-method get_display
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_display")
-  (return-type "GdkDisplay*")
-)
-
-(define-method lookup_key
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_lookup_key")
-  (return-type "guint")
-  (parameters
-    '("const-GdkKeymapKey*" "key")
-  )
-)
-
-(define-method translate_keyboard_state
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_translate_keyboard_state")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "hardware_keycode")
-    '("GdkModifierType" "state")
-    '("gint" "group")
-    '("guint*" "keyval")
-    '("gint*" "effective_group")
-    '("gint*" "level")
-    '("GdkModifierType*" "consumed_modifiers")
-  )
-)
-
-(define-method get_entries_for_keyval
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_entries_for_keyval")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "keyval")
-    '("GdkKeymapKey**" "keys")
-    '("gint*" "n_keys")
-  )
-)
-
-(define-method get_entries_for_keycode
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_entries_for_keycode")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "hardware_keycode")
-    '("GdkKeymapKey**" "keys")
-    '("guint**" "keyvals")
-    '("gint*" "n_entries")
-  )
-)
-
-(define-method get_direction
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_direction")
-  (return-type "PangoDirection")
-)
-
-(define-method have_bidi_layouts
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_have_bidi_layouts")
-  (return-type "gboolean")
-)
-
-(define-method get_caps_lock_state
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_caps_lock_state")
-  (return-type "gboolean")
-)
-
-(define-method get_num_lock_state
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_num_lock_state")
-  (return-type "gboolean")
-)
-
-(define-method get_scroll_lock_state
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_scroll_lock_state")
-  (return-type "gboolean")
-)
-
-(define-method get_modifier_state
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_modifier_state")
-  (return-type "guint")
-)
-
-(define-method add_virtual_modifiers
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_add_virtual_modifiers")
-  (return-type "none")
-  (parameters
-    '("GdkModifierType*" "state")
-  )
-)
-
-(define-method map_virtual_modifiers
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_map_virtual_modifiers")
-  (return-type "gboolean")
-  (parameters
-    '("GdkModifierType*" "state")
-  )
-)
-
-(define-method get_modifier_mask
-  (of-object "GdkKeymap")
-  (c-name "gdk_keymap_get_modifier_mask")
-  (return-type "GdkModifierType")
-  (parameters
-    '("GdkModifierIntent" "intent")
-  )
-)
-
 (define-function gdk_keyval_name
   (c-name "gdk_keyval_name")
   (return-type "const-char*")
@@ -4255,6 +4166,21 @@
   (return-type "gboolean")
 )
 
+(define-method inhibit_system_shortcuts
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_inhibit_system_shortcuts")
+  (return-type "none")
+  (parameters
+    '("GdkEvent*" "event")
+  )
+)
+
+(define-method restore_system_shortcuts
+  (of-object "GdkToplevel")
+  (c-name "gdk_toplevel_restore_system_shortcuts")
+  (return-type "none")
+)
+
 
 
 ;; From gdktoplevellayout.h
@@ -4516,6 +4442,11 @@
   (return-type "GType")
 )
 
+(define-function gdk_key_match_get_type
+  (c-name "gdk_key_match_get_type")
+  (return-type "GType")
+)
+
 (define-function gdk_frame_clock_phase_get_type
   (c-name "gdk_frame_clock_phase_get_type")
   (return-type "GType")
@@ -4581,21 +4512,6 @@
   (return-type "GType")
 )
 
-(define-function gdk_modifier_intent_get_type
-  (c-name "gdk_modifier_intent_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_grab_status_get_type
-  (c-name "gdk_grab_status_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_grab_ownership_get_type
-  (c-name "gdk_grab_ownership_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_event_mask_get_type
   (c-name "gdk_event_mask_get_type")
   (return-type "GType")
diff --git a/gdk/src/gdk_signals.defs b/gdk/src/gdk_signals.defs
index 1375aacb..8a8ec370 100644
--- a/gdk/src/gdk_signals.defs
+++ b/gdk/src/gdk_signals.defs
@@ -273,6 +273,66 @@
   (construct-only #f)
 )
 
+(define-property direction
+  (of-object "GdkDevice")
+  (prop-type "GParamEnum")
+  (docs "The direction of the current layout of the keyboard")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "PANGO_DIRECTION_NEUTRAL")
+)
+
+(define-property has-bidi-layouts
+  (of-object "GdkDevice")
+  (prop-type "GParamBoolean")
+  (docs "Whether the keyboard has bidi layouts")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property caps-lock-state
+  (of-object "GdkDevice")
+  (prop-type "GParamBoolean")
+  (docs "Whether the keyboard caps lock is on")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property num-lock-state
+  (of-object "GdkDevice")
+  (prop-type "GParamBoolean")
+  (docs "Whether the keyboard num lock is on")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property scroll-lock-state
+  (of-object "GdkDevice")
+  (prop-type "GParamBoolean")
+  (docs "Whether the keyboard scroll lock is on")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property modifier-state
+  (of-object "GdkDevice")
+  (prop-type "GParamFlags")
+  (docs "The modifier state of the keyboard")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "0")
+)
+
 ;; From GdkDeviceTool
 
 (define-property serial
@@ -582,8 +642,6 @@
   (construct-only #t)
 )
 
-;; GdkEvent is neither a GObject nor a GInterface. Not checked for signals and properties.
-
 ;; From GdkFrameClock
 
 (define-signal flush-events
@@ -916,8 +974,6 @@
   (construct-only #t)
 )
 
-;; GdkRGBA is neither a GObject nor a GInterface. Not checked for signals and properties.
-
 ;; From GdkSeat
 
 (define-signal device-added
@@ -1111,6 +1167,16 @@
   (default-value "FALSE")
 )
 
+(define-property shortcuts-inhibited
+  (of-object "GdkToplevel")
+  (prop-type "GParamBoolean")
+  (docs "Whether keyboard shortcuts are inhibited")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 (define-property startup-id
   (of-object "GdkToplevel")
   (prop-type "GParamString")
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index 956d8875..7c74504e 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -179,116 +179,6 @@ Whether to wrap the text in the license dialog.
 </description>
 </property>
 
-<enum name="GtkAccelFlags">
-<description>
-Accelerator flags used with gtk_accel_group_connect().
-
-</description>
-<parameters>
-<parameter name="GTK_ACCEL_VISIBLE">
-<parameter_description> Accelerator is visible
-</parameter_description>
-</parameter>
-<parameter name="GTK_ACCEL_LOCKED">
-<parameter_description> Accelerator not removable
-</parameter_description>
-</parameter>
-<parameter name="GTK_ACCEL_MASK">
-<parameter_description> Mask
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
-<signal name="GtkAccelGroup::accel-activate">
-<description>
-The accel-activate signal is an implementation detail of
-#GtkAccelGroup and not meant to be used by applications.
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the #GtkAccelGroup which received the signal
-</parameter_description>
-</parameter>
-<parameter name="acceleratable">
-<parameter_description> the object on which the accelerator was activated
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> the accelerator keyval
-</parameter_description>
-</parameter>
-<parameter name="modifier">
-<parameter_description> the modifier combination of the accelerator
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the accelerator was activated
-</return>
-</signal>
-
-<signal name="GtkAccelGroup::accel-changed">
-<description>
-The accel-changed signal is emitted when an entry
-is added to or removed from the accel group.
-
-Widgets like #GtkAccelLabel which display an associated
-accelerator should connect to this signal, and rebuild
-their visual representation if the @accel_closure is theirs.
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the #GtkAccelGroup which received the signal
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> the accelerator keyval
-</parameter_description>
-</parameter>
-<parameter name="modifier">
-<parameter_description> the modifier combination of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_closure">
-<parameter_description> the #GClosure of the accelerator
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</signal>
-
-<signal name="GtkAccelMap::changed">
-<description>
-Notifies of a change in the global accelerator map.
-The path is also used as the detail for the signal,
-so it is possible to connect to
-changed::`accel_path`.
-
-</description>
-<parameters>
-<parameter name="object">
-<parameter_description> the global accel map object
-</parameter_description>
-</parameter>
-<parameter name="accel_path">
-<parameter_description> the path of the accelerator that changed
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> the key value for the new accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> the modifier mask for the new accelerator
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</signal>
-
 <signal name="GtkAdjustment::changed">
 <description>
 Emitted when one or more of the #GtkAdjustment properties have been
@@ -415,6 +305,20 @@ allocation
 </parameters>
 </enum>
 
+<property name="GtkAlternativeTrigger:first">
+<description>
+The first #GtkShortcutTrigger to check.
+
+</description>
+</property>
+
+<property name="GtkAlternativeTrigger:second">
+<description>
+The second #GtkShortcutTrigger to check.
+
+</description>
+</property>
+
 <property name="GtkAppChooser:content-type">
 <description>
 The content type of the #GtkAppChooser object.
@@ -7302,6 +7206,20 @@ Used for justifying the text inside a #GtkLabel widget. (See also
 </parameters>
 </enum>
 
+<property name="GtkKeyvalTrigger:keyval">
+<description>
+The key value for the trigger.
+
+</description>
+</property>
+
+<property name="GtkKeyvalTrigger:modifiers">
+<description>
+The key modifiers for the trigger.
+
+</description>
+</property>
+
 <signal name="GtkLabel::activate-current-link">
 <description>
 A [keybinding signal][GtkBindingSignal]
@@ -8127,6 +8045,13 @@ The type of message being displayed in the dialog.
 </parameters>
 </enum>
 
+<property name="GtkMnemonicTrigger:keyval">
+<description>
+The key value for the trigger.
+
+</description>
+</property>
+
 <property name="GtkModelButton:active">
 <description>
 The state of the button. This is reflecting the state of the associated
@@ -8241,6 +8166,13 @@ text will be displayed verbatim.
 </parameters>
 </enum>
 
+<property name="GtkNamedAction:action-name">
+<description>
+The name of the action to activate.
+
+</description>
+</property>
+
 <signal name="GtkNativeDialog::response">
 <description>
 Emitted when the user responds to the dialog.
@@ -11294,6 +11226,64 @@ or there is (any other value).
 </parameters>
 </enum>
 
+<property name="GtkShortcut:action">
+<description>
+The action that gets activated by this shortcut.
+
+</description>
+</property>
+
+<property name="GtkShortcut:arguments">
+<description>
+Arguments passed to activation.
+
+</description>
+</property>
+
+<property name="GtkShortcut:trigger">
+<description>
+The trigger that triggers this shortcut.
+
+</description>
+</property>
+
+<enum name="GtkShortcutActionFlags">
+<description>
+List of flags that can be passed to action activation.
+More flags may be added in the future.
+
+</description>
+<parameters>
+<parameter name="GTK_SHORTCUT_ACTION_EXCLUSIVE">
+<parameter_description> The action is the only
+action that can be activated. If this flag is not set,
+a future activation may select a different action.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<property name="GtkShortcutController:mnemonic-modifiers">
+<description>
+The modifiers that need to be pressed to allow mnemonics activation.
+
+</description>
+</property>
+
+<property name="GtkShortcutController:model">
+<description>
+A list model to take shortcuts from
+
+</description>
+</property>
+
+<property name="GtkShortcutController:scope">
+<description>
+What scope the shortcuts will be handled in.
+
+</description>
+</property>
+
 <property name="GtkShortcutLabel:accelerator">
 <description>
 The accelerator that @self displays. See #GtkShortcutsShortcut:accelerator
@@ -11309,6 +11299,31 @@ The text that is displayed when no accelerator is set.
 </description>
 </property>
 
+<enum name="GtkShortcutScope">
+<description>
+Describes where #GtkShortcuts added to a
+#GtkShortcutController get handled.
+
+</description>
+<parameters>
+<parameter name="GTK_SHORTCUT_SCOPE_LOCAL">
+<parameter_description> Shortcuts are handled inside
+the widget the controller belongs to.
+</parameter_description>
+</parameter>
+<parameter name="GTK_SHORTCUT_SCOPE_MANAGED">
+<parameter_description> Shortcuts are handled by
+the first ancestor that is a #GtkShortcutManager
+</parameter_description>
+</parameter>
+<parameter name="GTK_SHORTCUT_SCOPE_GLOBAL">
+<parameter_description> Shortcuts are handled by
+the root widget.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
 <enum name="GtkShortcutType">
 <description>
 GtkShortcutType specifies the kind of shortcut that is being described.
@@ -11621,6 +11636,13 @@ Set this to %NULL to show all groups.
 </description>
 </property>
 
+<property name="GtkSignalAction:signal-name">
+<description>
+The name of the signal to emit.
+
+</description>
+</property>
+
 <property name="GtkSingleSelection:autoselect">
 <description>
 If the selection will always select an item
@@ -14540,21 +14562,6 @@ be used.
 </description>
 </property>
 
-<signal name="GtkWidget::accel-closures-changed">
-<description>
-The ::accel-closures-changed signal gets emitted when accelerators for this
-widget get added, removed or changed.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</signal>
-
 <signal name="GtkWidget::accept">
 <description>
 The ::accept signal is emitted on the drop site when a drop operation
@@ -14588,30 +14595,6 @@ reject the drop later, it should call gtk_drop_target_reject_drop().
 </return>
 </signal>
 
-<signal name="GtkWidget::can-activate-accel">
-<description>
-Determines whether an accelerator that activates the signal
-identified by @signal_id can currently be activated.
-This signal is present to allow applications and derived
-widgets to override the default #GtkWidget handling
-for determining whether an accelerator can be activated.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> the object which received the signal
-</parameter_description>
-</parameter>
-<parameter name="signal_id">
-<parameter_description> the ID of a signal installed on @widget
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the signal can be activated.
-</return>
-</signal>
-
 <signal name="GtkWidget::destroy">
 <description>
 Signals that all holders of a reference to the widget should release
@@ -14773,28 +14756,6 @@ is %FALSE, or just makes @widget grab focus if @group_cycling is %TRUE.
 <return></return>
 </signal>
 
-<signal name="GtkWidget::popup-menu">
-<description>
-This signal gets emitted whenever a widget should pop up a context
-menu. This usually happens through the standard key binding mechanism;
-by pressing a certain key while a widget is focused, the user can cause
-the widget to pop up a menu.  For example, the #GtkEntry widget creates
-a menu with clipboard commands. See the
-[Popup Menu Migration Checklist][checklist-popup-menu]
-for an example of how to use this signal.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> the object which received the signal
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a menu was activated
-</return>
-</signal>
-
 <signal name="GtkWidget::query-tooltip">
 <description>
 Emitted when #GtkWidget:has-tooltip is %TRUE and the hover timeout
@@ -14951,6 +14912,14 @@ hidden).
 <return></return>
 </signal>
 
+<property name="GtkWidget:can-focus">
+<description>
+Whether the widget or any of its descendents can accept
+the input focus.
+
+</description>
+</property>
+
 <property name="GtkWidget:css-classes">
 <description>
 A list of css classes applied to this widget.
@@ -14978,9 +14947,6 @@ Whether the widget should grab focus when it is clicked with the mouse.
 
 This property is only relevant for widgets that can take focus.
 
-Before 3.20, several widgets (GtkButton, GtkFileChooserButton,
-GtkComboBox) implemented this property individually.
-
 </description>
 </property>
 
@@ -16035,365 +16001,6 @@ automatically wrapped.
 <return></return>
 </function>
 
-<function name="gtk_accel_group_activate">
-<description>
-Finds the first accelerator in @accel_group that matches
-@accel_key and @accel_mods, and activates it.
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-<parameter name="accel_quark">
-<parameter_description> the quark for the accelerator name
-</parameter_description>
-</parameter>
-<parameter name="acceleratable">
-<parameter_description> the #GObject, usually a #GtkWindow, on which
-to activate the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> accelerator keyval from a key event
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> keyboard state mask from a key event
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if an accelerator was activated and handled
-this keypress
-</return>
-</function>
-
-<function name="gtk_accel_group_connect">
-<description>
-Installs an accelerator in this group. When @accel_group is being
-activated in response to a call to gtk_accel_groups_activate(),
-@closure will be invoked if the @accel_key and @accel_mods from
-gtk_accel_groups_activate() match those of this connection.
-
-The signature used for the @closure is that of #GtkAccelGroupActivate.
-
-Note that, due to implementation details, a single closure can
-only be connected to one accelerator group.
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the accelerator group to install an accelerator in
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> key value of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> modifier combination of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_flags">
-<parameter_description> a flag mask to configure this accelerator
-</parameter_description>
-</parameter>
-<parameter name="closure">
-<parameter_description> closure to be executed upon accelerator activation
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_group_connect_by_path">
-<description>
-Installs an accelerator in this group, using an accelerator path
-to look up the appropriate key and modifiers (see
-gtk_accel_map_add_entry()). When @accel_group is being activated
-in response to a call to gtk_accel_groups_activate(), @closure will
-be invoked if the @accel_key and @accel_mods from
-gtk_accel_groups_activate() match the key and modifiers for the path.
-
-The signature used for the @closure is that of #GtkAccelGroupActivate.
-
-Note that @accel_path string will be stored in a #GQuark. Therefore,
-if you pass a static string, you can save some memory by interning it
-first with g_intern_static_string().
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the accelerator group to install an accelerator in
-</parameter_description>
-</parameter>
-<parameter name="accel_path">
-<parameter_description> path used for determining key and modifiers
-</parameter_description>
-</parameter>
-<parameter name="closure">
-<parameter_description> closure to be executed upon accelerator activation
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_group_disconnect">
-<description>
-Removes an accelerator previously installed through
-gtk_accel_group_connect().
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the accelerator group to remove an accelerator from
-</parameter_description>
-</parameter>
-<parameter name="closure">
-<parameter_description> the closure to remove from this accelerator
-group, or %NULL to remove all closures
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the closure was found and got disconnected
-</return>
-</function>
-
-<function name="gtk_accel_group_disconnect_key">
-<description>
-Removes an accelerator previously installed through
-gtk_accel_group_connect().
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the accelerator group to install an accelerator in
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> key value of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> modifier combination of the accelerator
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if there was an accelerator which could be
-removed, %FALSE otherwise
-</return>
-</function>
-
-<function name="gtk_accel_group_find">
-<description>
-Finds the first entry in an accelerator group for which
-@find_func returns %TRUE and returns its #GtkAccelKey.
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-<parameter name="find_func">
-<parameter_description> a function to filter the entries
-of @accel_group with
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data to pass to @find_func
-</parameter_description>
-</parameter>
-</parameters>
-<return> the key of the first entry passing
-@find_func. The key is owned by GTK+ and must not be freed.
-</return>
-</function>
-
-<function name="gtk_accel_group_from_accel_closure">
-<description>
-Finds the #GtkAccelGroup to which @closure is connected;
-see gtk_accel_group_connect().
-
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> a #GClosure
-</parameter_description>
-</parameter>
-</parameters>
-<return> the #GtkAccelGroup to which @closure
-is connected, or %NULL
-</return>
-</function>
-
-<function name="gtk_accel_group_get_is_locked">
-<description>
-Locks are added and removed using gtk_accel_group_lock() and
-gtk_accel_group_unlock().
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if there are 1 or more locks on the @accel_group,
-%FALSE otherwise.
-</return>
-</function>
-
-<function name="gtk_accel_group_get_modifier_mask">
-<description>
-Gets a #GdkModifierType representing the mask for this
-@accel_group. For example, #GDK_CONTROL_MASK, #GDK_SHIFT_MASK, etc.
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return> the modifier mask for this accel group.
-</return>
-</function>
-
-<function name="gtk_accel_group_lock">
-<description>
-Locks the given accelerator group.
-
-Locking an acelerator group prevents the accelerators contained
-within it to be changed during runtime. Refer to
-gtk_accel_map_change_entry() about runtime accelerator changes.
-
-If called more than once, @accel_group remains locked until
-gtk_accel_group_unlock() has been called an equivalent number
-of times.
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_group_new">
-<description>
-Creates a new #GtkAccelGroup.
-
-
-</description>
-<parameters>
-</parameters>
-<return> a new #GtkAccelGroup object
-</return>
-</function>
-
-<function name="gtk_accel_group_query">
-<description>
-Queries an accelerator group for all entries matching @accel_key
-and @accel_mods.
-
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> the accelerator group to query
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> key value of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> modifier combination of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="n_entries">
-<parameter_description> location to return the number
-of entries found, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return> an array of
-@n_entries #GtkAccelGroupEntry elements, or %NULL. The array
-is owned by GTK+ and must not be freed.
-</return>
-</function>
-
-<function name="gtk_accel_group_unlock">
-<description>
-Undoes the last call to gtk_accel_group_lock() on this @accel_group.
-
-</description>
-<parameters>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_groups_activate">
-<description>
-Finds the first accelerator in any #GtkAccelGroup attached
-to @object that matches @accel_key and @accel_mods, and
-activates that accelerator.
-
-
-</description>
-<parameters>
-<parameter name="object">
-<parameter_description> the #GObject, usually a #GtkWindow, on which
-to activate the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description> accelerator keyval from a key event
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> keyboard state mask from a key event
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if an accelerator was activated and handled
-this keypress
-</return>
-</function>
-
-<function name="gtk_accel_groups_from_object">
-<description>
-Gets a list of all accel groups which are attached to @object.
-
-
-</description>
-<parameters>
-<parameter name="object">
-<parameter_description> a #GObject, usually a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> a list of
-all accel groups which are attached to @object
-</return>
-</function>
-
 <function name="gtk_accel_label_get_accel">
 <description>
 Gets the keyval and modifier mask set with
@@ -16417,42 +16024,6 @@ gtk_accel_label_set_accel().
 <return></return>
 </function>
 
-<function name="gtk_accel_label_get_accel_closure">
-<description>
-Fetches the closure monitored by this accelerator label. See
-gtk_accel_label_set_accel_closure().
-
-
-</description>
-<parameters>
-<parameter name="accel_label">
-<parameter_description> a #GtkAccelLabel
-</parameter_description>
-</parameter>
-</parameters>
-<return> the closure monitored by @accel_label,
-or %NULL if it is not monitoring a closure.
-</return>
-</function>
-
-<function name="gtk_accel_label_get_accel_widget">
-<description>
-Fetches the widget monitored by this accelerator label. See
-gtk_accel_label_set_accel_widget().
-
-
-</description>
-<parameters>
-<parameter name="accel_label">
-<parameter_description> a #GtkAccelLabel
-</parameter_description>
-</parameter>
-</parameters>
-<return> the widget monitored by @accel_label,
-or %NULL if it is not monitoring a widget.
-</return>
-</function>
-
 <function name="gtk_accel_label_get_accel_width">
 <description>
 Returns the width needed to display the accelerator key(s).
@@ -16568,47 +16139,6 @@ Providing an @accelerator_key of 0 removes the manual setting.
 <return></return>
 </function>
 
-<function name="gtk_accel_label_set_accel_closure">
-<description>
-Sets the closure to be monitored by this accelerator label. The closure
-must be connected to an accelerator group; see gtk_accel_group_connect().
-Passing %NULL for @accel_closure will dissociate @accel_label from its
-current closure, if any.
-
-</description>
-<parameters>
-<parameter name="accel_label">
-<parameter_description> a #GtkAccelLabel
-</parameter_description>
-</parameter>
-<parameter name="accel_closure">
-<parameter_description> the closure to monitor for accelerator changes,
-or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_label_set_accel_widget">
-<description>
-Sets the widget to be monitored by this accelerator label. Passing %NULL for
-@accel_widget will dissociate @accel_label from its current widget, if any.
-
-</description>
-<parameters>
-<parameter name="accel_label">
-<parameter_description> a #GtkAccelLabel
-</parameter_description>
-</parameter>
-<parameter name="accel_widget">
-<parameter_description> the widget to be monitored, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_accel_label_set_label">
 <description>
 Sets the label part of the accel label.
@@ -16647,315 +16177,19 @@ as mnemonic indicators. See also gtk_label_set_use_underline()
 <return></return>
 </function>
 
-<function name="gtk_accel_map_add_entry">
-<description>
-Registers a new accelerator with the global accelerator map.
-This function should only be called once per @accel_path
-with the canonical @accel_key and @accel_mods for this path.
-To change the accelerator during runtime programatically, use
-gtk_accel_map_change_entry().
-
-Set @accel_key and @accel_mods to 0 to request a removal of
-the accelerator.
-
-Note that @accel_path string will be stored in a #GQuark. Therefore, if you
-pass a static string, you can save some memory by interning it first with 
-g_intern_static_string().
-
-</description>
-<parameters>
-<parameter name="accel_path">
-<parameter_description> valid accelerator path
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description>  the accelerator key
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description> the accelerator modifiers
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_add_filter">
-<description>
-Adds a filter to the global list of accel path filters.
-
-Accel map entries whose accel path matches one of the filters
-are skipped by gtk_accel_map_foreach().
-
-This function is intended for GTK+ modules that create their own
-menus, but don’t want them to be saved into the applications accelerator
-map dump.
-
-</description>
-<parameters>
-<parameter name="filter_pattern">
-<parameter_description> a pattern (see #GPatternSpec)
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_change_entry">
-<description>
-Changes the @accel_key and @accel_mods currently associated with @accel_path.
-Due to conflicts with other accelerators, a change may not always be possible,
-@replace indicates whether other accelerators may be deleted to resolve such
-conflicts. A change will only occur if all conflicts could be resolved (which
-might not be the case if conflicting accelerators are locked). Successful
-changes are indicated by a %TRUE return value.
-
-Note that @accel_path string will be stored in a #GQuark. Therefore, if you
-pass a static string, you can save some memory by interning it first with
-g_intern_static_string().
-
-
-</description>
-<parameters>
-<parameter name="accel_path">
-<parameter_description>  a valid accelerator path
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description>   the new accelerator key
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description>  the new accelerator modifiers
-</parameter_description>
-</parameter>
-<parameter name="replace">
-<parameter_description>     %TRUE if other accelerators may be deleted upon conflicts
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the accelerator could be changed, %FALSE otherwise
-</return>
-</function>
-
-<function name="gtk_accel_map_foreach">
-<description>
-Loops over the entries in the accelerator map whose accel path 
-doesn’t match any of the filters added with gtk_accel_map_add_filter(), 
-and execute @foreach_func on each. The signature of @foreach_func is 
-that of #GtkAccelMapForeach, the @changed parameter indicates whether
-this accelerator was changed during runtime (thus, would need
-saving during an accelerator map dump).
-
-</description>
-<parameters>
-<parameter name="data">
-<parameter_description> data to be passed into @foreach_func
-</parameter_description>
-</parameter>
-<parameter name="foreach_func">
-<parameter_description> function to be executed for each accel
-map entry which is not filtered out
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_foreach_unfiltered">
-<description>
-Loops over all entries in the accelerator map, and execute
-@foreach_func on each. The signature of @foreach_func is that of
-#GtkAccelMapForeach, the @changed parameter indicates whether
-this accelerator was changed during runtime (thus, would need
-saving during an accelerator map dump).
-
-</description>
-<parameters>
-<parameter name="data">
-<parameter_description>         data to be passed into @foreach_func
-</parameter_description>
-</parameter>
-<parameter name="foreach_func">
-<parameter_description> function to be executed for each accel
-map entry
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_get">
-<description>
-Gets the singleton global #GtkAccelMap object. This object
-is useful only for notification of changes to the accelerator
-map via the ::changed signal; it isn’t a parameter to the
-other accelerator map functions.
-
-
-</description>
-<parameters>
-</parameters>
-<return> the global #GtkAccelMap object
-</return>
-</function>
-
-<function name="gtk_accel_map_load">
-<description>
-Parses a file previously saved with gtk_accel_map_save() for
-accelerator specifications, and propagates them accordingly.
-
-</description>
-<parameters>
-<parameter name="file_name">
-<parameter_description> a file containing accelerator specifications,
-in the GLib file name encoding
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_load_fd">
-<description>
-Filedescriptor variant of gtk_accel_map_load().
-
-Note that the file descriptor will not be closed by this function.
-
-</description>
-<parameters>
-<parameter name="fd">
-<parameter_description> a valid readable file descriptor
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_load_scanner">
-<description>
-#GScanner variant of gtk_accel_map_load().
-
-</description>
-<parameters>
-<parameter name="scanner">
-<parameter_description> a #GScanner which has already been provided with an input file
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_lock_path">
-<description>
-Locks the given accelerator path. If the accelerator map doesn’t yet contain
-an entry for @accel_path, a new one is created.
-
-Locking an accelerator path prevents its accelerator from being changed 
-during runtime. A locked accelerator path can be unlocked by 
-gtk_accel_map_unlock_path(). Refer to gtk_accel_map_change_entry() 
-for information about runtime accelerator changes.
-
-If called more than once, @accel_path remains locked until
-gtk_accel_map_unlock_path() has been called an equivalent number
-of times.
-
-Note that locking of individual accelerator paths is independent from 
-locking the #GtkAccelGroup containing them. For runtime accelerator
-changes to be possible, both the accelerator path and its #GtkAccelGroup
-have to be unlocked. 
-
-</description>
-<parameters>
-<parameter name="accel_path">
-<parameter_description> a valid accelerator path
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_lookup_entry">
-<description>
-Looks up the accelerator entry for @accel_path and fills in @key.
-
-
-</description>
-<parameters>
-<parameter name="accel_path">
-<parameter_description> a valid accelerator path
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> the accelerator key to be filled in (optional)
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @accel_path is known, %FALSE otherwise
-</return>
-</function>
-
-<function name="gtk_accel_map_save">
-<description>
-Saves current accelerator specifications (accelerator path, key
-and modifiers) to @file_name.
-The file is written in a format suitable to be read back in by
-gtk_accel_map_load().
-
-</description>
-<parameters>
-<parameter name="file_name">
-<parameter_description> the name of the file to contain
-accelerator specifications, in the GLib file name encoding
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_save_fd">
-<description>
-Filedescriptor variant of gtk_accel_map_save().
-
-Note that the file descriptor will not be closed by this function.
-
-</description>
-<parameters>
-<parameter name="fd">
-<parameter_description> a valid writable file descriptor
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_accel_map_unlock_path">
-<description>
-Undoes the last call to gtk_accel_map_lock_path() on this @accel_path.
-Refer to gtk_accel_map_lock_path() for information about accelerator path locking.
-
-</description>
-<parameters>
-<parameter name="accel_path">
-<parameter_description> a valid accelerator path
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_accelerator_get_default_mod_mask">
 <description>
 Gets the modifier mask.
 
 The modifier mask determines which modifiers are considered significant
-for keyboard accelerators. See gtk_accelerator_set_default_mod_mask().
+for keyboard accelerators. This includes all keyboard modifiers except
+for %GDK_LOCK_MASK.
 
 
 </description>
 <parameters>
 </parameters>
-<return> the default accelerator modifier mask
+<return> the modifier mask for accelerators
 </return>
 </function>
 
@@ -17074,8 +16308,7 @@ should use gtk_accelerator_parse() instead.
 <function name="gtk_accelerator_parse">
 <description>
 Parses a string representing an accelerator. The format looks like
-“&lt;Control&gt;a” or “&lt;Shift&gt;&lt;Alt&gt;F1” or “&lt;Release&gt;z” (the last one is
-for key release).
+“&lt;Control&gt;a” or “&lt;Shift&gt;&lt;Alt&gt;F1”.
 
 The parser is fairly liberal and allows lower or upper case, and also
 abbreviations such as “&lt;Ctl&gt;” and “&lt;Ctrl&gt;”. Key names are parsed using
@@ -17122,12 +16355,17 @@ is given, the parse will fail.
 If the parse fails, @accelerator_key, @accelerator_mods and
 @accelerator_codes will be set to 0 (zero).
 
+
 </description>
 <parameters>
 <parameter name="accelerator">
 <parameter_description> string representing an accelerator
 </parameter_description>
 </parameter>
+<parameter name="display">
+<parameter_description> the #GdkDisplay to look up @accelerator_codes in
+</parameter_description>
+</parameter>
 <parameter name="accelerator_key">
 <parameter_description> return location for accelerator
 keyval, or %NULL
@@ -17144,32 +16382,8 @@ modifier mask, %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
-
-<function name="gtk_accelerator_set_default_mod_mask">
-<description>
-Sets the modifiers that will be considered significant for keyboard
-accelerators. The default mod mask depends on the GDK backend in use,
-but will typically include #GDK_CONTROL_MASK | #GDK_SHIFT_MASK |
-#GDK_MOD1_MASK | #GDK_SUPER_MASK | #GDK_HYPER_MASK | #GDK_META_MASK.
-In other words, Control, Shift, Alt, Super, Hyper and Meta. Other
-modifiers will by default be ignored by #GtkAccelGroup.
-
-You must include at least the three modifiers Control, Shift
-and Alt in any value you pass to this function.
-
-The default mod mask should be changed on application startup,
-before using any accelerator groups.
-
-</description>
-<parameters>
-<parameter name="default_mod_mask">
-<parameter_description> accelerator modifier mask
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
+<return> %TRUE if parsing succeeded
+</return>
 </function>
 
 <function name="gtk_accelerator_valid">
@@ -17568,6 +16782,19 @@ as the target.)
 <return></return>
 </function>
 
+<function name="gtk_activate_action_get">
+<description>
+Gets the activate action. This is an action that calls gtk_widget_activate()
+on the given widget upon activation.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The activate action
+</return>
+</function>
+
 <function name="gtk_adjustment_clamp_page">
 <description>
 Updates the #GtkAdjustment:value property to ensure that the range
@@ -17932,6 +17159,66 @@ effective range of allowed values goes from #GtkAdjustment:lower to
 <return></return>
 </function>
 
+<function name="gtk_alternative_trigger_get_first">
+<description>
+Gets the first of the two alternative triggers that may
+trigger @self. gtk_alternative_trigger_get_second() will
+return the other one.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> an alternative #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> the first alternative trigger
+</return>
+</function>
+
+<function name="gtk_alternative_trigger_get_second">
+<description>
+Gets the second of the two alternative triggers that may
+trigger @self. gtk_alternative_trigger_get_first() will
+return the other one.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> an alternative #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> the second alternative trigger
+</return>
+</function>
+
+<function name="gtk_alternative_trigger_new">
+<description>
+Creates a #GtkShortcutTrigger that will trigger whenever
+either of the two given triggers gets triggered.
+
+Note that nesting is allowed, so if you want more than two
+alternative, create a new alternative trigger for each option.
+
+
+</description>
+<parameters>
+<parameter name="first">
+<parameter_description> The first trigger that may trigger
+</parameter_description>
+</parameter>
+<parameter name="second">
+<parameter_description> The second trigger that may trigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcutTrigger
+</return>
+</function>
+
 <function name="gtk_app_chooser_button_append_custom_item">
 <description>
 Appends a custom item to the list of applications that is shown
@@ -19759,348 +19046,6 @@ Creates a new #GtkBinLayout instance.
 </return>
 </function>
 
-<function name="gtk_binding_entry_add_action">
-<description>
-Override or install a new key binding for @keyval with @modifiers on
-@binding_set. When the binding is activated, @action_name will be
-activated on the target widget, with arguments read according to
-@format_string.
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet to install an entry for
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of binding to install
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of binding to install
-</parameter_description>
-</parameter>
-<parameter name="action_name">
-<parameter_description> signal to execute upon activation
-</parameter_description>
-</parameter>
-<parameter name="format_string">
-<parameter_description> GVariant format string for arguments or %NULL
-for no arguments
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description> arguments, as given by format string
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_binding_entry_add_action_variant">
-<description>
-Override or install a new key binding for @keyval with @modifiers on
-@binding_set. When the binding is activated, @action_name will be
-activated on the target widget, with @args used as arguments.
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet to install an entry for
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of binding to install
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of binding to install
-</parameter_description>
-</parameter>
-<parameter name="action_name">
-<parameter_description> signal to execute upon activation
-</parameter_description>
-</parameter>
-<parameter name="args">
-<parameter_description>        #GVariant of the arguments or %NULL if none
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_binding_entry_add_signal">
-<description>
-Override or install a new key binding for @keyval with @modifiers on
-@binding_set. When the binding is activated, @signal_name will be
-emitted on the target widget, with @n_args @Varargs used as
-arguments.
-
-Each argument to the signal must be passed as a pair of varargs: the
-#GType of the argument, followed by the argument value (which must
-be of the given type). There must be @n_args pairs in total.
-
-## Adding a Key Binding
-
-|[&lt;!-- language=&quot;C&quot; --&gt;
-GtkBindingSet *binding_set;
-GdkModifierType modmask = GDK_CONTROL_MASK;
-int count = 1;
-gtk_binding_entry_add_signal (binding_set,
-GDK_KEY_space,
-modmask,
-&quot;move-cursor&quot;, 2,
-GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_PAGES,
-G_TYPE_INT, count,
-G_TYPE_BOOLEAN, FALSE);
-]|
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet to install an entry for
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of binding to install
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of binding to install
-</parameter_description>
-</parameter>
-<parameter name="signal_name">
-<parameter_description> signal to execute upon activation
-</parameter_description>
-</parameter>
-<parameter name="n_args">
-<parameter_description>      number of arguments to @signal_name
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description>         arguments to @signal_name
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_binding_entry_add_signal_from_string">
-<description>
-Parses a signal description from @signal_desc and incorporates
-it into @binding_set.
-
-Signal descriptions may either bind a key combination to
-one or more signals:
-|[
-bind &quot;key&quot; {
-&quot;signalname&quot; (param, ...)
-...
-}
-]|
-
-Or they may also unbind a key combination:
-|[
-unbind &quot;key&quot;
-]|
-
-Key combinations must be in a format that can be parsed by
-gtk_accelerator_parse().
-
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet
-</parameter_description>
-</parameter>
-<parameter name="signal_desc">
-<parameter_description> a signal description
-</parameter_description>
-</parameter>
-</parameters>
-<return> %G_TOKEN_NONE if the signal was successfully parsed and added,
-the expected token otherwise
-</return>
-</function>
-
-<function name="gtk_binding_entry_remove">
-<description>
-Remove a binding previously installed via
-gtk_binding_entry_add_signal() on @binding_set.
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet to remove an entry of
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of binding to remove
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of binding to remove
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_binding_entry_skip">
-<description>
-Install a binding on @binding_set which causes key lookups
-to be aborted, to prevent bindings from lower priority sets
-to be activated.
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet to skip an entry of
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of binding to skip
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of binding to skip
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_binding_set_activate">
-<description>
-Find a key binding matching @keyval and @modifiers within
-@binding_set and activate the binding on @object.
-
-
-</description>
-<parameters>
-<parameter name="binding_set">
-<parameter_description> a #GtkBindingSet set to activate
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description>      key value of the binding
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description>   key modifier of the binding
-</parameter_description>
-</parameter>
-<parameter name="object">
-<parameter_description>      object to activate when binding found
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a binding was found and activated
-</return>
-</function>
-
-<function name="gtk_binding_set_by_class">
-<description>
-This function returns the binding set named after the type name of
-the passed in class structure. New binding sets are created on
-demand by this function.
-
-
-</description>
-<parameters>
-<parameter name="object_class">
-<parameter_description> a valid #GObject class
-</parameter_description>
-</parameter>
-</parameters>
-<return> the binding set corresponding to
-@object_class
-</return>
-</function>
-
-<function name="gtk_binding_set_find">
-<description>
-Find a binding set by its globally unique name.
-
-The @set_name can either be a name used for gtk_binding_set_new()
-or the type name of a class used in gtk_binding_set_by_class().
-
-
-</description>
-<parameters>
-<parameter name="set_name">
-<parameter_description> unique binding set name
-</parameter_description>
-</parameter>
-</parameters>
-<return> %NULL or the specified binding set
-</return>
-</function>
-
-<function name="gtk_binding_set_new">
-<description>
-GTK+ maintains a global list of binding sets. Each binding set has
-a unique name which needs to be specified upon creation.
-
-
-</description>
-<parameters>
-<parameter name="set_name">
-<parameter_description> unique name of this binding set
-</parameter_description>
-</parameter>
-</parameters>
-<return> new binding set
-</return>
-</function>
-
-<function name="gtk_bindings_activate">
-<description>
-Find a key binding matching @keyval and @modifiers and activate the
-binding on @object.
-
-
-</description>
-<parameters>
-<parameter name="object">
-<parameter_description> object to activate when binding found
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> key value of the binding
-</parameter_description>
-</parameter>
-<parameter name="modifiers">
-<parameter_description> key modifier of the binding
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a binding was found and activated
-</return>
-</function>
-
-<function name="gtk_bindings_activate_event">
-<description>
-Looks up key bindings for @object to find one matching
-@event, and if one was found, activate it.
-
-
-</description>
-<parameters>
-<parameter name="object">
-<parameter_description> a #GObject (generally must be a widget)
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description> a key event
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a matching key binding was found
-</return>
-</function>
-
 <function name="gtk_border_copy">
 <description>
 Copies a #GtkBorder-struct.
@@ -22076,6 +21021,32 @@ Removes the visual marker from a particular day.
 <return></return>
 </function>
 
+<function name="gtk_callback_action_new">
+<description>
+Create a custom action that calls the given @callback when
+activated.
+
+
+</description>
+<parameters>
+<parameter name="callback">
+<parameter_description> the callback to call
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> the data to be passed to @callback
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> the function to be called when the
+callback action is finalized
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new shortcut action
+</return>
+</function>
+
 <function name="gtk_cell_area_activate">
 <description>
 Activates @area, usually by activating the currently focused
@@ -34557,6 +33528,26 @@ Gets the model set via gtk_flatten_list_model_set_model().
 </return>
 </function>
 
+<function name="gtk_flatten_list_model_get_model_for_item">
+<description>
+Returns the model containing the item at the given position.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFlattenListModel
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> a position
+</parameter_description>
+</parameter>
+</parameters>
+<return> the model containing the item at @position
+</return>
+</function>
+
 <function name="gtk_flatten_list_model_new">
 <description>
 Creates a new #GtkFlattenListModel that flattens @list. The
@@ -41884,18 +40875,59 @@ or gtk_init_check().
 </return>
 </function>
 
-<function name="gtk_key_hash_free">
+<function name="gtk_keyval_trigger_get_keyval">
 <description>
-Destroys a key hash created with gtk_key_hash_new()
+Gets the keyval that must be pressed to succeed
+triggering @self.
+
 
 </description>
 <parameters>
-<parameter name="key_hash">
-<parameter_description> a #GtkKeyHash
+<parameter name="self">
+<parameter_description> a keyval #GtkShortcutTrigger
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the keyval
+</return>
+</function>
+
+<function name="gtk_keyval_trigger_get_modifiers">
+<description>
+Gets the modifiers that must be present to succeed
+triggering @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a keyval #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> the modifiers
+</return>
+</function>
+
+<function name="gtk_keyval_trigger_new">
+<description>
+Creates a #GtkShortcutTrigger that will trigger whenever
+the key with the given @keyval and @modifiers is pressed.
+
+
+</description>
+<parameters>
+<parameter name="keyval">
+<parameter_description> The keyval to trigger for
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> the modifiers that need to be present
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkShortcutTrigger
+</return>
 </function>
 
 <function name="gtk_label_get_attributes">
@@ -46584,6 +45616,55 @@ up with the [Pango text markup language][PangoMarkupFormat].
 <return></return>
 </function>
 
+<function name="gtk_mnemonic_action_get">
+<description>
+Gets the mnemonic action. This is an action that calls
+gtk_widget_mnemonic_activate() on the given widget upon activation.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The mnemonic action
+</return>
+</function>
+
+<function name="gtk_mnemonic_trigger_get_keyval">
+<description>
+Gets the keyval that must be pressed to succeed triggering @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a mnemonic #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> the keyval
+</return>
+</function>
+
+<function name="gtk_mnemonic_trigger_new">
+<description>
+Creates a #GtkShortcutTrigger that will trigger whenever the key with
+the given @keyval is pressed and mnemonics have been activated.
+
+Mnemonics are activated by calling code when a key event with the right
+modifiers is detected.
+
+
+</description>
+<parameters>
+<parameter name="keyval">
+<parameter_description> The keyval to trigger for
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkShortcutTrigger
+</return>
+</function>
+
 <function name="gtk_model_button_new">
 <description>
 Creates a new GtkModelButton.
@@ -46699,6 +45780,41 @@ Sets the transient parent for windows shown by the
 <return></return>
 </function>
 
+<function name="gtk_named_action_get_action_name">
+<description>
+Returns the name of the action that will be activated.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a named action
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the action to activate
+</return>
+</function>
+
+<function name="gtk_named_action_new">
+<description>
+Creates an action that when activated, activates the action given by
+the detailed @name on the widget passing the given arguments to it.
+
+See gtk_widget_insert_action_group() for how to add actions to widgets.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the detailed name of the action
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcutAction
+</return>
+</function>
+
 <function name="gtk_native_check_resize">
 <description>
 Reposition and resize a #GtkNative.
@@ -47000,6 +46116,20 @@ Returns the surface of this #GtkNative.
 </return>
 </function>
 
+<function name="gtk_never_trigger_get">
+<description>
+Gets the never trigger. This is a singleton for a trigger
+that never triggers. Use this trigger instead of %NULL
+because it implements all virtual functions.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The never trigger
+</return>
+</function>
+
 <function name="gtk_no_selection_get_model">
 <description>
 Gets the model that @self is wrapping.
@@ -48067,6 +47197,19 @@ via drag and drop or not.
 <return></return>
 </function>
 
+<function name="gtk_nothing_action_get">
+<description>
+Gets the nothing action. This is an action that does nothing and where
+activating it always fails.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The nothing action
+</return>
+</function>
+
 <function name="gtk_orientable_get_orientation">
 <description>
 Retrieves the orientation of the @orientable.
@@ -50261,6 +49404,22 @@ pointing at the widget that it is relative to.
 </return>
 </function>
 
+<function name="gtk_popover_get_mnemonics_visible">
+<description>
+Gets the value of the #GtkPopover:mnemonics-visible property.
+
+
+</description>
+<parameters>
+<parameter name="popover">
+<parameter_description> a #GtkPopover
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if mnemonics are supposed to be visible in this popover 
+</return>
+</function>
+
 <function name="gtk_popover_get_pointing_to">
 <description>
 If a rectangle to point to has been set, this function will
@@ -50537,6 +49696,24 @@ pointing at the widget it is relative to.
 <return></return>
 </function>
 
+<function name="gtk_popover_set_mnemonics_visible">
+<description>
+Sets the #GtkPopover:mnemonics-visible property.
+
+</description>
+<parameters>
+<parameter name="popover">
+<parameter_description> a #GtkPopover
+</parameter_description>
+</parameter>
+<parameter name="mnemonics_visible">
+<parameter_description> the new value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_popover_set_pointing_to">
 <description>
 Sets the rectangle that @popover will point to, in the
@@ -59001,6 +58178,304 @@ this setting.
 <return></return>
 </function>
 
+<function name="gtk_shortcut_action_activate">
+<description>
+Activates the action on the @widget with the given @args. 
+
+Note that some actions ignore the passed in @flags, @widget or @args.
+
+Activation of an action can fail for various reasons. If the action
+is not supported by the @widget, if the @args don't match the action
+or if the activation otherwise had no effect, %FALSE will be returned.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutAction
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags to activate with
+</parameter_description>
+</parameter>
+<parameter name="widget">
+<parameter_description> Target of the activation
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> arguments to pass
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if this action was activated successfully
+</return>
+</function>
+
+<function name="gtk_shortcut_action_parse_string">
+<description>
+Tries to parse the given string into an action. On
+success, the parsed action is returned. When parsing
+failed, %NULL is returned.
+
+The accepted strings are:
+
+- `nothing`, for #GtkNothingAction
+- `activate`, for #GtkActivateAction
+- `mnemonic-activate`, for #GtkMnemonicAction
+- `action(NAME)`, for a #GtkNamedAction for the action named `NAME`
+- `signal(NAME)`, for a #GtkSignalAction for the signal `NAME`
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> the string to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcutAction
+or %NULL on error
+</return>
+</function>
+
+<function name="gtk_shortcut_action_print">
+<description>
+Prints the given action into a string for the developer.
+This is meant for debugging and logging.
+
+The form of the representation may change at any time and is
+not guaranteed to stay identical.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutAction
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> a #GString to print into
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_action_to_string">
+<description>
+Prints the given action into a human-readable string.
+This is a small wrapper around gtk_shortcut_action_print() to help
+when debugging.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutAction
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new string
+</return>
+</function>
+
+<function name="gtk_shortcut_controller_add_shortcut">
+<description>
+Adds @shortcut to the list of shortcuts handled by @self.
+
+If this controller uses an external shortcut list, this
+function does nothing.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the controller
+</parameter_description>
+</parameter>
+<parameter name="shortcut">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_controller_get_mnemonics_modifiers">
+<description>
+Gets the mnemonics modifiers for when this controller activates its shortcuts. See
+gtk_shortcut_controller_set_mnemonics_modifiers() for details.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutController
+</parameter_description>
+</parameter>
+</parameters>
+<return> the controller's mnemonics modifiers
+</return>
+</function>
+
+<function name="gtk_shortcut_controller_get_scope">
+<description>
+Gets the scope for when this controller activates its shortcuts. See
+gtk_shortcut_controller_set_scope() for details.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutController
+</parameter_description>
+</parameter>
+</parameters>
+<return> the controller's scope
+</return>
+</function>
+
+<function name="gtk_shortcut_controller_new">
+<description>
+Creates a new shortcut controller.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created shortcut controller
+</return>
+</function>
+
+<function name="gtk_shortcut_controller_new_for_model">
+<description>
+Creates a new shortcut controller that takes its shortcuts from
+the given list model.
+
+A controller created by this function does not let you add or
+remove individual shortcuts using the shortcut controller api,
+but you can change the contents of the model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> a #GListModel containing shortcuts
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created shortcut controller
+</return>
+</function>
+
+<function name="gtk_shortcut_controller_remove_shortcut">
+<description>
+Removes @shortcut from the list of shortcuts handled by @self.
+
+If @shortcut had not been added to @controller or this controller
+uses an external shortcut list, this function does nothing.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the controller
+</parameter_description>
+</parameter>
+<parameter name="shortcut">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_controller_set_mnemonics_modifiers">
+<description>
+Sets the controller to have the given @mnemonics_modifiers.
+
+The mnemonics modifiers determines which modifiers need to be pressed to allow
+activation of shortcuts with mnemonics triggers.
+
+GTK normally uses the Alt modifier for mnemonics, except in #GtkPopoverMenus,
+where mnemonics can be triggered without any modifiers. It should be very
+rarely necessary to change this, and doing so is likely to interfere with
+other shortcuts.
+
+This value is only relevant for local shortcut controllers. Global and managed
+shortcut controllers will have their shortcuts activated from other places which
+have their own modifiers for activating mnemonics.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutController
+</parameter_description>
+</parameter>
+<parameter name="modifiers">
+<parameter_description> the new mnemonics_modifiers to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_controller_set_scope">
+<description>
+Sets the controller to have the given @scope.
+
+The scope allows shortcuts to be activated outside of the normal
+event propagation. In particular, it allows installing global
+keyboard shortcuts that can be activated even when a widget does
+not have focus.
+
+With %GTK_SHORTCUT_SCOPE_LOCAL, shortcuts will only be activated
+when the widget has focus.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutController
+</parameter_description>
+</parameter>
+<parameter name="scope">
+<parameter_description> the new scope to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_get_action">
+<description>
+Gets the action that is activated by this shortcut.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+</parameters>
+<return> the action
+</return>
+</function>
+
+<function name="gtk_shortcut_get_trigger">
+<description>
+Gets the trigger used to trigger @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+</parameters>
+<return> the trigger used
+</return>
+</function>
+
 <function name="gtk_shortcut_label_get_accelerator">
 <description>
 Retrieves the current accelerator of @self.
@@ -59086,6 +58561,325 @@ Sets the text to be displayed by @self when no accelerator is set.
 <return></return>
 </function>
 
+<function name="gtk_shortcut_new">
+<description>
+Creates a new #GtkShortcut that is triggered by @trigger and then activates
+@action.
+
+
+</description>
+<parameters>
+<parameter name="trigger">
+<parameter_description> The trigger that will trigger the shortcut
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> The action that will be activated upon
+triggering
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcut
+</return>
+</function>
+
+<function name="gtk_shortcut_new_with_arguments">
+<description>
+Creates a new #GtkShortcut that is triggered by @trigger and then activates
+@action with arguments given by @format_string.
+
+
+</description>
+<parameters>
+<parameter name="trigger">
+<parameter_description> The trigger that will trigger the shortcut
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> The action that will be activated upon
+triggering
+</parameter_description>
+</parameter>
+<parameter name="format_string">
+<parameter_description> GVariant format string for arguments or %NULL for
+no arguments
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments, as given by format string.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcut
+</return>
+</function>
+
+<function name="gtk_shortcut_set_action">
+<description>
+Sets the new action for @self to be @action.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+<parameter name="action">
+<parameter_description> The new action.
+If the @action is %NULL, the nothing action will be used.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_set_trigger">
+<description>
+Sets the new trigger for @self to be @trigger.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcut
+</parameter_description>
+</parameter>
+<parameter name="trigger">
+<parameter_description> The new trigger.
+If the @trigger is %NULL, the never trigger will be used.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_trigger_compare">
+<description>
+The types of @trigger1 and @trigger2 are #gconstpointer only to allow
+use of this function as a #GCompareFunc. They must each be a
+#GtkShortcutTrigger.
+
+
+</description>
+<parameters>
+<parameter name="trigger1">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="trigger2">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> An integer less than, equal to, or greater than zero if
+@trigger1 is found, respectively, to be less than, to match,
+or be greater than @trigger2.
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_equal">
+<description>
+Checks if @trigger1 and @trigger2 trigger under the same conditions.
+
+The types of @one and @two are #gconstpointer only to allow use of this
+function with #GHashTable. They must each be a #GtkShortcutTrigger.
+
+
+</description>
+<parameters>
+<parameter name="trigger1">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="trigger2">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @trigger1 and @trigger2 are equal
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_hash">
+<description>
+Generates a hash value for a #GtkShortcutTrigger.
+
+The output of this function is guaranteed to be the same for a given
+value only per-process.  It may change between different processor
+architectures or even different versions of GTK.  Do not use this
+function as a basis for building protocols or file formats.
+
+The types of @trigger is #gconstpointer only to allow use of this
+function with #GHashTable. They must each be a #GtkShortcutTrigger.
+
+
+</description>
+<parameters>
+<parameter name="trigger">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> a hash value corresponding to @trigger
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_parse_string">
+<description>
+Tries to parse the given string into a trigger. On success,
+the parsed trigger is returned. When parsing failed, %NULL is
+returned.
+
+The accepted strings are:
+
+- `never`, for #GtkNeverTrigger
+- a string parsed by gtk_accelerator_parse(), for a #GtkKeyvalTrigger, e.g. `&lt;Control&gt;C`
+- underscore, followed by a single character, for MnemonicTrigger, e.g. `_l`
+- two valid trigger strings, separated by a `|` character, for a
+#GtkAlternativeTrigger: `&lt;Control&gt;q|&lt;Control&gt;w`
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> the string to parse
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcutTrigger
+or %NULL on error
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_print">
+<description>
+Prints the given trigger into a string for the developer.
+This is meant for debugging and logging.
+
+The form of the representation may change at any time
+and is not guaranteed to stay identical.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> a #GString to print into
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_shortcut_trigger_print_label">
+<description>
+Prints the given trigger into a string. This function is
+returning a translated string for presentation to end users
+for example in menu items or in help texts.
+
+The @display in use may influence the resulting string in
+various forms, such as resolving hardware keycodes or by
+causing display-specific modifier names.
+
+The form of the representation may change at any time and is
+not guaranteed to stay identical.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> #GdkDisplay to print for
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> a #GString to print into
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if something was printed or %FALSE if the
+trigger did not have a textual representation suitable
+for end users.
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_to_label">
+<description>
+Gets textual representation for the given trigger. This
+function is returning a translated string for presentation
+to end users for example in menu items or in help texts.
+
+The @display in use may influence the resulting string in
+various forms, such as resolving hardware keycodes or by
+causing display-specific modifier names.
+
+The form of the representation may change at any time and is
+not guaranteed to stay identical.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="display">
+<parameter_description> #GdkDisplay to print for
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new string
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_to_string">
+<description>
+Prints the given trigger into a human-readable string.
+This is a small wrapper around gtk_shortcut_trigger_print()
+to help when debugging.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new string
+</return>
+</function>
+
+<function name="gtk_shortcut_trigger_trigger">
+<description>
+Checks if the given @event triggers @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkShortcutTrigger
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the event to check
+</parameter_description>
+</parameter>
+<parameter name="enable_mnemonics">
+<parameter_description> %TRUE if mnemonics should trigger. Usually the
+value of this property is determined by checking that the passed
+in @event is a Key event and has the right modifiers set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the event triggered the shortcut
+</return>
+</function>
+
 <function name="gtk_show_about_dialog">
 <description>
 This is a convenience function for showing an application’s about box.
@@ -59152,6 +58946,40 @@ necessary for sandbox helpers to parent their dialogs properly.
 </return>
 </function>
 
+<function name="gtk_signal_action_get_signal_name">
+<description>
+Returns the name of the signal that will be emitted.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a signal action
+</parameter_description>
+</parameter>
+</parameters>
+<return> the name of the signal to emit
+</return>
+</function>
+
+<function name="gtk_signal_action_new">
+<description>
+Creates an action that when activated, emits the given action signal
+on the provided widget unpacking the given args into arguments passed
+to the signal.
+
+
+</description>
+<parameters>
+<parameter name="signal_name">
+<parameter_description> name of the signal to emit
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkShortcutAction
+</return>
+</function>
+
 <function name="gtk_single_selection_get_autoselect">
 <description>
 Checks if autoselect has been enabled or disabled via
@@ -77302,47 +77130,6 @@ Activate the default.activate action from @widget.
 <return></return>
 </function>
 
-<function name="gtk_widget_add_accelerator">
-<description>
-Installs an accelerator for this @widget in @accel_group that causes
-@accel_signal to be emitted if the accelerator is activated.
-The @accel_group needs to be added to the widget’s toplevel via
-gtk_window_add_accel_group(), and the signal must be of type %G_SIGNAL_ACTION.
-Accelerators added through this function are not user changeable during
-runtime. If you want to support accelerators that can be changed by the
-user, use gtk_accel_map_add_entry() and gtk_widget_set_accel_path() or
-gtk_menu_item_set_accel_path() instead.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description>       widget to install an accelerator on
-</parameter_description>
-</parameter>
-<parameter name="accel_signal">
-<parameter_description> widget signal to emit on accelerator activation
-</parameter_description>
-</parameter>
-<parameter name="accel_group">
-<parameter_description>  accel group for this widget, added to its toplevel
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description>    GDK keyval of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description>   modifier key combination of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_flags">
-<parameter_description>  flag accelerators, e.g. %GTK_ACCEL_VISIBLE
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_add_controller">
 <description>
 Adds @controller to @widget so that it will receive events. You will
@@ -77524,32 +77311,6 @@ For a version that does not take a transform, see gtk_widget_size_allocate()
 <return></return>
 </function>
 
-<function name="gtk_widget_can_activate_accel">
-<description>
-Determines whether an accelerator that activates the signal
-identified by @signal_id can currently be activated.
-This is done by emitting the #GtkWidget::can-activate-accel
-signal on @widget; if the signal isn’t overridden by a
-handler or in a derived widget, then the default check is
-that the widget must be sensitive, and the widget and all
-its ancestors mapped.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="signal_id">
-<parameter_description> the ID of a signal installed on @widget
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the accelerator can be activated.
-</return>
-</function>
-
 <function name="gtk_widget_child_focus">
 <description>
 This function is used by custom widget implementations; if you're
@@ -77586,6 +77347,160 @@ if returning %FALSE, they don’t modify the current focus location.
 </return>
 </function>
 
+<function name="gtk_widget_class_add_binding">
+<description>
+Creates a new shortcut for @widget_class that calls the given @callback
+with arguments read according to @format_string.
+The arguments and format string must be provided in the same way as
+with g_variant_new().
+
+This function is a convenience wrapper around
+gtk_widget_class_add_shortcut() and must be called during class
+initialization. It does not provide for user_data, if you need that,
+you will have to use gtk_widget_class_add_shortcut() with a custom
+shortcut.
+
+</description>
+<parameters>
+<parameter name="widget_class">
+<parameter_description> the class to add the binding to
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to install
+</parameter_description>
+</parameter>
+<parameter name="mods">
+<parameter_description> key modifier of binding to install
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to call upon activation
+</parameter_description>
+</parameter>
+<parameter name="format_string">
+<parameter_description> GVariant format string for arguments or %NULL for
+no arguments
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments, as given by format string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_class_add_binding_action">
+<description>
+Creates a new shortcut for @widget_class that activates the given
+@action_name with arguments read according to @format_string.
+The arguments and format string must be provided in the same way as
+with g_variant_new().
+
+This function is a convenience wrapper around
+gtk_widget_class_add_shortcut() and must be called during class
+initialization.
+
+</description>
+<parameters>
+<parameter name="widget_class">
+<parameter_description> the class to add the binding to
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to install
+</parameter_description>
+</parameter>
+<parameter name="mods">
+<parameter_description> key modifier of binding to install
+</parameter_description>
+</parameter>
+<parameter name="action_name">
+<parameter_description> the action to activate
+</parameter_description>
+</parameter>
+<parameter name="format_string">
+<parameter_description> GVariant format string for arguments or %NULL for
+no arguments
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments, as given by format string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_class_add_binding_signal">
+<description>
+Creates a new shortcut for @widget_class that emits the given action
+@signal with arguments read according to @format_string.
+The arguments and format string must be provided in the same way as
+with g_variant_new().
+
+This function is a convenience wrapper around
+gtk_widget_class_add_shortcut() and must be called during class
+initialization.
+
+</description>
+<parameters>
+<parameter name="widget_class">
+<parameter_description> the class to add the binding to
+</parameter_description>
+</parameter>
+<parameter name="keyval">
+<parameter_description> key value of binding to install
+</parameter_description>
+</parameter>
+<parameter name="mods">
+<parameter_description> key modifier of binding to install
+</parameter_description>
+</parameter>
+<parameter name="signal">
+<parameter_description> the signal to execute
+</parameter_description>
+</parameter>
+<parameter name="format_string">
+<parameter_description> GVariant format string for arguments or %NULL for
+no arguments
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> arguments, as given by format string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_widget_class_add_shortcut">
+<description>
+Installs a shortcut in @widget_class. Every instance created for
+@widget_class or its subclasses will inherit this shortcut and
+trigger it.
+
+Shortcuts added this way will be triggered in the @GTK_PHASE_BUBBLE
+phase, which means they may also trigger if child widgets have focus.
+
+This function must only be used in class initialization functions
+otherwise it is not guaranteed that the shortcut will be installed.
+
+</description>
+<parameters>
+<parameter name="widget_class">
+<parameter_description> the class to add the shortcut to
+</parameter_description>
+</parameter>
+<parameter name="shortcut">
+<parameter_description> the #GtkShortcut to add
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_widget_class_bind_template_callback">
 <description>
 Binds a callback function defined in a template to the @widget_class.
@@ -79055,29 +78970,6 @@ Gets the value of the #GtkWidget:margin-top property.
 </return>
 </function>
 
-<function name="gtk_widget_get_modifier_mask">
-<description>
-Returns the modifier mask the @widget’s windowing system backend
-uses for a particular purpose.
-
-See gdk_keymap_get_modifier_mask().
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="intent">
-<parameter_description> the use case for the modifier mask
-</parameter_description>
-</parameter>
-</parameters>
-<return> the modifier mask used for @intent.
-</return>
-</function>
-
 <function name="gtk_widget_get_name">
 <description>
 Retrieves the name of a widget. See gtk_widget_set_name() for the
@@ -80076,28 +79968,6 @@ navigation attempt in its parent container(s).
 </return>
 </function>
 
-<function name="gtk_widget_list_accel_closures">
-<description>
-Lists the closures used by @widget for accelerator group connections
-with gtk_accel_group_connect_by_path() or gtk_accel_group_connect().
-The closures can be used to monitor accelerator changes on @widget,
-by connecting to the @GtkAccelGroup::accel-changed signal of the
-#GtkAccelGroup of a closure which can be found out with
-gtk_accel_group_from_accel_closure().
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description>  widget to list accelerator closures for
-</parameter_description>
-</parameter>
-</parameters>
-<return>
-a newly allocated #GList of closures
-</return>
-</function>
-
 <function name="gtk_widget_list_mnemonic_labels">
 <description>
 Returns a newly allocated list of the widgets, normally labels, for
@@ -80484,35 +80354,6 @@ called after the widget is realized automatically, such as
 <return></return>
 </function>
 
-<function name="gtk_widget_remove_accelerator">
-<description>
-Removes an accelerator from @widget, previously installed with
-gtk_widget_add_accelerator().
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description>       widget to install an accelerator on
-</parameter_description>
-</parameter>
-<parameter name="accel_group">
-<parameter_description>  accel group for this widget
-</parameter_description>
-</parameter>
-<parameter name="accel_key">
-<parameter_description>    GDK keyval of the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_mods">
-<parameter_description>   modifier key combination of the accelerator
-</parameter_description>
-</parameter>
-</parameters>
-<return> whether an accelerator was installed and could be removed
-</return>
-</function>
-
 <function name="gtk_widget_remove_controller">
 <description>
 Removes @controller from @widget, so that it doesn't process
@@ -80632,46 +80473,6 @@ style might apply to it.
 <return></return>
 </function>
 
-<function name="gtk_widget_set_accel_path">
-<description>
-Given an accelerator group, @accel_group, and an accelerator path,
-@accel_path, sets up an accelerator in @accel_group so whenever the
-key binding that is defined for @accel_path is pressed, @widget
-will be activated.  This removes any accelerators (for any
-accelerator group) installed by previous calls to
-gtk_widget_set_accel_path(). Associating accelerators with
-paths allows them to be modified by the user and the modifications
-to be saved for future use. (See gtk_accel_map_save().)
-
-This function is a low level function that would most likely
-be used by a menu creation system.
-
-If you only want to
-set up accelerators on menu items gtk_menu_item_set_accel_path()
-provides a somewhat more convenient interface.
-
-Note that @accel_path string will be stored in a #GQuark. Therefore, if you
-pass a static string, you can save some memory by interning it first with
-g_intern_static_string().
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="accel_path">
-<parameter_description> path used to look up the accelerator
-</parameter_description>
-</parameter>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_set_can_focus">
 <description>
 Specifies whether @widget can own the input focus.
@@ -81759,71 +81560,6 @@ See gtk_widget_set_state_flags().
 <return></return>
 </function>
 
-<function name="gtk_window_activate_key">
-<description>
-Activates mnemonics and accelerators for this #GtkWindow. This is normally
-called by the default ::key_press_event handler for toplevel windows,
-however in some cases it may be useful to call this directly when
-overriding the standard key handling for a toplevel window.
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description>  a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description>   a #GdkEvent
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a mnemonic or accelerator was found and activated.
-</return>
-</function>
-
-<function name="gtk_window_add_accel_group">
-<description>
-Associate @accel_group with @window, such that calling
-gtk_accel_groups_activate() on @window will activate accelerators
-in @accel_group.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> window to attach accelerator group to
-</parameter_description>
-</parameter>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_window_add_mnemonic">
-<description>
-Adds a mnemonic to this window.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> the mnemonic
-</parameter_description>
-</parameter>
-<parameter name="target">
-<parameter_description> the widget that gets activated by the mnemonic
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_close">
 <description>
 Requests that the window is closed, similar to what happens
@@ -82102,24 +81838,6 @@ no themed icon
 </return>
 </function>
 
-<function name="gtk_window_get_mnemonic_modifier">
-<description>
-Returns the mnemonic modifier for this window. See
-gtk_window_set_mnemonic_modifier().
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> the modifier mask used to activate
-mnemonics on this window.
-</return>
-</function>
-
 <function name="gtk_window_get_mnemonics_visible">
 <description>
 Gets the value of the #GtkWindow:mnemonics-visible property.
@@ -82534,30 +82252,6 @@ property.
 <return></return>
 </function>
 
-<function name="gtk_window_mnemonic_activate">
-<description>
-Activates the targets associated with the mnemonic.
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> the mnemonic
-</parameter_description>
-</parameter>
-<parameter name="modifier">
-<parameter_description> the modifiers
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the activation is done.
-</return>
-</function>
-
 <function name="gtk_window_new">
 <description>
 Creates a new #GtkWindow, which is a toplevel window that can
@@ -82634,71 +82328,6 @@ button or key press event) which triggered this call
 <return></return>
 </function>
 
-<function name="gtk_window_propagate_key_event">
-<description>
-Propagate a key press or release event to the focus widget and
-up the focus container chain until a widget handles @event.
-This is normally called by the default ::key_press_event and
-::key_release_event handlers for toplevel windows,
-however in some cases it may be useful to call this directly when
-overriding the standard key handling for a toplevel window.
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description>  a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description>   a #GdkEvent
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a widget in the focus chain handled the event.
-</return>
-</function>
-
-<function name="gtk_window_remove_accel_group">
-<description>
-Reverses the effects of gtk_window_add_accel_group().
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="accel_group">
-<parameter_description> a #GtkAccelGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_window_remove_mnemonic">
-<description>
-Removes a mnemonic from this window.
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> the mnemonic
-</parameter_description>
-</parameter>
-<parameter name="target">
-<parameter_description> the widget that gets activated by the mnemonic
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_resize">
 <description>
 Resizes the window as if the user had done so, obeying geometry
@@ -83105,25 +82734,6 @@ and to useful debugging tools.
 <return></return>
 </function>
 
-<function name="gtk_window_set_mnemonic_modifier">
-<description>
-Sets the mnemonic modifier for this window. 
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-<parameter name="modifier">
-<parameter_description> the modifier mask used to activate
-mnemonics on this window.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_mnemonics_visible">
 <description>
 Sets the #GtkWindow:mnemonics-visible property.
diff --git a/gtk/src/gtk_docs_override.xml b/gtk/src/gtk_docs_override.xml
index 61567a54..755fc29b 100644
--- a/gtk/src/gtk_docs_override.xml
+++ b/gtk/src/gtk_docs_override.xml
@@ -97,7 +97,6 @@
 <substitute_enumerator_name from_prefix="GTK_TREE_VIEW_COLUMN_" to_prefix="Gtk::TreeViewColumn::Sizing::" />
 <substitute_enumerator_name from_prefix="GTK_ORIENTATION_" to_prefix="Gtk::Orientation::" />
 <substitute_enumerator_name from_prefix="GTK_OVERFLOW_" to_prefix="Gtk::Overflow::" />
-<substitute_enumerator_name from_prefix="GTK_ACCEL_" to_prefix="Gtk::AccelFlags::" />
 <substitute_enumerator_name from_prefix="GTK_DIR_" to_prefix="Gtk::DirectionType::" />
 <substitute_enumerator_name from_prefix="GTK_PRINT_CAPABILITY_" to_prefix="Gtk::PrintCapabilities::" />
 <substitute_enumerator_name from_prefix="GTK_PRINT_OPERATION_ACTION_" 
to_prefix="Gtk::PrintOperation::Action::" />
diff --git a/gtk/src/gtk_enums.defs b/gtk/src/gtk_enums.defs
index 5dab76a8..a785a244 100644
--- a/gtk/src/gtk_enums.defs
+++ b/gtk/src/gtk_enums.defs
@@ -67,26 +67,6 @@
   )
 )
 
-;; From gtkaccelgroup.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GTK_ACCEL_VISIBLE        = 1 << 0,
-;;   GTK_ACCEL_LOCKED         = 1 << 1,
-;;   GTK_ACCEL_MASK           = 0x07
-;; } GtkAccelFlags;
-
-(define-flags-extended GtkAccelFlags
-  (in-module "Gsk")
-  (c-name "GtkAccelFlags")
-  (values
-    '("visible" "GTK_ACCEL_VISIBLE" "1 << 0")
-    '("locked" "GTK_ACCEL_LOCKED" "1 << 1")
-    '("mask" "GTK_ACCEL_MASK" "0x07")
-  )
-)
-
 ;; From gtkapplication.h
 
 ;; Original typedef:
@@ -1352,6 +1332,24 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_SHORTCUT_SCOPE_LOCAL,
+;;   GTK_SHORTCUT_SCOPE_MANAGED,
+;;   GTK_SHORTCUT_SCOPE_GLOBAL
+;; } GtkShortcutScope;
+
+(define-enum-extended GtkShortcutScope
+  (in-module "Gsk")
+  (c-name "GtkShortcutScope")
+  (values
+    '("local" "GTK_SHORTCUT_SCOPE_LOCAL" "0")
+    '("managed" "GTK_SHORTCUT_SCOPE_MANAGED" "1")
+    '("global" "GTK_SHORTCUT_SCOPE_GLOBAL" "2")
+  )
+)
+
 ;; Original typedef:
 ;; typedef enum
 ;; {
@@ -2082,6 +2080,21 @@
   )
 )
 
+;; From gtkshortcutaction.h
+
+;; Original typedef:
+;; typedef enum {
+;;   GTK_SHORTCUT_ACTION_EXCLUSIVE = 1 << 0
+;; } GtkShortcutActionFlags;
+
+(define-flags-extended GtkShortcutActionFlags
+  (in-module "Gsk")
+  (c-name "GtkShortcutActionFlags")
+  (values
+    '("exclusive" "GTK_SHORTCUT_ACTION_EXCLUSIVE" "1 << 0")
+  )
+)
+
 ;; From gtkshortcutsshortcut.h
 
 ;; Original typedef:
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index c9838cd5..a718fbac 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -7,13 +7,6 @@
   (gtype-id "GSK_TYPE_PANGO_RENDERER")
 )
 
-(define-object AccelGroup
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkAccelGroup")
-  (gtype-id "GTK_TYPE_ACCEL_GROUP")
-)
-
 (define-object Accessible
   (in-module "Gtk")
   (parent "AtkObject")
@@ -515,17 +508,6 @@
   )
 )
 
-(define-flags AccelFlags
-  (in-module "Gtk")
-  (c-name "GtkAccelFlags")
-  (gtype-id "GTK_TYPE_ACCEL_FLAGS")
-  (values
-    '("visible" "GTK_ACCEL_VISIBLE")
-    '("locked" "GTK_ACCEL_LOCKED")
-    '("mask" "GTK_ACCEL_MASK")
-  )
-)
-
 (define-flags ApplicationInhibitFlags
   (in-module "Gtk")
   (c-name "GtkApplicationInhibitFlags")
@@ -1260,6 +1242,17 @@
   )
 )
 
+(define-enum ShortcutScope
+  (in-module "Gtk")
+  (c-name "GtkShortcutScope")
+  (gtype-id "GTK_TYPE_SHORTCUT_SCOPE")
+  (values
+    '("local" "GTK_SHORTCUT_SCOPE_LOCAL")
+    '("managed" "GTK_SHORTCUT_SCOPE_MANAGED")
+    '("global" "GTK_SHORTCUT_SCOPE_GLOBAL")
+  )
+)
+
 (define-enum PopoverConstraint
   (in-module "Gtk")
   (c-name "GtkPopoverConstraint")
@@ -1680,6 +1673,15 @@
   )
 )
 
+(define-flags ShortcutActionFlags
+  (in-module "Gtk")
+  (c-name "GtkShortcutActionFlags")
+  (gtype-id "GTK_TYPE_SHORTCUT_ACTION_FLAGS")
+  (values
+    '("exclusive" "GTK_SHORTCUT_ACTION_EXCLUSIVE")
+  )
+)
+
 (define-enum ShortcutType
   (in-module "Gtk")
   (c-name "GtkShortcutType")
@@ -2232,130 +2234,6 @@
 
 ;; From gtkaccelgroup.h
 
-(define-function gtk_accel_group_get_type
-  (c-name "gtk_accel_group_get_type")
-  (return-type "GType")
-)
-
-(define-function gtk_accel_group_new
-  (c-name "gtk_accel_group_new")
-  (is-constructor-of "GtkAccelGroup")
-  (return-type "GtkAccelGroup*")
-)
-
-(define-method get_is_locked
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_get_is_locked")
-  (return-type "gboolean")
-)
-
-(define-method get_modifier_mask
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_get_modifier_mask")
-  (return-type "GdkModifierType")
-)
-
-(define-method lock
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_lock")
-  (return-type "none")
-)
-
-(define-method unlock
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_unlock")
-  (return-type "none")
-)
-
-(define-method connect
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_connect")
-  (return-type "none")
-  (parameters
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-    '("GtkAccelFlags" "accel_flags")
-    '("GClosure*" "closure")
-  )
-)
-
-(define-method connect_by_path
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_connect_by_path")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "accel_path")
-    '("GClosure*" "closure")
-  )
-)
-
-(define-method disconnect
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_disconnect")
-  (return-type "gboolean")
-  (parameters
-    '("GClosure*" "closure")
-  )
-)
-
-(define-method disconnect_key
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_disconnect_key")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-  )
-)
-
-(define-method activate
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_activate")
-  (return-type "gboolean")
-  (parameters
-    '("GQuark" "accel_quark")
-    '("GObject*" "acceleratable")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-  )
-)
-
-(define-function gtk_accel_groups_activate
-  (c-name "gtk_accel_groups_activate")
-  (return-type "gboolean")
-  (parameters
-    '("GObject*" "object")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-  )
-)
-
-(define-function gtk_accel_groups_from_object
-  (c-name "gtk_accel_groups_from_object")
-  (return-type "GSList*")
-  (parameters
-    '("GObject*" "object")
-  )
-)
-
-(define-method find
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_find")
-  (return-type "GtkAccelKey*")
-  (parameters
-    '("GtkAccelGroupFindFunc" "find_func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function gtk_accel_group_from_accel_closure
-  (c-name "gtk_accel_group_from_accel_closure")
-  (return-type "GtkAccelGroup*")
-  (parameters
-    '("GClosure*" "closure")
-  )
-)
-
 (define-function gtk_accelerator_valid
   (c-name "gtk_accelerator_valid")
   (return-type "gboolean")
@@ -2367,7 +2245,7 @@
 
 (define-function gtk_accelerator_parse
   (c-name "gtk_accelerator_parse")
-  (return-type "none")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "accelerator")
     '("guint*" "accelerator_key")
@@ -2377,9 +2255,10 @@
 
 (define-function gtk_accelerator_parse_with_keycode
   (c-name "gtk_accelerator_parse_with_keycode")
-  (return-type "none")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "accelerator")
+    '("GdkDisplay*" "display")
     '("guint*" "accelerator_key")
     '("guint**" "accelerator_codes")
     '("GdkModifierType*" "accelerator_mods")
@@ -2426,30 +2305,11 @@
   )
 )
 
-(define-function gtk_accelerator_set_default_mod_mask
-  (c-name "gtk_accelerator_set_default_mod_mask")
-  (return-type "none")
-  (parameters
-    '("GdkModifierType" "default_mod_mask")
-  )
-)
-
 (define-function gtk_accelerator_get_default_mod_mask
   (c-name "gtk_accelerator_get_default_mod_mask")
   (return-type "GdkModifierType")
 )
 
-(define-method query
-  (of-object "GtkAccelGroup")
-  (c-name "gtk_accel_group_query")
-  (return-type "GtkAccelGroupEntry*")
-  (parameters
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-    '("guint*" "n_entries")
-  )
-)
-
 
 
 ;; From gtkaccellabel.h
@@ -2468,42 +2328,12 @@
   )
 )
 
-(define-method get_accel_widget
-  (of-object "GtkAccelLabel")
-  (c-name "gtk_accel_label_get_accel_widget")
-  (return-type "GtkWidget*")
-)
-
 (define-method get_accel_width
   (of-object "GtkAccelLabel")
   (c-name "gtk_accel_label_get_accel_width")
   (return-type "guint")
 )
 
-(define-method set_accel_widget
-  (of-object "GtkAccelLabel")
-  (c-name "gtk_accel_label_set_accel_widget")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "accel_widget")
-  )
-)
-
-(define-method set_accel_closure
-  (of-object "GtkAccelLabel")
-  (c-name "gtk_accel_label_set_accel_closure")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "accel_closure")
-  )
-)
-
-(define-method get_accel_closure
-  (of-object "GtkAccelLabel")
-  (c-name "gtk_accel_label_get_accel_closure")
-  (return-type "GClosure*")
-)
-
 (define-method refetch
   (of-object "GtkAccelLabel")
   (c-name "gtk_accel_label_refetch")
@@ -2562,132 +2392,6 @@
 
 
 
-;; From gtkaccelmap.h
-
-(define-function gtk_accel_map_add_entry
-  (c-name "gtk_accel_map_add_entry")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "accel_path")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-  )
-)
-
-(define-function gtk_accel_map_lookup_entry
-  (c-name "gtk_accel_map_lookup_entry")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "accel_path")
-    '("GtkAccelKey*" "key")
-  )
-)
-
-(define-function gtk_accel_map_change_entry
-  (c-name "gtk_accel_map_change_entry")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "accel_path")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-    '("gboolean" "replace")
-  )
-)
-
-(define-function gtk_accel_map_load
-  (c-name "gtk_accel_map_load")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function gtk_accel_map_save
-  (c-name "gtk_accel_map_save")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function gtk_accel_map_foreach
-  (c-name "gtk_accel_map_foreach")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-    '("GtkAccelMapForeach" "foreach_func")
-  )
-)
-
-(define-function gtk_accel_map_load_fd
-  (c-name "gtk_accel_map_load_fd")
-  (return-type "none")
-  (parameters
-    '("gint" "fd")
-  )
-)
-
-(define-function gtk_accel_map_load_scanner
-  (c-name "gtk_accel_map_load_scanner")
-  (return-type "none")
-  (parameters
-    '("GScanner*" "scanner")
-  )
-)
-
-(define-function gtk_accel_map_save_fd
-  (c-name "gtk_accel_map_save_fd")
-  (return-type "none")
-  (parameters
-    '("gint" "fd")
-  )
-)
-
-(define-function gtk_accel_map_lock_path
-  (c-name "gtk_accel_map_lock_path")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "accel_path")
-  )
-)
-
-(define-function gtk_accel_map_unlock_path
-  (c-name "gtk_accel_map_unlock_path")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "accel_path")
-  )
-)
-
-(define-function gtk_accel_map_add_filter
-  (c-name "gtk_accel_map_add_filter")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "filter_pattern")
-  )
-)
-
-(define-function gtk_accel_map_foreach_unfiltered
-  (c-name "gtk_accel_map_foreach_unfiltered")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-    '("GtkAccelMapForeach" "foreach_func")
-  )
-)
-
-(define-function gtk_accel_map_get_type
-  (c-name "gtk_accel_map_get_type")
-  (return-type "GType")
-)
-
-(define-function gtk_accel_map_get
-  (c-name "gtk_accel_map_get")
-  (return-type "GtkAccelMap*")
-)
-
-
-
 ;; From gtkaccessible.h
 
 (define-function gtk_accessible_get_type
@@ -3715,146 +3419,6 @@
 
 
 
-;; From gtkbindings.h
-
-(define-function gtk_binding_set_new
-  (c-name "gtk_binding_set_new")
-  (is-constructor-of "GtkBindingSet")
-  (return-type "GtkBindingSet*")
-  (parameters
-    '("const-gchar*" "set_name")
-  )
-)
-
-(define-function gtk_binding_set_by_class
-  (c-name "gtk_binding_set_by_class")
-  (return-type "GtkBindingSet*")
-  (parameters
-    '("gpointer" "object_class")
-  )
-)
-
-(define-function gtk_binding_set_find
-  (c-name "gtk_binding_set_find")
-  (return-type "GtkBindingSet*")
-  (parameters
-    '("const-gchar*" "set_name")
-  )
-)
-
-(define-function gtk_bindings_activate
-  (c-name "gtk_bindings_activate")
-  (return-type "gboolean")
-  (parameters
-    '("GObject*" "object")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-  )
-)
-
-(define-function gtk_bindings_activate_event
-  (c-name "gtk_bindings_activate_event")
-  (return-type "gboolean")
-  (parameters
-    '("GObject*" "object")
-    '("GdkEvent*" "event")
-  )
-)
-
-(define-method activate
-  (of-object "GtkBindingSet")
-  (c-name "gtk_binding_set_activate")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-    '("GObject*" "object")
-  )
-)
-
-(define-function gtk_binding_entry_skip
-  (c-name "gtk_binding_entry_skip")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-  )
-)
-
-(define-function gtk_binding_entry_add_signal
-  (c-name "gtk_binding_entry_add_signal")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-    '("const-gchar*" "signal_name")
-    '("guint" "n_args")
-  )
-  (varargs #t)
-)
-
-(define-function gtk_binding_entry_add_signal_from_string
-  (c-name "gtk_binding_entry_add_signal_from_string")
-  (return-type "GTokenType")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("const-gchar*" "signal_desc")
-  )
-)
-
-(define-function gtk_binding_entry_add_action_variant
-  (c-name "gtk_binding_entry_add_action_variant")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-    '("const-char*" "action_name")
-    '("GVariant*" "args")
-  )
-)
-
-(define-function gtk_binding_entry_add_action
-  (c-name "gtk_binding_entry_add_action")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-    '("const-char*" "action_name")
-    '("const-char*" "format_string")
-  )
-  (varargs #t)
-)
-
-(define-function gtk_binding_entry_add_callback
-  (c-name "gtk_binding_entry_add_callback")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-    '("GtkBindingCallback" "callback")
-    '("GVariant*" "args")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "user_destroy")
-  )
-)
-
-(define-function gtk_binding_entry_remove
-  (c-name "gtk_binding_entry_remove")
-  (return-type "none")
-  (parameters
-    '("GtkBindingSet*" "binding_set")
-    '("guint" "keyval")
-    '("GdkModifierType" "modifiers")
-  )
-)
-
-
-
 ;; From gtkbin.h
 
 (define-function gtk_bin_get_type
@@ -9797,6 +9361,15 @@
   (return-type "GListModel*")
 )
 
+(define-method get_model_for_item
+  (of-object "GtkFlattenListModel")
+  (c-name "gtk_flatten_list_model_get_model_for_item")
+  (return-type "GListModel*")
+  (parameters
+    '("guint" "position")
+  )
+)
+
 
 
 ;; From gtkflowbox.h
@@ -12763,10 +12336,6 @@
 
 
 
-;; From gtkkeyhash.h
-
-
-
 ;; From gtklabel.h
 
 (define-function gtk_label_get_type
@@ -14618,6 +14187,21 @@
   (return-type "const-char*")
 )
 
+(define-method set_use_underline
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_set_use_underline")
+  (return-type "none")
+  (parameters
+    '("gboolean" "use_underline")
+  )
+)
+
+(define-method get_use_underline
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_get_use_underline")
+  (return-type "gboolean")
+)
+
 (define-method set_relief
   (of-object "GtkMenuButton")
   (c-name "gtk_menu_button_set_relief")
@@ -14729,10 +14313,6 @@
 
 
 
-;; From gtkmnemonichash.h
-
-
-
 ;; From gtkmountoperation.h
 
 (define-function gtk_mount_operation_get_type
@@ -15845,6 +15425,32 @@
 
 ;; From gtkpango.h
 
+(define-method attribute_tag_start
+  (of-object "GtkBuildable")
+  (c-name "gtk_buildable_attribute_tag_start")
+  (return-type "gboolean")
+  (parameters
+    '("GtkBuilder*" "builder")
+    '("GObject*" "child")
+    '("const-gchar*" "tagname")
+    '("GtkBuildableParser*" "parser")
+    '("gpointer*" "data")
+  )
+)
+
+(define-function gtk_pango_attribute_start_element
+  (c-name "gtk_pango_attribute_start_element")
+  (return-type "none")
+  (parameters
+    '("GtkBuildableParseContext*" "context")
+    '("const-char*" "element_name")
+    '("const-char**" "names")
+    '("const-char**" "values")
+    '("gpointer" "user_data")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gtkpapersize.h
@@ -16343,6 +15949,21 @@
   (return-type "gboolean")
 )
 
+(define-method set_mnemonics_visible
+  (of-object "GtkPopover")
+  (c-name "gtk_popover_set_mnemonics_visible")
+  (return-type "none")
+  (parameters
+    '("gboolean" "mnemonics_visible")
+  )
+)
+
+(define-method get_mnemonics_visible
+  (of-object "GtkPopover")
+  (c-name "gtk_popover_get_mnemonics_visible")
+  (return-type "gboolean")
+)
+
 (define-method popup
   (of-object "GtkPopover")
   (c-name "gtk_popover_popup")
@@ -20033,107 +19654,292 @@
   )
 )
 
-(define-method select_range
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_select_range")
-  (return-type "gboolean")
+(define-method select_range
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_select_range")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "position")
+    '("guint" "n_items")
+    '("gboolean" "exclusive")
+  )
+)
+
+(define-method unselect_range
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_unselect_range")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "position")
+    '("guint" "n_items")
+  )
+)
+
+(define-method select_all
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_select_all")
+  (return-type "gboolean")
+)
+
+(define-method unselect_all
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_unselect_all")
+  (return-type "gboolean")
+)
+
+(define-method query_range
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_query_range")
+  (return-type "none")
+  (parameters
+    '("guint" "position")
+    '("guint*" "start_range")
+    '("guint*" "n_items")
+    '("gboolean*" "selected")
+  )
+)
+
+(define-method selection_changed
+  (of-object "GtkSelectionModel")
+  (c-name "gtk_selection_model_selection_changed")
+  (return-type "none")
+  (parameters
+    '("guint" "position")
+    '("guint" "n_items")
+  )
+)
+
+
+
+;; From gtkseparator.h
+
+(define-function gtk_separator_get_type
+  (c-name "gtk_separator_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_separator_new
+  (c-name "gtk_separator_new")
+  (is-constructor-of "GtkSeparator")
+  (return-type "GtkWidget*")
+  (parameters
+    '("GtkOrientation" "orientation")
+  )
+)
+
+
+
+;; From gtksettings.h
+
+(define-function gtk_settings_get_type
+  (c-name "gtk_settings_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_settings_get_default
+  (c-name "gtk_settings_get_default")
+  (return-type "GtkSettings*")
+)
+
+(define-function gtk_settings_get_for_display
+  (c-name "gtk_settings_get_for_display")
+  (return-type "GtkSettings*")
+  (parameters
+    '("GdkDisplay*" "display")
+  )
+)
+
+(define-method reset_property
+  (of-object "GtkSettings")
+  (c-name "gtk_settings_reset_property")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
+
+
+;; From gtkshortcutaction.h
+
+(define-function gtk_shortcut_action_parse_string
+  (c-name "gtk_shortcut_action_parse_string")
+  (return-type "GtkShortcutAction*")
+  (parameters
+    '("const-char*" "string")
+  )
+)
+
+(define-method print
+  (of-object "GtkShortcutAction")
+  (c-name "gtk_shortcut_action_print")
+  (return-type "none")
+  (parameters
+    '("GString*" "string")
+  )
+)
+
+(define-method activate
+  (of-object "GtkShortcutAction")
+  (c-name "gtk_shortcut_action_activate")
+  (return-type "gboolean")
+  (parameters
+    '("GtkShortcutActionFlags" "flags")
+    '("GtkWidget*" "widget")
+    '("GVariant*" "args")
+  )
+)
+
+(define-method get_signal_name
+  (of-object "GtkSignalAction")
+  (c-name "gtk_signal_action_get_signal_name")
+  (return-type "const-char*")
+)
+
+(define-method get_action_name
+  (of-object "GtkNamedAction")
+  (c-name "gtk_named_action_get_action_name")
+  (return-type "const-char*")
+)
+
+
+
+;; From gtkshortcutcontroller.h
+
+(define-function gtk_shortcut_controller_get_type
+  (c-name "gtk_shortcut_controller_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_shortcut_controller_new
+  (c-name "gtk_shortcut_controller_new")
+  (is-constructor-of "GtkShortcutController")
+  (return-type "GtkEventController*")
+)
+
+(define-function gtk_shortcut_controller_new_for_model
+  (c-name "gtk_shortcut_controller_new_for_model")
+  (return-type "GtkEventController*")
   (parameters
-    '("guint" "position")
-    '("guint" "n_items")
-    '("gboolean" "exclusive")
+    '("GListModel*" "model")
   )
 )
 
-(define-method unselect_range
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_unselect_range")
-  (return-type "gboolean")
+(define-method set_mnemonics_modifiers
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_set_mnemonics_modifiers")
+  (return-type "none")
   (parameters
-    '("guint" "position")
-    '("guint" "n_items")
+    '("GdkModifierType" "modifiers")
   )
 )
 
-(define-method select_all
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_select_all")
-  (return-type "gboolean")
+(define-method get_mnemonics_modifiers
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_get_mnemonics_modifiers")
+  (return-type "GdkModifierType")
 )
 
-(define-method unselect_all
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_unselect_all")
-  (return-type "gboolean")
+(define-method set_scope
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_set_scope")
+  (return-type "none")
+  (parameters
+    '("GtkShortcutScope" "scope")
+  )
 )
 
-(define-method query_range
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_query_range")
+(define-method get_scope
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_get_scope")
+  (return-type "GtkShortcutScope")
+)
+
+(define-method add_shortcut
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_add_shortcut")
   (return-type "none")
   (parameters
-    '("guint" "position")
-    '("guint*" "start_range")
-    '("guint*" "n_items")
-    '("gboolean*" "selected")
+    '("GtkShortcut*" "shortcut")
   )
 )
 
-(define-method selection_changed
-  (of-object "GtkSelectionModel")
-  (c-name "gtk_selection_model_selection_changed")
+(define-method remove_shortcut
+  (of-object "GtkShortcutController")
+  (c-name "gtk_shortcut_controller_remove_shortcut")
   (return-type "none")
   (parameters
-    '("guint" "position")
-    '("guint" "n_items")
+    '("GtkShortcut*" "shortcut")
   )
 )
 
 
 
-;; From gtkseparator.h
+;; From gtkshortcut.h
 
-(define-function gtk_separator_get_type
-  (c-name "gtk_separator_get_type")
-  (return-type "GType")
+(define-function gtk_shortcut_new
+  (c-name "gtk_shortcut_new")
+  (is-constructor-of "GtkShortcut")
+  (return-type "GtkShortcut*")
+  (parameters
+    '("GtkShortcutTrigger*" "trigger")
+    '("GtkShortcutAction*" "action")
+  )
 )
 
-(define-function gtk_separator_new
-  (c-name "gtk_separator_new")
-  (is-constructor-of "GtkSeparator")
-  (return-type "GtkWidget*")
+(define-function gtk_shortcut_new_with_arguments
+  (c-name "gtk_shortcut_new_with_arguments")
+  (return-type "GtkShortcut*")
   (parameters
-    '("GtkOrientation" "orientation")
+    '("GtkShortcutTrigger*" "trigger")
+    '("GtkShortcutAction*" "action")
+    '("const-gchar*" "format_string")
   )
+  (varargs #t)
 )
 
+(define-method get_trigger
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_get_trigger")
+  (return-type "GtkShortcutTrigger*")
+)
 
-
-;; From gtksettings.h
-
-(define-function gtk_settings_get_type
-  (c-name "gtk_settings_get_type")
-  (return-type "GType")
+(define-method set_trigger
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_set_trigger")
+  (return-type "none")
+  (parameters
+    '("GtkShortcutTrigger*" "trigger")
+  )
 )
 
-(define-function gtk_settings_get_default
-  (c-name "gtk_settings_get_default")
-  (return-type "GtkSettings*")
+(define-method get_action
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_get_action")
+  (return-type "GtkShortcutAction*")
 )
 
-(define-function gtk_settings_get_for_display
-  (c-name "gtk_settings_get_for_display")
-  (return-type "GtkSettings*")
+(define-method set_action
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_set_action")
+  (return-type "none")
   (parameters
-    '("GdkDisplay*" "display")
+    '("GtkShortcutAction*" "action")
   )
 )
 
-(define-method reset_property
-  (of-object "GtkSettings")
-  (c-name "gtk_settings_reset_property")
+(define-method get_arguments
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_get_arguments")
+  (return-type "GVariant*")
+)
+
+(define-method set_arguments
+  (of-object "GtkShortcut")
+  (c-name "gtk_shortcut_set_arguments")
   (return-type "none")
   (parameters
-    '("const-gchar*" "name")
+    '("GVariant*" "args")
   )
 )
 
@@ -20187,6 +19993,10 @@
 
 
 
+;; From gtkshortcutmanager.h
+
+
+
 ;; From gtkshortcutsgroup.h
 
 (define-function gtk_shortcuts_group_get_type
@@ -20223,6 +20033,110 @@
 
 
 
+;; From gtkshortcuttrigger.h
+
+(define-method to_string
+  (of-object "GtkShortcutTrigger")
+  (c-name "gtk_shortcut_trigger_to_string")
+  (return-type "char*")
+)
+
+(define-method print
+  (of-object "GtkShortcutTrigger")
+  (c-name "gtk_shortcut_trigger_print")
+  (return-type "none")
+  (parameters
+    '("GString*" "string")
+  )
+)
+
+(define-method to_label
+  (of-object "GtkShortcutTrigger")
+  (c-name "gtk_shortcut_trigger_to_label")
+  (return-type "char*")
+  (parameters
+    '("GdkDisplay*" "display")
+  )
+)
+
+(define-method print_label
+  (of-object "GtkShortcutTrigger")
+  (c-name "gtk_shortcut_trigger_print_label")
+  (return-type "gboolean")
+  (parameters
+    '("GdkDisplay*" "display")
+    '("GString*" "string")
+  )
+)
+
+(define-function gtk_shortcut_trigger_hash
+  (c-name "gtk_shortcut_trigger_hash")
+  (return-type "guint")
+  (parameters
+    '("gconstpointer" "trigger")
+  )
+)
+
+(define-function gtk_shortcut_trigger_equal
+  (c-name "gtk_shortcut_trigger_equal")
+  (return-type "gboolean")
+  (parameters
+    '("gconstpointer" "trigger1")
+    '("gconstpointer" "trigger2")
+  )
+)
+
+(define-function gtk_shortcut_trigger_compare
+  (c-name "gtk_shortcut_trigger_compare")
+  (return-type "gint")
+  (parameters
+    '("gconstpointer" "trigger1")
+    '("gconstpointer" "trigger2")
+  )
+)
+
+(define-method trigger
+  (of-object "GtkShortcutTrigger")
+  (c-name "gtk_shortcut_trigger_trigger")
+  (return-type "GdkKeyMatch")
+  (parameters
+    '("GdkEvent*" "event")
+    '("gboolean" "enable_mnemonics")
+  )
+)
+
+(define-method get_modifiers
+  (of-object "GtkKeyvalTrigger")
+  (c-name "gtk_keyval_trigger_get_modifiers")
+  (return-type "GdkModifierType")
+)
+
+(define-method get_keyval
+  (of-object "GtkKeyvalTrigger")
+  (c-name "gtk_keyval_trigger_get_keyval")
+  (return-type "guint")
+)
+
+(define-method get_keyval
+  (of-object "GtkMnemonicTrigger")
+  (c-name "gtk_mnemonic_trigger_get_keyval")
+  (return-type "guint")
+)
+
+(define-method get_first
+  (of-object "GtkAlternativeTrigger")
+  (c-name "gtk_alternative_trigger_get_first")
+  (return-type "GtkShortcutTrigger*")
+)
+
+(define-method get_second
+  (of-object "GtkAlternativeTrigger")
+  (c-name "gtk_alternative_trigger_get_second")
+  (return-type "GtkShortcutTrigger*")
+)
+
+
+
 ;; From gtkshow.h
 
 (define-function gtk_show_uri_on_window
@@ -21699,14 +21613,6 @@
   )
 )
 
-(define-function gtk_style_context_reset_widgets
-  (c-name "gtk_style_context_reset_widgets")
-  (return-type "none")
-  (parameters
-    '("GdkDisplay*" "display")
-  )
-)
-
 (define-function gtk_render_insertion_cursor
   (c-name "gtk_render_insertion_cursor")
   (return-type "none")
@@ -27412,44 +27318,52 @@
   (return-type "GType")
 )
 
-(define-method add_accelerator
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_add_accelerator")
+(define-method add_binding
+  (of-object "GtkWidgetClass")
+  (c-name "gtk_widget_class_add_binding")
   (return-type "none")
   (parameters
-    '("const-gchar*" "accel_signal")
-    '("GtkAccelGroup*" "accel_group")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
-    '("GtkAccelFlags" "accel_flags")
+    '("guint" "keyval")
+    '("GdkModifierType" "mods")
+    '("GtkShortcutFunc" "callback")
+    '("const-gchar*" "format_string")
   )
+  (varargs #t)
 )
 
-(define-method remove_accelerator
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_remove_accelerator")
-  (return-type "gboolean")
+(define-method add_binding_signal
+  (of-object "GtkWidgetClass")
+  (c-name "gtk_widget_class_add_binding_signal")
+  (return-type "none")
   (parameters
-    '("GtkAccelGroup*" "accel_group")
-    '("guint" "accel_key")
-    '("GdkModifierType" "accel_mods")
+    '("guint" "keyval")
+    '("GdkModifierType" "mods")
+    '("const-gchar*" "signal")
+    '("const-gchar*" "format_string")
   )
+  (varargs #t)
 )
 
-(define-method set_accel_path
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_set_accel_path")
+(define-method add_binding_action
+  (of-object "GtkWidgetClass")
+  (c-name "gtk_widget_class_add_binding_action")
   (return-type "none")
   (parameters
-    '("const-gchar*" "accel_path")
-    '("GtkAccelGroup*" "accel_group")
+    '("guint" "keyval")
+    '("GdkModifierType" "mods")
+    '("const-gchar*" "action_name")
+    '("const-gchar*" "format_string")
   )
+  (varargs #t)
 )
 
-(define-method list_accel_closures
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_list_accel_closures")
-  (return-type "GList*")
+(define-method add_shortcut
+  (of-object "GtkWidgetClass")
+  (c-name "gtk_widget_class_add_shortcut")
+  (return-type "none")
+  (parameters
+    '("GtkShortcut*" "shortcut")
+  )
 )
 
 (define-method can_activate_accel
@@ -28384,15 +28298,6 @@
   (return-type "const-char*")
 )
 
-(define-method get_modifier_mask
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_modifier_mask")
-  (return-type "GdkModifierType")
-  (parameters
-    '("GdkModifierIntent" "intent")
-  )
-)
-
 (define-method add_tick_callback
   (of-object "GtkWidget")
   (c-name "gtk_widget_add_tick_callback")
@@ -28811,24 +28716,6 @@
   )
 )
 
-(define-method add_accel_group
-  (of-object "GtkWindow")
-  (c-name "gtk_window_add_accel_group")
-  (return-type "none")
-  (parameters
-    '("GtkAccelGroup*" "accel_group")
-  )
-)
-
-(define-method remove_accel_group
-  (of-object "GtkWindow")
-  (c-name "gtk_window_remove_accel_group")
-  (return-type "none")
-  (parameters
-    '("GtkAccelGroup*" "accel_group")
-  )
-)
-
 (define-method set_focus
   (of-object "GtkWindow")
   (c-name "gtk_window_set_focus")
@@ -29064,69 +28951,6 @@
   )
 )
 
-(define-method add_mnemonic
-  (of-object "GtkWindow")
-  (c-name "gtk_window_add_mnemonic")
-  (return-type "none")
-  (parameters
-    '("guint" "keyval")
-    '("GtkWidget*" "target")
-  )
-)
-
-(define-method remove_mnemonic
-  (of-object "GtkWindow")
-  (c-name "gtk_window_remove_mnemonic")
-  (return-type "none")
-  (parameters
-    '("guint" "keyval")
-    '("GtkWidget*" "target")
-  )
-)
-
-(define-method mnemonic_activate
-  (of-object "GtkWindow")
-  (c-name "gtk_window_mnemonic_activate")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "keyval")
-    '("GdkModifierType" "modifier")
-  )
-)
-
-(define-method set_mnemonic_modifier
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_mnemonic_modifier")
-  (return-type "none")
-  (parameters
-    '("GdkModifierType" "modifier")
-  )
-)
-
-(define-method get_mnemonic_modifier
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_mnemonic_modifier")
-  (return-type "GdkModifierType")
-)
-
-(define-method activate_key
-  (of-object "GtkWindow")
-  (c-name "gtk_window_activate_key")
-  (return-type "gboolean")
-  (parameters
-    '("GdkEvent*" "event")
-  )
-)
-
-(define-method propagate_key_event
-  (of-object "GtkWindow")
-  (c-name "gtk_window_propagate_key_event")
-  (return-type "gboolean")
-  (parameters
-    '("GdkEvent*" "event")
-  )
-)
-
 (define-method present
   (of-object "GtkWindow")
   (c-name "gtk_window_present")
@@ -29459,11 +29283,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_accel_flags_get_type
-  (c-name "gtk_accel_flags_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_application_inhibit_flags_get_type
   (c-name "gtk_application_inhibit_flags_get_type")
   (return-type "GType")
@@ -29739,6 +29558,11 @@
   (return-type "GType")
 )
 
+(define-function gtk_shortcut_scope_get_type
+  (c-name "gtk_shortcut_scope_get_type")
+  (return-type "GType")
+)
+
 (define-function gtk_popover_constraint_get_type
   (c-name "gtk_popover_constraint_get_type")
   (return-type "GType")
@@ -29879,6 +29703,11 @@
   (return-type "GType")
 )
 
+(define-function gtk_shortcut_action_flags_get_type
+  (c-name "gtk_shortcut_action_flags_get_type")
+  (return-type "GType")
+)
+
 (define-function gtk_shortcut_type_get_type
   (c-name "gtk_shortcut_type_get_type")
   (return-type "GType")
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index db1c609c..c85a0872 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -165,72 +165,8 @@
   (default-value "GTK_LICENSE_UNKNOWN")
 )
 
-;; From GtkAccelGroup
-
-(define-signal accel-activate
-  (of-object "GtkAccelGroup")
-  (return-type "gboolean")
-  (flags "")
-  (detailed #t)
-  (parameters
-    '("GObject*" "p0")
-    '("guint" "p1")
-    '("GdkModifierType" "p2")
-  )
-)
-
-(define-signal accel-changed
-  (of-object "GtkAccelGroup")
-  (return-type "void")
-  (flags "Run First")
-  (detailed #t)
-  (parameters
-    '("guint" "p0")
-    '("GdkModifierType" "p1")
-    '("GClosure*" "p2")
-  )
-)
-
-(define-property is-locked
-  (of-object "GtkAccelGroup")
-  (prop-type "GParamBoolean")
-  (docs "Is the accel group locked")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property modifier-mask
-  (of-object "GtkAccelGroup")
-  (prop-type "GParamFlags")
-  (docs "Modifier Mask")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-  (default-value "GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK | GDK_HYPER_MASK | 
GDK_META_MASK")
-)
-
 ;; From GtkAccelLabel
 
-(define-property accel-closure
-  (of-object "GtkAccelLabel")
-  (prop-type "GParamBoxed")
-  (docs "The closure to be monitored for accelerator changes")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
-(define-property accel-widget
-  (of-object "GtkAccelLabel")
-  (prop-type "GParamObject")
-  (docs "The widget to be monitored for accelerator changes")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property label
   (of-object "GtkAccelLabel")
   (prop-type "GParamString")
@@ -741,8 +677,6 @@
   (default-value "FALSE")
 )
 
-;; GtkBorder is neither a GObject nor a GInterface. Not checked for signals and properties.
-
 ;; From GtkBox
 
 (define-property spacing
@@ -3827,20 +3761,18 @@
 
 ;; From GtkEventControllerKey
 
-(define-signal key-pressed
+(define-signal modifiers
   (of-object "GtkEventControllerKey")
   (return-type "gboolean")
   (flags "Run Last")
   (parameters
-    '("guint" "p0")
-    '("guint" "p1")
-    '("GdkModifierType" "p2")
+    '("GdkModifierType" "p0")
   )
 )
 
-(define-signal key-released
+(define-signal key-pressed
   (of-object "GtkEventControllerKey")
-  (return-type "void")
+  (return-type "gboolean")
   (flags "Run Last")
   (parameters
     '("guint" "p0")
@@ -3849,12 +3781,14 @@
   )
 )
 
-(define-signal modifiers
+(define-signal key-released
   (of-object "GtkEventControllerKey")
-  (return-type "gboolean")
+  (return-type "void")
   (flags "Run Last")
   (parameters
-    '("GdkModifierType" "p0")
+    '("guint" "p0")
+    '("guint" "p1")
+    '("GdkModifierType" "p2")
   )
 )
 
@@ -6374,6 +6308,16 @@
   (default-value "")
 )
 
+(define-property use-underline
+  (of-object "GtkMenuButton")
+  (prop-type "GParamBoolean")
+  (docs "If set, an underline in the text indicates the next character should be used for the mnemonic 
accelerator key")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 (define-property relief
   (of-object "GtkMenuButton")
   (prop-type "GParamEnum")
@@ -7125,6 +7069,16 @@
   (default-value "TRUE")
 )
 
+(define-property mnemonics-visible
+  (of-object "GtkPopover")
+  (prop-type "GParamBoolean")
+  (docs "Whether mnemonics are currently visible in this popover")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 ;; From GtkPopoverMenu
 
 (define-property visible-submenu
@@ -7983,15 +7937,6 @@
 
 ;; From GtkRoot
 
-(define-property focus-widget
-  (of-object "GtkRoot")
-  (prop-type "GParamObject")
-  (docs "The focus widget")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 ;; From GtkScale
 
 (define-property digits
@@ -8469,6 +8414,16 @@
   (default-value "TRUE")
 )
 
+(define-property gtk-cursor-aspect-ratio
+  (of-object "GtkSettings")
+  (prop-type "GParamFloat")
+  (docs "The aspect ratio of the text caret")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "0.04")
+)
+
 (define-property gtk-theme-name
   (of-object "GtkSettings")
   (prop-type "GParamString")
@@ -8889,6 +8844,66 @@
   (default-value "TRUE")
 )
 
+;; From GtkShortcut
+
+(define-property action
+  (of-object "GtkShortcut")
+  (prop-type "GParamObject")
+  (docs "The action activated by this shortcut")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property arguments
+  (of-object "GtkShortcut")
+  (prop-type "GParamVariant")
+  (docs "Arguments passed to activation")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property trigger
+  (of-object "GtkShortcut")
+  (prop-type "GParamObject")
+  (docs "The trigger for this shortcut")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GtkShortcutController
+
+(define-property mnemonic-modifiers
+  (of-object "GtkShortcutController")
+  (prop-type "GParamFlags")
+  (docs "The modifiers to be pressed to allow mnemonics activation")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "GDK_ALT_MASK")
+)
+
+(define-property model
+  (of-object "GtkShortcutController")
+  (prop-type "GParamObject")
+  (docs "A list model to take shortcuts from")
+  (readable #f)
+  (writable #t)
+  (construct-only #t)
+)
+
+(define-property scope
+  (of-object "GtkShortcutController")
+  (prop-type "GParamEnum")
+  (docs "What scope the shortcuts will be handled in")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "GTK_SHORTCUT_SCOPE_LOCAL")
+)
+
 ;; From GtkShortcutLabel
 
 (define-property accelerator
@@ -12069,27 +12084,6 @@
   )
 )
 
-(define-signal popup-menu
-  (of-object "GtkWidget")
-  (return-type "gboolean")
-  (flags "Run Last, Action")
-)
-
-(define-signal accel-closures-changed
-  (of-object "GtkWidget")
-  (return-type "void")
-  (flags "")
-)
-
-(define-signal can-activate-accel
-  (of-object "GtkWidget")
-  (return-type "gboolean")
-  (flags "Run Last")
-  (parameters
-    '("guint" "p0")
-  )
-)
-
 (define-property name
   (of-object "GtkWidget")
   (prop-type "GParamString")
@@ -12165,7 +12159,7 @@
   (readable #t)
   (writable #t)
   (construct-only #f)
-  (default-value "FALSE")
+  (default-value "TRUE")
 )
 
 (define-property has-focus
@@ -12173,17 +12167,7 @@
   (prop-type "GParamBoolean")
   (docs "Whether the widget has the input focus")
   (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property is-focus
-  (of-object "GtkWidget")
-  (prop-type "GParamBoolean")
-  (docs "Whether the widget is the focus widget within the toplevel")
-  (readable #t)
-  (writable #t)
+  (writable #f)
   (construct-only #f)
   (default-value "FALSE")
 )
@@ -12438,22 +12422,22 @@
 
 ;; From GtkWindow
 
-(define-signal keys-changed
+(define-signal activate-focus
   (of-object "GtkWindow")
   (return-type "void")
-  (flags "Run First")
+  (flags "Run Last, Action")
 )
 
-(define-signal activate-focus
+(define-signal activate-default
   (of-object "GtkWindow")
   (return-type "void")
   (flags "Run Last, Action")
 )
 
-(define-signal activate-default
+(define-signal keys-changed
   (of-object "GtkWindow")
   (return-type "void")
-  (flags "Run Last, Action")
+  (flags "Run First")
 )
 
 (define-signal enable-debugging
@@ -12607,6 +12591,15 @@
   (construct-only #f)
 )
 
+(define-property focus-widget
+  (of-object "GtkWindow")
+  (prop-type "GParamObject")
+  (docs "The focus widget")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property is-active
   (of-object "GtkWindow")
   (prop-type "GParamBoolean")
diff --git a/tools/extra_defs_gen/generate_defs_gdk.cc b/tools/extra_defs_gen/generate_defs_gdk.cc
index 568131e3..e46abfc6 100644
--- a/tools/extra_defs_gen/generate_defs_gdk.cc
+++ b/tools/extra_defs_gen/generate_defs_gdk.cc
@@ -48,7 +48,6 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GDK_TYPE_DRAG )
             << get_defs( GDK_TYPE_DRAW_CONTEXT )
             << get_defs( GDK_TYPE_DROP )
-            << get_defs( GDK_TYPE_EVENT )
             << get_defs( GDK_TYPE_FRAME_CLOCK )
             << get_defs( GDK_TYPE_MONITOR )
             << get_defs( GDK_TYPE_PAINTABLE )
@@ -56,7 +55,6 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GDK_TYPE_PIXBUF_ANIMATION )
             << get_defs( GDK_TYPE_PIXBUF_LOADER )
             << get_defs( GDK_TYPE_POPUP )
-            << get_defs( GDK_TYPE_RGBA )
             << get_defs( GDK_TYPE_SEAT )
             << get_defs( GDK_TYPE_SURFACE )
             << get_defs( GDK_TYPE_TEXTURE )
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index e2a60d5e..a12f8ac6 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -43,7 +43,6 @@ int main(int /* argc */, char** /* argv */)
   gtk_init();
 
   std::cout << get_defs( GTK_TYPE_ABOUT_DIALOG )
-            << get_defs( GTK_TYPE_ACCEL_GROUP )
             << get_defs( GTK_TYPE_ACCEL_LABEL )
             << get_defs( GTK_TYPE_ACTIONABLE )
             << get_defs( GTK_TYPE_ACTION_BAR )
@@ -57,7 +56,6 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_ASPECT_FRAME )
             << get_defs( GTK_TYPE_ASSISTANT )
             << get_defs( GTK_TYPE_ASSISTANT_PAGE )
-            << get_defs( GTK_TYPE_BORDER )
             << get_defs( GTK_TYPE_BOX )
             << get_defs( GTK_TYPE_BOX_LAYOUT )
             << get_defs( GTK_TYPE_BUILDER )
@@ -194,6 +192,8 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_SELECTION_MODEL )
             << get_defs( GTK_TYPE_SEPARATOR )
             << get_defs( GTK_TYPE_SETTINGS )
+            << get_defs( GTK_TYPE_SHORTCUT )
+            << get_defs( GTK_TYPE_SHORTCUT_CONTROLLER )
             << get_defs( GTK_TYPE_SHORTCUT_LABEL )
             << get_defs( GTK_TYPE_SHORTCUTS_GROUP )
             << get_defs( GTK_TYPE_SHORTCUTS_SECTION )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]