GdkModifierType

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.

Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped to Mod2 - Mod5, and indicates this by setting gdk.types.ModifierType.SuperMask, gdk.types.ModifierType.HyperMask or gdk.types.ModifierType.MetaMask in the state field of key events.

Note that GDK may add internal values to events which include reserved values such as gdk.types.ModifierType.ModifierReserved13Mask. Your code should preserve and ignore them. You can use gdk.types.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.types.ModifierType.Button4Mask and gdk.types.ModifierType.Button5Mask will never be set.

Values

ValueMeaning
ShiftMask1

the Shift key.

LockMask2

a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock).

ControlMask4

the Control key.

Mod1Mask8

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).

Mod2Mask16

the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

Mod3Mask32

the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

Mod4Mask64

the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

Mod5Mask128

the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

Button1Mask256

the first mouse button.

Button2Mask512

the second mouse button.

Button3Mask1024

the third mouse button.

Button4Mask2048

the fourth mouse button.

Button5Mask4096

the fifth mouse button.

ModifierReserved13Mask8192

A reserved bit flag; do not use in your own code

ModifierReserved14Mask16384

A reserved bit flag; do not use in your own code

ModifierReserved15Mask32768

A reserved bit flag; do not use in your own code

ModifierReserved16Mask65536

A reserved bit flag; do not use in your own code

ModifierReserved17Mask131072

A reserved bit flag; do not use in your own code

ModifierReserved18Mask262144

A reserved bit flag; do not use in your own code

ModifierReserved19Mask524288

A reserved bit flag; do not use in your own code

ModifierReserved20Mask1048576

A reserved bit flag; do not use in your own code

ModifierReserved21Mask2097152

A reserved bit flag; do not use in your own code

ModifierReserved22Mask4194304

A reserved bit flag; do not use in your own code

ModifierReserved23Mask8388608

A reserved bit flag; do not use in your own code

ModifierReserved24Mask16777216

A reserved bit flag; do not use in your own code

ModifierReserved25Mask33554432

A reserved bit flag; do not use in your own code

SuperMask67108864

the Super modifier. Since 2.10

HyperMask134217728

the Hyper modifier. Since 2.10

MetaMask268435456

the Meta modifier. Since 2.10

ModifierReserved29Mask536870912

A reserved bit flag; do not use in your own code

ReleaseMask1073741824

not used in GDK itself. GTK+ uses it to differentiate between (keyval, modifiers) pairs from key press and release events.

ModifierMask1543512063

a mask covering all modifier types.