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 Event.requestMotions.

Since GTK 3.8, motion events are already compressed by default, independent of this mechanism. This compression can be disabled with Window.setEventCompression. 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). Event.getEventSequence 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.