diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c index 4cf9b34ab0..bfba43c031 100644 --- a/app/widgets/gimpwidgets-utils.c +++ b/app/widgets/gimpwidgets-utils.c @@ -679,6 +679,34 @@ gimp_replace_virtual_modifiers (GdkModifierType modifiers) return result; } +GdkModifierType +gimp_get_extend_selection_mask (void) +{ + GdkDisplay *display = gdk_display_get_default (); + + return gdk_keymap_get_modifier_mask (gdk_keymap_get_for_display (display), + GDK_MODIFIER_INTENT_EXTEND_SELECTION); +} + +GdkModifierType +gimp_get_modify_selection_mask (void) +{ + GdkDisplay *display = gdk_display_get_default (); + + return gdk_keymap_get_modifier_mask (gdk_keymap_get_for_display (display), + GDK_MODIFIER_INTENT_MODIFY_SELECTION); +} + +GdkModifierType +gimp_get_toggle_behavior_mask (void) +{ + GdkDisplay *display = gdk_display_get_default (); + + /* use the modify selection modifier */ + return gdk_keymap_get_modifier_mask (gdk_keymap_get_for_display (display), + GDK_MODIFIER_INTENT_MODIFY_SELECTION); +} + /** * gimp_get_screen_resolution: * @screen: a #GdkScreen or %NULL diff --git a/app/widgets/gimpwidgets-utils.h b/app/widgets/gimpwidgets-utils.h index 7a64523a2b..fb81c2707a 100644 --- a/app/widgets/gimpwidgets-utils.h +++ b/app/widgets/gimpwidgets-utils.h @@ -61,6 +61,9 @@ gchar * gimp_suggest_modifiers (const gchar *messag GimpChannelOps gimp_modifiers_to_channel_op (GtkWidget *widget, GdkModifierType modifiers); GdkModifierType gimp_replace_virtual_modifiers (GdkModifierType modifiers); +GdkModifierType gimp_get_extend_selection_mask (void); +GdkModifierType gimp_get_modify_selection_mask (void); +GdkModifierType gimp_get_toggle_behavior_mask (void); void gimp_get_screen_resolution (GdkScreen *screen, gdouble *xres,