GdkEventMask

A set of bit-flags to indicate which events a window is to receive. Most of these masks map onto one or more of the #GdkEventType event types above.

See the [input handling overview][chap-input-handling] for details of [event masks][event-masks] and [event propagation][event-propagation].

%GDK_POINTER_MOTION_HINT_MASK is deprecated. It is a special mask to reduce the number of %GDK_MOTION_NOTIFY events received. When using %GDK_POINTER_MOTION_HINT_MASK, fewer %GDK_MOTION_NOTIFY events will be sent, some of which are marked as a hint (the is_hint member is %TRUE). To receive more motion events after a motion hint event, the application needs to asks for more, by calling gdk_event_request_motions().

Since GTK 3.8, motion events are already compressed by default, independent of this mechanism. This compression can be disabled with gdk_window_set_event_compression(). See the documentation of that function for details.

If %GDK_TOUCH_MASK is enabled, the window will receive touch events from touch-enabled devices. Those will come as sequences of #GdkEventTouch with type %GDK_TOUCH_UPDATE, enclosed by two events with type %GDK_TOUCH_BEGIN and %GDK_TOUCH_END (or %GDK_TOUCH_CANCEL). gdk_event_get_event_sequence() returns the event sequence for these events, so different sequences may be distinguished.

Values

ValueMeaning
EXPOSURE_MASK2

receive expose events

POINTER_MOTION_MASK4

receive all pointer motion events

POINTER_MOTION_HINT_MASK8

deprecated. see the explanation above

BUTTON_MOTION_MASK16

receive pointer motion events while any button is pressed

BUTTON1_MOTION_MASK32

receive pointer motion events while 1 button is pressed

BUTTON2_MOTION_MASK64

receive pointer motion events while 2 button is pressed

BUTTON3_MOTION_MASK128

receive pointer motion events while 3 button is pressed

BUTTON_PRESS_MASK256

receive button press events

BUTTON_RELEASE_MASK512

receive button release events

KEY_PRESS_MASK1024

receive key press events

KEY_RELEASE_MASK2048

receive key release events

ENTER_NOTIFY_MASK4096

receive window enter events

LEAVE_NOTIFY_MASK8192

receive window leave events

FOCUS_CHANGE_MASK16384

receive focus change events

STRUCTURE_MASK32768

receive events about window configuration change

PROPERTY_CHANGE_MASK65536

receive property change events

VISIBILITY_NOTIFY_MASK131072

receive visibility change events

PROXIMITY_IN_MASK262144

receive proximity in events

PROXIMITY_OUT_MASK524288

receive proximity out events

SUBSTRUCTURE_MASK1048576

receive events about window configuration changes of child windows

SCROLL_MASK2097152

receive scroll events

TOUCH_MASK4194304

receive touch events. Since 3.4

SMOOTH_SCROLL_MASK8388608

receive smooth scrolling events. Since 3.4

TOUCHPAD_GESTURE_MASK16777216

receive touchpad gesture events. Since 3.18

TABLET_PAD_MASK33554432

receive tablet pad events. Since 3.22

ALL_EVENTS_MASK67108862

the combination of all the above event masks.

Meta