// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT

#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(
    clippy::approx_constant,
    clippy::type_complexity,
    clippy::unreadable_literal
)]

extern crate cairo_sys as cairo;
extern crate gdk_pixbuf_sys as gdk_pixbuf;
extern crate gio_sys as gio;
extern crate glib_sys as glib;
extern crate gobject_sys as gobject;
extern crate libc;
extern crate pango_sys as pango;

#[allow(unused_imports)]
use libc::{
    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
    intptr_t, size_t, ssize_t, time_t, uintptr_t, FILE,
};

#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};

// Aliases
pub type GdkXEvent = c_void;

// Enums
pub type GdkAxisUse = c_int;
pub const GDK_AXIS_IGNORE: GdkAxisUse = 0;
pub const GDK_AXIS_X: GdkAxisUse = 1;
pub const GDK_AXIS_Y: GdkAxisUse = 2;
pub const GDK_AXIS_PRESSURE: GdkAxisUse = 3;
pub const GDK_AXIS_XTILT: GdkAxisUse = 4;
pub const GDK_AXIS_YTILT: GdkAxisUse = 5;
pub const GDK_AXIS_WHEEL: GdkAxisUse = 6;
pub const GDK_AXIS_DISTANCE: GdkAxisUse = 7;
pub const GDK_AXIS_ROTATION: GdkAxisUse = 8;
pub const GDK_AXIS_SLIDER: GdkAxisUse = 9;
pub const GDK_AXIS_LAST: GdkAxisUse = 10;

pub type GdkByteOrder = c_int;
pub const GDK_LSB_FIRST: GdkByteOrder = 0;
pub const GDK_MSB_FIRST: GdkByteOrder = 1;

pub type GdkCrossingMode = c_int;
pub const GDK_CROSSING_NORMAL: GdkCrossingMode = 0;
pub const GDK_CROSSING_GRAB: GdkCrossingMode = 1;
pub const GDK_CROSSING_UNGRAB: GdkCrossingMode = 2;
pub const GDK_CROSSING_GTK_GRAB: GdkCrossingMode = 3;
pub const GDK_CROSSING_GTK_UNGRAB: GdkCrossingMode = 4;
pub const GDK_CROSSING_STATE_CHANGED: GdkCrossingMode = 5;
pub const GDK_CROSSING_TOUCH_BEGIN: GdkCrossingMode = 6;
pub const GDK_CROSSING_TOUCH_END: GdkCrossingMode = 7;
pub const GDK_CROSSING_DEVICE_SWITCH: GdkCrossingMode = 8;

pub type GdkCursorType = c_int;
pub const GDK_X_CURSOR: GdkCursorType = 0;
pub const GDK_ARROW: GdkCursorType = 2;
pub const GDK_BASED_ARROW_DOWN: GdkCursorType = 4;
pub const GDK_BASED_ARROW_UP: GdkCursorType = 6;
pub const GDK_BOAT: GdkCursorType = 8;
pub const GDK_BOGOSITY: GdkCursorType = 10;
pub const GDK_BOTTOM_LEFT_CORNER: GdkCursorType = 12;
pub const GDK_BOTTOM_RIGHT_CORNER: GdkCursorType = 14;
pub const GDK_BOTTOM_SIDE: GdkCursorType = 16;
pub const GDK_BOTTOM_TEE: GdkCursorType = 18;
pub const GDK_BOX_SPIRAL: GdkCursorType = 20;
pub const GDK_CENTER_PTR: GdkCursorType = 22;
pub const GDK_CIRCLE: GdkCursorType = 24;
pub const GDK_CLOCK: GdkCursorType = 26;
pub const GDK_COFFEE_MUG: GdkCursorType = 28;
pub const GDK_CROSS: GdkCursorType = 30;
pub const GDK_CROSS_REVERSE: GdkCursorType = 32;
pub const GDK_CROSSHAIR: GdkCursorType = 34;
pub const GDK_DIAMOND_CROSS: GdkCursorType = 36;
pub const GDK_DOT: GdkCursorType = 38;
pub const GDK_DOTBOX: GdkCursorType = 40;
pub const GDK_DOUBLE_ARROW: GdkCursorType = 42;
pub const GDK_DRAFT_LARGE: GdkCursorType = 44;
pub const GDK_DRAFT_SMALL: GdkCursorType = 46;
pub const GDK_DRAPED_BOX: GdkCursorType = 48;
pub const GDK_EXCHANGE: GdkCursorType = 50;
pub const GDK_FLEUR: GdkCursorType = 52;
pub const GDK_GOBBLER: GdkCursorType = 54;
pub const GDK_GUMBY: GdkCursorType = 56;
pub const GDK_HAND1: GdkCursorType = 58;
pub const GDK_HAND2: GdkCursorType = 60;
pub const GDK_HEART: GdkCursorType = 62;
pub const GDK_ICON: GdkCursorType = 64;
pub const GDK_IRON_CROSS: GdkCursorType = 66;
pub const GDK_LEFT_PTR: GdkCursorType = 68;
pub const GDK_LEFT_SIDE: GdkCursorType = 70;
pub const GDK_LEFT_TEE: GdkCursorType = 72;
pub const GDK_LEFTBUTTON: GdkCursorType = 74;
pub const GDK_LL_ANGLE: GdkCursorType = 76;
pub const GDK_LR_ANGLE: GdkCursorType = 78;
pub const GDK_MAN: GdkCursorType = 80;
pub const GDK_MIDDLEBUTTON: GdkCursorType = 82;
pub const GDK_MOUSE: GdkCursorType = 84;
pub const GDK_PENCIL: GdkCursorType = 86;
pub const GDK_PIRATE: GdkCursorType = 88;
pub const GDK_PLUS: GdkCursorType = 90;
pub const GDK_QUESTION_ARROW: GdkCursorType = 92;
pub const GDK_RIGHT_PTR: GdkCursorType = 94;
pub const GDK_RIGHT_SIDE: GdkCursorType = 96;
pub const GDK_RIGHT_TEE: GdkCursorType = 98;
pub const GDK_RIGHTBUTTON: GdkCursorType = 100;
pub const GDK_RTL_LOGO: GdkCursorType = 102;
pub const GDK_SAILBOAT: GdkCursorType = 104;
pub const GDK_SB_DOWN_ARROW: GdkCursorType = 106;
pub const GDK_SB_H_DOUBLE_ARROW: GdkCursorType = 108;
pub const GDK_SB_LEFT_ARROW: GdkCursorType = 110;
pub const GDK_SB_RIGHT_ARROW: GdkCursorType = 112;
pub const GDK_SB_UP_ARROW: GdkCursorType = 114;
pub const GDK_SB_V_DOUBLE_ARROW: GdkCursorType = 116;
pub const GDK_SHUTTLE: GdkCursorType = 118;
pub const GDK_SIZING: GdkCursorType = 120;
pub const GDK_SPIDER: GdkCursorType = 122;
pub const GDK_SPRAYCAN: GdkCursorType = 124;
pub const GDK_STAR: GdkCursorType = 126;
pub const GDK_TARGET: GdkCursorType = 128;
pub const GDK_TCROSS: GdkCursorType = 130;
pub const GDK_TOP_LEFT_ARROW: GdkCursorType = 132;
pub const GDK_TOP_LEFT_CORNER: GdkCursorType = 134;
pub const GDK_TOP_RIGHT_CORNER: GdkCursorType = 136;
pub const GDK_TOP_SIDE: GdkCursorType = 138;
pub const GDK_TOP_TEE: GdkCursorType = 140;
pub const GDK_TREK: GdkCursorType = 142;
pub const GDK_UL_ANGLE: GdkCursorType = 144;
pub const GDK_UMBRELLA: GdkCursorType = 146;
pub const GDK_UR_ANGLE: GdkCursorType = 148;
pub const GDK_WATCH: GdkCursorType = 150;
pub const GDK_XTERM: GdkCursorType = 152;
pub const GDK_LAST_CURSOR: GdkCursorType = 153;
pub const GDK_BLANK_CURSOR: GdkCursorType = -2;
pub const GDK_CURSOR_IS_PIXMAP: GdkCursorType = -1;

pub type GdkDevicePadFeature = c_int;
pub const GDK_DEVICE_PAD_FEATURE_BUTTON: GdkDevicePadFeature = 0;
pub const GDK_DEVICE_PAD_FEATURE_RING: GdkDevicePadFeature = 1;
pub const GDK_DEVICE_PAD_FEATURE_STRIP: GdkDevicePadFeature = 2;

pub type GdkDeviceToolType = c_int;
pub const GDK_DEVICE_TOOL_TYPE_UNKNOWN: GdkDeviceToolType = 0;
pub const GDK_DEVICE_TOOL_TYPE_PEN: GdkDeviceToolType = 1;
pub const GDK_DEVICE_TOOL_TYPE_ERASER: GdkDeviceToolType = 2;
pub const GDK_DEVICE_TOOL_TYPE_BRUSH: GdkDeviceToolType = 3;
pub const GDK_DEVICE_TOOL_TYPE_PENCIL: GdkDeviceToolType = 4;
pub const GDK_DEVICE_TOOL_TYPE_AIRBRUSH: GdkDeviceToolType = 5;
pub const GDK_DEVICE_TOOL_TYPE_MOUSE: GdkDeviceToolType = 6;
pub const GDK_DEVICE_TOOL_TYPE_LENS: GdkDeviceToolType = 7;

pub type GdkDeviceType = c_int;
pub const GDK_DEVICE_TYPE_MASTER: GdkDeviceType = 0;
pub const GDK_DEVICE_TYPE_SLAVE: GdkDeviceType = 1;
pub const GDK_DEVICE_TYPE_FLOATING: GdkDeviceType = 2;

pub type GdkDragCancelReason = c_int;
pub const GDK_DRAG_CANCEL_NO_TARGET: GdkDragCancelReason = 0;
pub const GDK_DRAG_CANCEL_USER_CANCELLED: GdkDragCancelReason = 1;
pub const GDK_DRAG_CANCEL_ERROR: GdkDragCancelReason = 2;

pub type GdkDragProtocol = c_int;
pub const GDK_DRAG_PROTO_NONE: GdkDragProtocol = 0;
pub const GDK_DRAG_PROTO_MOTIF: GdkDragProtocol = 1;
pub const GDK_DRAG_PROTO_XDND: GdkDragProtocol = 2;
pub const GDK_DRAG_PROTO_ROOTWIN: GdkDragProtocol = 3;
pub const GDK_DRAG_PROTO_WIN32_DROPFILES: GdkDragProtocol = 4;
pub const GDK_DRAG_PROTO_OLE2: GdkDragProtocol = 5;
pub const GDK_DRAG_PROTO_LOCAL: GdkDragProtocol = 6;
pub const GDK_DRAG_PROTO_WAYLAND: GdkDragProtocol = 7;

pub type GdkEventType = c_int;
pub const GDK_NOTHING: GdkEventType = -1;
pub const GDK_DELETE: GdkEventType = 0;
pub const GDK_DESTROY: GdkEventType = 1;
pub const GDK_EXPOSE: GdkEventType = 2;
pub const GDK_MOTION_NOTIFY: GdkEventType = 3;
pub const GDK_BUTTON_PRESS: GdkEventType = 4;
pub const GDK_DOUBLE_BUTTON_PRESS: GdkEventType = 5;
pub const GDK_TRIPLE_BUTTON_PRESS: GdkEventType = 6;
pub const GDK_BUTTON_RELEASE: GdkEventType = 7;
pub const GDK_KEY_PRESS: GdkEventType = 8;
pub const GDK_KEY_RELEASE: GdkEventType = 9;
pub const GDK_ENTER_NOTIFY: GdkEventType = 10;
pub const GDK_LEAVE_NOTIFY: GdkEventType = 11;
pub const GDK_FOCUS_CHANGE: GdkEventType = 12;
pub const GDK_CONFIGURE: GdkEventType = 13;
pub const GDK_MAP: GdkEventType = 14;
pub const GDK_UNMAP: GdkEventType = 15;
pub const GDK_PROPERTY_NOTIFY: GdkEventType = 16;
pub const GDK_SELECTION_CLEAR: GdkEventType = 17;
pub const GDK_SELECTION_REQUEST: GdkEventType = 18;
pub const GDK_SELECTION_NOTIFY: GdkEventType = 19;
pub const GDK_PROXIMITY_IN: GdkEventType = 20;
pub const GDK_PROXIMITY_OUT: GdkEventType = 21;
pub const GDK_DRAG_ENTER: GdkEventType = 22;
pub const GDK_DRAG_LEAVE: GdkEventType = 23;
pub const GDK_DRAG_MOTION: GdkEventType = 24;
pub const GDK_DRAG_STATUS: GdkEventType = 25;
pub const GDK_DROP_START: GdkEventType = 26;
pub const GDK_DROP_FINISHED: GdkEventType = 27;
pub const GDK_CLIENT_EVENT: GdkEventType = 28;
pub const GDK_VISIBILITY_NOTIFY: GdkEventType = 29;
pub const GDK_SCROLL: GdkEventType = 31;
pub const GDK_WINDOW_STATE: GdkEventType = 32;
pub const GDK_SETTING: GdkEventType = 33;
pub const GDK_OWNER_CHANGE: GdkEventType = 34;
pub const GDK_GRAB_BROKEN: GdkEventType = 35;
pub const GDK_DAMAGE: GdkEventType = 36;
pub const GDK_TOUCH_BEGIN: GdkEventType = 37;
pub const GDK_TOUCH_UPDATE: GdkEventType = 38;
pub const GDK_TOUCH_END: GdkEventType = 39;
pub const GDK_TOUCH_CANCEL: GdkEventType = 40;
#[cfg(any(feature = "v3_18", feature = "dox"))]
pub const GDK_TOUCHPAD_SWIPE: GdkEventType = 41;
#[cfg(any(feature = "v3_18", feature = "dox"))]
pub const GDK_TOUCHPAD_PINCH: GdkEventType = 42;
pub const GDK_PAD_BUTTON_PRESS: GdkEventType = 43;
pub const GDK_PAD_BUTTON_RELEASE: GdkEventType = 44;
pub const GDK_PAD_RING: GdkEventType = 45;
pub const GDK_PAD_STRIP: GdkEventType = 46;
pub const GDK_PAD_GROUP_MODE: GdkEventType = 47;

pub type GdkFilterReturn = c_int;
pub const GDK_FILTER_CONTINUE: GdkFilterReturn = 0;
pub const GDK_FILTER_TRANSLATE: GdkFilterReturn = 1;
pub const GDK_FILTER_REMOVE: GdkFilterReturn = 2;

pub type GdkFullscreenMode = c_int;
pub const GDK_FULLSCREEN_ON_CURRENT_MONITOR: GdkFullscreenMode = 0;
pub const GDK_FULLSCREEN_ON_ALL_MONITORS: GdkFullscreenMode = 1;

pub type GdkGLError = c_int;
pub const GDK_GL_ERROR_NOT_AVAILABLE: GdkGLError = 0;
pub const GDK_GL_ERROR_UNSUPPORTED_FORMAT: GdkGLError = 1;
pub const GDK_GL_ERROR_UNSUPPORTED_PROFILE: GdkGLError = 2;

pub type GdkGrabOwnership = c_int;
pub const GDK_OWNERSHIP_NONE: GdkGrabOwnership = 0;
pub const GDK_OWNERSHIP_WINDOW: GdkGrabOwnership = 1;
pub const GDK_OWNERSHIP_APPLICATION: GdkGrabOwnership = 2;

pub type GdkGrabStatus = c_int;
pub const GDK_GRAB_SUCCESS: GdkGrabStatus = 0;
pub const GDK_GRAB_ALREADY_GRABBED: GdkGrabStatus = 1;
pub const GDK_GRAB_INVALID_TIME: GdkGrabStatus = 2;
pub const GDK_GRAB_NOT_VIEWABLE: GdkGrabStatus = 3;
pub const GDK_GRAB_FROZEN: GdkGrabStatus = 4;
pub const GDK_GRAB_FAILED: GdkGrabStatus = 5;

pub type GdkGravity = c_int;
pub const GDK_GRAVITY_NORTH_WEST: GdkGravity = 1;
pub const GDK_GRAVITY_NORTH: GdkGravity = 2;
pub const GDK_GRAVITY_NORTH_EAST: GdkGravity = 3;
pub const GDK_GRAVITY_WEST: GdkGravity = 4;
pub const GDK_GRAVITY_CENTER: GdkGravity = 5;
pub const GDK_GRAVITY_EAST: GdkGravity = 6;
pub const GDK_GRAVITY_SOUTH_WEST: GdkGravity = 7;
pub const GDK_GRAVITY_SOUTH: GdkGravity = 8;
pub const GDK_GRAVITY_SOUTH_EAST: GdkGravity = 9;
pub const GDK_GRAVITY_STATIC: GdkGravity = 10;

pub type GdkInputMode = c_int;
pub const GDK_MODE_DISABLED: GdkInputMode = 0;
pub const GDK_MODE_SCREEN: GdkInputMode = 1;
pub const GDK_MODE_WINDOW: GdkInputMode = 2;

pub type GdkInputSource = c_int;
pub const GDK_SOURCE_MOUSE: GdkInputSource = 0;
pub const GDK_SOURCE_PEN: GdkInputSource = 1;
pub const GDK_SOURCE_ERASER: GdkInputSource = 2;
pub const GDK_SOURCE_CURSOR: GdkInputSource = 3;
pub const GDK_SOURCE_KEYBOARD: GdkInputSource = 4;
pub const GDK_SOURCE_TOUCHSCREEN: GdkInputSource = 5;
pub const GDK_SOURCE_TOUCHPAD: GdkInputSource = 6;
pub const GDK_SOURCE_TRACKPOINT: GdkInputSource = 7;
pub const GDK_SOURCE_TABLET_PAD: GdkInputSource = 8;

pub type GdkModifierIntent = c_int;
pub const GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR: GdkModifierIntent = 0;
pub const GDK_MODIFIER_INTENT_CONTEXT_MENU: GdkModifierIntent = 1;
pub const GDK_MODIFIER_INTENT_EXTEND_SELECTION: GdkModifierIntent = 2;
pub const GDK_MODIFIER_INTENT_MODIFY_SELECTION: GdkModifierIntent = 3;
pub const GDK_MODIFIER_INTENT_NO_TEXT_INPUT: GdkModifierIntent = 4;
pub const GDK_MODIFIER_INTENT_SHIFT_GROUP: GdkModifierIntent = 5;
pub const GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK: GdkModifierIntent = 6;

pub type GdkNotifyType = c_int;
pub const GDK_NOTIFY_ANCESTOR: GdkNotifyType = 0;
pub const GDK_NOTIFY_VIRTUAL: GdkNotifyType = 1;
pub const GDK_NOTIFY_INFERIOR: GdkNotifyType = 2;
pub const GDK_NOTIFY_NONLINEAR: GdkNotifyType = 3;
pub const GDK_NOTIFY_NONLINEAR_VIRTUAL: GdkNotifyType = 4;
pub const GDK_NOTIFY_UNKNOWN: GdkNotifyType = 5;

pub type GdkOwnerChange = c_int;
pub const GDK_OWNER_CHANGE_NEW_OWNER: GdkOwnerChange = 0;
pub const GDK_OWNER_CHANGE_DESTROY: GdkOwnerChange = 1;
pub const GDK_OWNER_CHANGE_CLOSE: GdkOwnerChange = 2;

pub type GdkPropMode = c_int;
pub const GDK_PROP_MODE_REPLACE: GdkPropMode = 0;
pub const GDK_PROP_MODE_PREPEND: GdkPropMode = 1;
pub const GDK_PROP_MODE_APPEND: GdkPropMode = 2;

pub type GdkPropertyState = c_int;
pub const GDK_PROPERTY_NEW_VALUE: GdkPropertyState = 0;
pub const GDK_PROPERTY_DELETE: GdkPropertyState = 1;

pub type GdkScrollDirection = c_int;
pub const GDK_SCROLL_UP: GdkScrollDirection = 0;
pub const GDK_SCROLL_DOWN: GdkScrollDirection = 1;
pub const GDK_SCROLL_LEFT: GdkScrollDirection = 2;
pub const GDK_SCROLL_RIGHT: GdkScrollDirection = 3;
pub const GDK_SCROLL_SMOOTH: GdkScrollDirection = 4;

pub type GdkSettingAction = c_int;
pub const GDK_SETTING_ACTION_NEW: GdkSettingAction = 0;
pub const GDK_SETTING_ACTION_CHANGED: GdkSettingAction = 1;
pub const GDK_SETTING_ACTION_DELETED: GdkSettingAction = 2;

pub type GdkStatus = c_int;
pub const GDK_OK: GdkStatus = 0;
pub const GDK_ERROR: GdkStatus = -1;
pub const GDK_ERROR_PARAM: GdkStatus = -2;
pub const GDK_ERROR_FILE: GdkStatus = -3;
pub const GDK_ERROR_MEM: GdkStatus = -4;

pub type GdkSubpixelLayout = c_int;
pub const GDK_SUBPIXEL_LAYOUT_UNKNOWN: GdkSubpixelLayout = 0;
pub const GDK_SUBPIXEL_LAYOUT_NONE: GdkSubpixelLayout = 1;
pub const GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB: GdkSubpixelLayout = 2;
pub const GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR: GdkSubpixelLayout = 3;
pub const GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB: GdkSubpixelLayout = 4;
pub const GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR: GdkSubpixelLayout = 5;

pub type GdkTouchpadGesturePhase = c_int;
pub const GDK_TOUCHPAD_GESTURE_PHASE_BEGIN: GdkTouchpadGesturePhase = 0;
pub const GDK_TOUCHPAD_GESTURE_PHASE_UPDATE: GdkTouchpadGesturePhase = 1;
pub const GDK_TOUCHPAD_GESTURE_PHASE_END: GdkTouchpadGesturePhase = 2;
pub const GDK_TOUCHPAD_GESTURE_PHASE_CANCEL: GdkTouchpadGesturePhase = 3;

pub type GdkVisibilityState = c_int;
pub const GDK_VISIBILITY_UNOBSCURED: GdkVisibilityState = 0;
pub const GDK_VISIBILITY_PARTIAL: GdkVisibilityState = 1;
pub const GDK_VISIBILITY_FULLY_OBSCURED: GdkVisibilityState = 2;

pub type GdkVisualType = c_int;
pub const GDK_VISUAL_STATIC_GRAY: GdkVisualType = 0;
pub const GDK_VISUAL_GRAYSCALE: GdkVisualType = 1;
pub const GDK_VISUAL_STATIC_COLOR: GdkVisualType = 2;
pub const GDK_VISUAL_PSEUDO_COLOR: GdkVisualType = 3;
pub const GDK_VISUAL_TRUE_COLOR: GdkVisualType = 4;
pub const GDK_VISUAL_DIRECT_COLOR: GdkVisualType = 5;

pub type GdkWindowEdge = c_int;
pub const GDK_WINDOW_EDGE_NORTH_WEST: GdkWindowEdge = 0;
pub const GDK_WINDOW_EDGE_NORTH: GdkWindowEdge = 1;
pub const GDK_WINDOW_EDGE_NORTH_EAST: GdkWindowEdge = 2;
pub const GDK_WINDOW_EDGE_WEST: GdkWindowEdge = 3;
pub const GDK_WINDOW_EDGE_EAST: GdkWindowEdge = 4;
pub const GDK_WINDOW_EDGE_SOUTH_WEST: GdkWindowEdge = 5;
pub const GDK_WINDOW_EDGE_SOUTH: GdkWindowEdge = 6;
pub const GDK_WINDOW_EDGE_SOUTH_EAST: GdkWindowEdge = 7;

pub type GdkWindowType = c_int;
pub const GDK_WINDOW_ROOT: GdkWindowType = 0;
pub const GDK_WINDOW_TOPLEVEL: GdkWindowType = 1;
pub const GDK_WINDOW_CHILD: GdkWindowType = 2;
pub const GDK_WINDOW_TEMP: GdkWindowType = 3;
pub const GDK_WINDOW_FOREIGN: GdkWindowType = 4;
pub const GDK_WINDOW_OFFSCREEN: GdkWindowType = 5;
pub const GDK_WINDOW_SUBSURFACE: GdkWindowType = 6;

pub type GdkWindowTypeHint = c_int;
pub const GDK_WINDOW_TYPE_HINT_NORMAL: GdkWindowTypeHint = 0;
pub const GDK_WINDOW_TYPE_HINT_DIALOG: GdkWindowTypeHint = 1;
pub const GDK_WINDOW_TYPE_HINT_MENU: GdkWindowTypeHint = 2;
pub const GDK_WINDOW_TYPE_HINT_TOOLBAR: GdkWindowTypeHint = 3;
pub const GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: GdkWindowTypeHint = 4;
pub const GDK_WINDOW_TYPE_HINT_UTILITY: GdkWindowTypeHint = 5;
pub const GDK_WINDOW_TYPE_HINT_DOCK: GdkWindowTypeHint = 6;
pub const GDK_WINDOW_TYPE_HINT_DESKTOP: GdkWindowTypeHint = 7;
pub const GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU: GdkWindowTypeHint = 8;
pub const GDK_WINDOW_TYPE_HINT_POPUP_MENU: GdkWindowTypeHint = 9;
pub const GDK_WINDOW_TYPE_HINT_TOOLTIP: GdkWindowTypeHint = 10;
pub const GDK_WINDOW_TYPE_HINT_NOTIFICATION: GdkWindowTypeHint = 11;
pub const GDK_WINDOW_TYPE_HINT_COMBO: GdkWindowTypeHint = 12;
pub const GDK_WINDOW_TYPE_HINT_DND: GdkWindowTypeHint = 13;

pub type GdkWindowWindowClass = c_int;
pub const GDK_INPUT_OUTPUT: GdkWindowWindowClass = 0;
pub const GDK_INPUT_ONLY: GdkWindowWindowClass = 1;

// Constants
pub const GDK_BUTTON_MIDDLE: c_int = 2;
pub const GDK_BUTTON_PRIMARY: c_int = 1;
pub const GDK_BUTTON_SECONDARY: c_int = 3;
pub const GDK_CURRENT_TIME: c_int = 0;
pub const GDK_EVENT_PROPAGATE: gboolean = glib::GFALSE;
pub const GDK_EVENT_STOP: gboolean = glib::GTRUE;
pub const GDK_KEY_0: c_int = 48;
pub const GDK_KEY_1: c_int = 49;
pub const GDK_KEY_2: c_int = 50;
pub const GDK_KEY_3: c_int = 51;
pub const GDK_KEY_3270_AltCursor: c_int = 64784;
pub const GDK_KEY_3270_Attn: c_int = 64782;
pub const GDK_KEY_3270_BackTab: c_int = 64773;
pub const GDK_KEY_3270_ChangeScreen: c_int = 64793;
pub const GDK_KEY_3270_Copy: c_int = 64789;
pub const GDK_KEY_3270_CursorBlink: c_int = 64783;
pub const GDK_KEY_3270_CursorSelect: c_int = 64796;
pub const GDK_KEY_3270_DeleteWord: c_int = 64794;
pub const GDK_KEY_3270_Duplicate: c_int = 64769;
pub const GDK_KEY_3270_Enter: c_int = 64798;
pub const GDK_KEY_3270_EraseEOF: c_int = 64774;
pub const GDK_KEY_3270_EraseInput: c_int = 64775;
pub const GDK_KEY_3270_ExSelect: c_int = 64795;
pub const GDK_KEY_3270_FieldMark: c_int = 64770;
pub const GDK_KEY_3270_Ident: c_int = 64787;
pub const GDK_KEY_3270_Jump: c_int = 64786;
pub const GDK_KEY_3270_KeyClick: c_int = 64785;
pub const GDK_KEY_3270_Left2: c_int = 64772;
pub const GDK_KEY_3270_PA1: c_int = 64778;
pub const GDK_KEY_3270_PA2: c_int = 64779;
pub const GDK_KEY_3270_PA3: c_int = 64780;
pub const GDK_KEY_3270_Play: c_int = 64790;
pub const GDK_KEY_3270_PrintScreen: c_int = 64797;
pub const GDK_KEY_3270_Quit: c_int = 64777;
pub const GDK_KEY_3270_Record: c_int = 64792;
pub const GDK_KEY_3270_Reset: c_int = 64776;
pub const GDK_KEY_3270_Right2: c_int = 64771;
pub const GDK_KEY_3270_Rule: c_int = 64788;
pub const GDK_KEY_3270_Setup: c_int = 64791;
pub const GDK_KEY_3270_Test: c_int = 64781;
pub const GDK_KEY_4: c_int = 52;
pub const GDK_KEY_5: c_int = 53;
pub const GDK_KEY_6: c_int = 54;
pub const GDK_KEY_7: c_int = 55;
pub const GDK_KEY_8: c_int = 56;
pub const GDK_KEY_9: c_int = 57;
pub const GDK_KEY_A: c_int = 65;
pub const GDK_KEY_AE: c_int = 198;
pub const GDK_KEY_Aacute: c_int = 193;
pub const GDK_KEY_Abelowdot: c_int = 16785056;
pub const GDK_KEY_Abreve: c_int = 451;
pub const GDK_KEY_Abreveacute: c_int = 16785070;
pub const GDK_KEY_Abrevebelowdot: c_int = 16785078;
pub const GDK_KEY_Abrevegrave: c_int = 16785072;
pub const GDK_KEY_Abrevehook: c_int = 16785074;
pub const GDK_KEY_Abrevetilde: c_int = 16785076;
pub const GDK_KEY_AccessX_Enable: c_int = 65136;
pub const GDK_KEY_AccessX_Feedback_Enable: c_int = 65137;
pub const GDK_KEY_Acircumflex: c_int = 194;
pub const GDK_KEY_Acircumflexacute: c_int = 16785060;
pub const GDK_KEY_Acircumflexbelowdot: c_int = 16785068;
pub const GDK_KEY_Acircumflexgrave: c_int = 16785062;
pub const GDK_KEY_Acircumflexhook: c_int = 16785064;
pub const GDK_KEY_Acircumflextilde: c_int = 16785066;
pub const GDK_KEY_AddFavorite: c_int = 269025081;
pub const GDK_KEY_Adiaeresis: c_int = 196;
pub const GDK_KEY_Agrave: c_int = 192;
pub const GDK_KEY_Ahook: c_int = 16785058;
pub const GDK_KEY_Alt_L: c_int = 65513;
pub const GDK_KEY_Alt_R: c_int = 65514;
pub const GDK_KEY_Amacron: c_int = 960;
pub const GDK_KEY_Aogonek: c_int = 417;
pub const GDK_KEY_ApplicationLeft: c_int = 269025104;
pub const GDK_KEY_ApplicationRight: c_int = 269025105;
pub const GDK_KEY_Arabic_0: c_int = 16778848;
pub const GDK_KEY_Arabic_1: c_int = 16778849;
pub const GDK_KEY_Arabic_2: c_int = 16778850;
pub const GDK_KEY_Arabic_3: c_int = 16778851;
pub const GDK_KEY_Arabic_4: c_int = 16778852;
pub const GDK_KEY_Arabic_5: c_int = 16778853;
pub const GDK_KEY_Arabic_6: c_int = 16778854;
pub const GDK_KEY_Arabic_7: c_int = 16778855;
pub const GDK_KEY_Arabic_8: c_int = 16778856;
pub const GDK_KEY_Arabic_9: c_int = 16778857;
pub const GDK_KEY_Arabic_ain: c_int = 1497;
pub const GDK_KEY_Arabic_alef: c_int = 1479;
pub const GDK_KEY_Arabic_alefmaksura: c_int = 1513;
pub const GDK_KEY_Arabic_beh: c_int = 1480;
pub const GDK_KEY_Arabic_comma: c_int = 1452;
pub const GDK_KEY_Arabic_dad: c_int = 1494;
pub const GDK_KEY_Arabic_dal: c_int = 1487;
pub const GDK_KEY_Arabic_damma: c_int = 1519;
pub const GDK_KEY_Arabic_dammatan: c_int = 1516;
pub const GDK_KEY_Arabic_ddal: c_int = 16778888;
pub const GDK_KEY_Arabic_farsi_yeh: c_int = 16778956;
pub const GDK_KEY_Arabic_fatha: c_int = 1518;
pub const GDK_KEY_Arabic_fathatan: c_int = 1515;
pub const GDK_KEY_Arabic_feh: c_int = 1505;
pub const GDK_KEY_Arabic_fullstop: c_int = 16778964;
pub const GDK_KEY_Arabic_gaf: c_int = 16778927;
pub const GDK_KEY_Arabic_ghain: c_int = 1498;
pub const GDK_KEY_Arabic_ha: c_int = 1511;
pub const GDK_KEY_Arabic_hah: c_int = 1485;
pub const GDK_KEY_Arabic_hamza: c_int = 1473;
pub const GDK_KEY_Arabic_hamza_above: c_int = 16778836;
pub const GDK_KEY_Arabic_hamza_below: c_int = 16778837;
pub const GDK_KEY_Arabic_hamzaonalef: c_int = 1475;
pub const GDK_KEY_Arabic_hamzaonwaw: c_int = 1476;
pub const GDK_KEY_Arabic_hamzaonyeh: c_int = 1478;
pub const GDK_KEY_Arabic_hamzaunderalef: c_int = 1477;
pub const GDK_KEY_Arabic_heh: c_int = 1511;
pub const GDK_KEY_Arabic_heh_doachashmee: c_int = 16778942;
pub const GDK_KEY_Arabic_heh_goal: c_int = 16778945;
pub const GDK_KEY_Arabic_jeem: c_int = 1484;
pub const GDK_KEY_Arabic_jeh: c_int = 16778904;
pub const GDK_KEY_Arabic_kaf: c_int = 1507;
pub const GDK_KEY_Arabic_kasra: c_int = 1520;
pub const GDK_KEY_Arabic_kasratan: c_int = 1517;
pub const GDK_KEY_Arabic_keheh: c_int = 16778921;
pub const GDK_KEY_Arabic_khah: c_int = 1486;
pub const GDK_KEY_Arabic_lam: c_int = 1508;
pub const GDK_KEY_Arabic_madda_above: c_int = 16778835;
pub const GDK_KEY_Arabic_maddaonalef: c_int = 1474;
pub const GDK_KEY_Arabic_meem: c_int = 1509;
pub const GDK_KEY_Arabic_noon: c_int = 1510;
pub const GDK_KEY_Arabic_noon_ghunna: c_int = 16778938;
pub const GDK_KEY_Arabic_peh: c_int = 16778878;
pub const GDK_KEY_Arabic_percent: c_int = 16778858;
pub const GDK_KEY_Arabic_qaf: c_int = 1506;
pub const GDK_KEY_Arabic_question_mark: c_int = 1471;
pub const GDK_KEY_Arabic_ra: c_int = 1489;
pub const GDK_KEY_Arabic_rreh: c_int = 16778897;
pub const GDK_KEY_Arabic_sad: c_int = 1493;
pub const GDK_KEY_Arabic_seen: c_int = 1491;
pub const GDK_KEY_Arabic_semicolon: c_int = 1467;
pub const GDK_KEY_Arabic_shadda: c_int = 1521;
pub const GDK_KEY_Arabic_sheen: c_int = 1492;
pub const GDK_KEY_Arabic_sukun: c_int = 1522;
pub const GDK_KEY_Arabic_superscript_alef: c_int = 16778864;
pub const GDK_KEY_Arabic_switch: c_int = 65406;
pub const GDK_KEY_Arabic_tah: c_int = 1495;
pub const GDK_KEY_Arabic_tatweel: c_int = 1504;
pub const GDK_KEY_Arabic_tcheh: c_int = 16778886;
pub const GDK_KEY_Arabic_teh: c_int = 1482;
pub const GDK_KEY_Arabic_tehmarbuta: c_int = 1481;
pub const GDK_KEY_Arabic_thal: c_int = 1488;
pub const GDK_KEY_Arabic_theh: c_int = 1483;
pub const GDK_KEY_Arabic_tteh: c_int = 16778873;
pub const GDK_KEY_Arabic_veh: c_int = 16778916;
pub const GDK_KEY_Arabic_waw: c_int = 1512;
pub const GDK_KEY_Arabic_yeh: c_int = 1514;
pub const GDK_KEY_Arabic_yeh_baree: c_int = 16778962;
pub const GDK_KEY_Arabic_zah: c_int = 1496;
pub const GDK_KEY_Arabic_zain: c_int = 1490;
pub const GDK_KEY_Aring: c_int = 197;
pub const GDK_KEY_Armenian_AT: c_int = 16778552;
pub const GDK_KEY_Armenian_AYB: c_int = 16778545;
pub const GDK_KEY_Armenian_BEN: c_int = 16778546;
pub const GDK_KEY_Armenian_CHA: c_int = 16778569;
pub const GDK_KEY_Armenian_DA: c_int = 16778548;
pub const GDK_KEY_Armenian_DZA: c_int = 16778561;
pub const GDK_KEY_Armenian_E: c_int = 16778551;
pub const GDK_KEY_Armenian_FE: c_int = 16778582;
pub const GDK_KEY_Armenian_GHAT: c_int = 16778562;
pub const GDK_KEY_Armenian_GIM: c_int = 16778547;
pub const GDK_KEY_Armenian_HI: c_int = 16778565;
pub const GDK_KEY_Armenian_HO: c_int = 16778560;
pub const GDK_KEY_Armenian_INI: c_int = 16778555;
pub const GDK_KEY_Armenian_JE: c_int = 16778571;
pub const GDK_KEY_Armenian_KE: c_int = 16778580;
pub const GDK_KEY_Armenian_KEN: c_int = 16778559;
pub const GDK_KEY_Armenian_KHE: c_int = 16778557;
pub const GDK_KEY_Armenian_LYUN: c_int = 16778556;
pub const GDK_KEY_Armenian_MEN: c_int = 16778564;
pub const GDK_KEY_Armenian_NU: c_int = 16778566;
pub const GDK_KEY_Armenian_O: c_int = 16778581;
pub const GDK_KEY_Armenian_PE: c_int = 16778570;
pub const GDK_KEY_Armenian_PYUR: c_int = 16778579;
pub const GDK_KEY_Armenian_RA: c_int = 16778572;
pub const GDK_KEY_Armenian_RE: c_int = 16778576;
pub const GDK_KEY_Armenian_SE: c_int = 16778573;
pub const GDK_KEY_Armenian_SHA: c_int = 16778567;
pub const GDK_KEY_Armenian_TCHE: c_int = 16778563;
pub const GDK_KEY_Armenian_TO: c_int = 16778553;
pub const GDK_KEY_Armenian_TSA: c_int = 16778558;
pub const GDK_KEY_Armenian_TSO: c_int = 16778577;
pub const GDK_KEY_Armenian_TYUN: c_int = 16778575;
pub const GDK_KEY_Armenian_VEV: c_int = 16778574;
pub const GDK_KEY_Armenian_VO: c_int = 16778568;
pub const GDK_KEY_Armenian_VYUN: c_int = 16778578;
pub const GDK_KEY_Armenian_YECH: c_int = 16778549;
pub const GDK_KEY_Armenian_ZA: c_int = 16778550;
pub const GDK_KEY_Armenian_ZHE: c_int = 16778554;
pub const GDK_KEY_Armenian_accent: c_int = 16778587;
pub const GDK_KEY_Armenian_amanak: c_int = 16778588;
pub const GDK_KEY_Armenian_apostrophe: c_int = 16778586;
pub const GDK_KEY_Armenian_at: c_int = 16778600;
pub const GDK_KEY_Armenian_ayb: c_int = 16778593;
pub const GDK_KEY_Armenian_ben: c_int = 16778594;
pub const GDK_KEY_Armenian_but: c_int = 16778589;
pub const GDK_KEY_Armenian_cha: c_int = 16778617;
pub const GDK_KEY_Armenian_da: c_int = 16778596;
pub const GDK_KEY_Armenian_dza: c_int = 16778609;
pub const GDK_KEY_Armenian_e: c_int = 16778599;
pub const GDK_KEY_Armenian_exclam: c_int = 16778588;
pub const GDK_KEY_Armenian_fe: c_int = 16778630;
pub const GDK_KEY_Armenian_full_stop: c_int = 16778633;
pub const GDK_KEY_Armenian_ghat: c_int = 16778610;
pub const GDK_KEY_Armenian_gim: c_int = 16778595;
pub const GDK_KEY_Armenian_hi: c_int = 16778613;
pub const GDK_KEY_Armenian_ho: c_int = 16778608;
pub const GDK_KEY_Armenian_hyphen: c_int = 16778634;
pub const GDK_KEY_Armenian_ini: c_int = 16778603;
pub const GDK_KEY_Armenian_je: c_int = 16778619;
pub const GDK_KEY_Armenian_ke: c_int = 16778628;
pub const GDK_KEY_Armenian_ken: c_int = 16778607;
pub const GDK_KEY_Armenian_khe: c_int = 16778605;
pub const GDK_KEY_Armenian_ligature_ew: c_int = 16778631;
pub const GDK_KEY_Armenian_lyun: c_int = 16778604;
pub const GDK_KEY_Armenian_men: c_int = 16778612;
pub const GDK_KEY_Armenian_nu: c_int = 16778614;
pub const GDK_KEY_Armenian_o: c_int = 16778629;
pub const GDK_KEY_Armenian_paruyk: c_int = 16778590;
pub const GDK_KEY_Armenian_pe: c_int = 16778618;
pub const GDK_KEY_Armenian_pyur: c_int = 16778627;
pub const GDK_KEY_Armenian_question: c_int = 16778590;
pub const GDK_KEY_Armenian_ra: c_int = 16778620;
pub const GDK_KEY_Armenian_re: c_int = 16778624;
pub const GDK_KEY_Armenian_se: c_int = 16778621;
pub const GDK_KEY_Armenian_separation_mark: c_int = 16778589;
pub const GDK_KEY_Armenian_sha: c_int = 16778615;
pub const GDK_KEY_Armenian_shesht: c_int = 16778587;
pub const GDK_KEY_Armenian_tche: c_int = 16778611;
pub const GDK_KEY_Armenian_to: c_int = 16778601;
pub const GDK_KEY_Armenian_tsa: c_int = 16778606;
pub const GDK_KEY_Armenian_tso: c_int = 16778625;
pub const GDK_KEY_Armenian_tyun: c_int = 16778623;
pub const GDK_KEY_Armenian_verjaket: c_int = 16778633;
pub const GDK_KEY_Armenian_vev: c_int = 16778622;
pub const GDK_KEY_Armenian_vo: c_int = 16778616;
pub const GDK_KEY_Armenian_vyun: c_int = 16778626;
pub const GDK_KEY_Armenian_yech: c_int = 16778597;
pub const GDK_KEY_Armenian_yentamna: c_int = 16778634;
pub const GDK_KEY_Armenian_za: c_int = 16778598;
pub const GDK_KEY_Armenian_zhe: c_int = 16778602;
pub const GDK_KEY_Atilde: c_int = 195;
pub const GDK_KEY_AudibleBell_Enable: c_int = 65146;
pub const GDK_KEY_AudioCycleTrack: c_int = 269025179;
pub const GDK_KEY_AudioForward: c_int = 269025175;
pub const GDK_KEY_AudioLowerVolume: c_int = 269025041;
pub const GDK_KEY_AudioMedia: c_int = 269025074;
pub const GDK_KEY_AudioMicMute: c_int = 269025202;
pub const GDK_KEY_AudioMute: c_int = 269025042;
pub const GDK_KEY_AudioNext: c_int = 269025047;
pub const GDK_KEY_AudioPause: c_int = 269025073;
pub const GDK_KEY_AudioPlay: c_int = 269025044;
pub const GDK_KEY_AudioPrev: c_int = 269025046;
pub const GDK_KEY_AudioRaiseVolume: c_int = 269025043;
pub const GDK_KEY_AudioRandomPlay: c_int = 269025177;
pub const GDK_KEY_AudioRecord: c_int = 269025052;
pub const GDK_KEY_AudioRepeat: c_int = 269025176;
pub const GDK_KEY_AudioRewind: c_int = 269025086;
pub const GDK_KEY_AudioStop: c_int = 269025045;
pub const GDK_KEY_Away: c_int = 269025165;
pub const GDK_KEY_B: c_int = 66;
pub const GDK_KEY_Babovedot: c_int = 16784898;
pub const GDK_KEY_Back: c_int = 269025062;
pub const GDK_KEY_BackForward: c_int = 269025087;
pub const GDK_KEY_BackSpace: c_int = 65288;
pub const GDK_KEY_Battery: c_int = 269025171;
pub const GDK_KEY_Begin: c_int = 65368;
pub const GDK_KEY_Blue: c_int = 269025190;
pub const GDK_KEY_Bluetooth: c_int = 269025172;
pub const GDK_KEY_Book: c_int = 269025106;
pub const GDK_KEY_BounceKeys_Enable: c_int = 65140;
pub const GDK_KEY_Break: c_int = 65387;
pub const GDK_KEY_BrightnessAdjust: c_int = 269025083;
pub const GDK_KEY_Byelorussian_SHORTU: c_int = 1726;
pub const GDK_KEY_Byelorussian_shortu: c_int = 1710;
pub const GDK_KEY_C: c_int = 67;
pub const GDK_KEY_CD: c_int = 269025107;
pub const GDK_KEY_CH: c_int = 65186;
pub const GDK_KEY_C_H: c_int = 65189;
pub const GDK_KEY_C_h: c_int = 65188;
pub const GDK_KEY_Cabovedot: c_int = 709;
pub const GDK_KEY_Cacute: c_int = 454;
pub const GDK_KEY_Calculator: c_int = 269025053;
pub const GDK_KEY_Calendar: c_int = 269025056;
pub const GDK_KEY_Cancel: c_int = 65385;
pub const GDK_KEY_Caps_Lock: c_int = 65509;
pub const GDK_KEY_Ccaron: c_int = 456;
pub const GDK_KEY_Ccedilla: c_int = 199;
pub const GDK_KEY_Ccircumflex: c_int = 710;
pub const GDK_KEY_Ch: c_int = 65185;
pub const GDK_KEY_Clear: c_int = 65291;
pub const GDK_KEY_ClearGrab: c_int = 269024801;
pub const GDK_KEY_Close: c_int = 269025110;
pub const GDK_KEY_Codeinput: c_int = 65335;
pub const GDK_KEY_ColonSign: c_int = 16785569;
pub const GDK_KEY_Community: c_int = 269025085;
pub const GDK_KEY_ContrastAdjust: c_int = 269025058;
pub const GDK_KEY_Control_L: c_int = 65507;
pub const GDK_KEY_Control_R: c_int = 65508;
pub const GDK_KEY_Copy: c_int = 269025111;
pub const GDK_KEY_CruzeiroSign: c_int = 16785570;
pub const GDK_KEY_Cut: c_int = 269025112;
pub const GDK_KEY_CycleAngle: c_int = 269025180;
pub const GDK_KEY_Cyrillic_A: c_int = 1761;
pub const GDK_KEY_Cyrillic_BE: c_int = 1762;
pub const GDK_KEY_Cyrillic_CHE: c_int = 1790;
pub const GDK_KEY_Cyrillic_CHE_descender: c_int = 16778422;
pub const GDK_KEY_Cyrillic_CHE_vertstroke: c_int = 16778424;
pub const GDK_KEY_Cyrillic_DE: c_int = 1764;
pub const GDK_KEY_Cyrillic_DZHE: c_int = 1727;
pub const GDK_KEY_Cyrillic_E: c_int = 1788;
pub const GDK_KEY_Cyrillic_EF: c_int = 1766;
pub const GDK_KEY_Cyrillic_EL: c_int = 1772;
pub const GDK_KEY_Cyrillic_EM: c_int = 1773;
pub const GDK_KEY_Cyrillic_EN: c_int = 1774;
pub const GDK_KEY_Cyrillic_EN_descender: c_int = 16778402;
pub const GDK_KEY_Cyrillic_ER: c_int = 1778;
pub const GDK_KEY_Cyrillic_ES: c_int = 1779;
pub const GDK_KEY_Cyrillic_GHE: c_int = 1767;
pub const GDK_KEY_Cyrillic_GHE_bar: c_int = 16778386;
pub const GDK_KEY_Cyrillic_HA: c_int = 1768;
pub const GDK_KEY_Cyrillic_HARDSIGN: c_int = 1791;
pub const GDK_KEY_Cyrillic_HA_descender: c_int = 16778418;
pub const GDK_KEY_Cyrillic_I: c_int = 1769;
pub const GDK_KEY_Cyrillic_IE: c_int = 1765;
pub const GDK_KEY_Cyrillic_IO: c_int = 1715;
pub const GDK_KEY_Cyrillic_I_macron: c_int = 16778466;
pub const GDK_KEY_Cyrillic_JE: c_int = 1720;
pub const GDK_KEY_Cyrillic_KA: c_int = 1771;
pub const GDK_KEY_Cyrillic_KA_descender: c_int = 16778394;
pub const GDK_KEY_Cyrillic_KA_vertstroke: c_int = 16778396;
pub const GDK_KEY_Cyrillic_LJE: c_int = 1721;
pub const GDK_KEY_Cyrillic_NJE: c_int = 1722;
pub const GDK_KEY_Cyrillic_O: c_int = 1775;
pub const GDK_KEY_Cyrillic_O_bar: c_int = 16778472;
pub const GDK_KEY_Cyrillic_PE: c_int = 1776;
pub const GDK_KEY_Cyrillic_SCHWA: c_int = 16778456;
pub const GDK_KEY_Cyrillic_SHA: c_int = 1787;
pub const GDK_KEY_Cyrillic_SHCHA: c_int = 1789;
pub const GDK_KEY_Cyrillic_SHHA: c_int = 16778426;
pub const GDK_KEY_Cyrillic_SHORTI: c_int = 1770;
pub const GDK_KEY_Cyrillic_SOFTSIGN: c_int = 1784;
pub const GDK_KEY_Cyrillic_TE: c_int = 1780;
pub const GDK_KEY_Cyrillic_TSE: c_int = 1763;
pub const GDK_KEY_Cyrillic_U: c_int = 1781;
pub const GDK_KEY_Cyrillic_U_macron: c_int = 16778478;
pub const GDK_KEY_Cyrillic_U_straight: c_int = 16778414;
pub const GDK_KEY_Cyrillic_U_straight_bar: c_int = 16778416;
pub const GDK_KEY_Cyrillic_VE: c_int = 1783;
pub const GDK_KEY_Cyrillic_YA: c_int = 1777;
pub const GDK_KEY_Cyrillic_YERU: c_int = 1785;
pub const GDK_KEY_Cyrillic_YU: c_int = 1760;
pub const GDK_KEY_Cyrillic_ZE: c_int = 1786;
pub const GDK_KEY_Cyrillic_ZHE: c_int = 1782;
pub const GDK_KEY_Cyrillic_ZHE_descender: c_int = 16778390;
pub const GDK_KEY_Cyrillic_a: c_int = 1729;
pub const GDK_KEY_Cyrillic_be: c_int = 1730;
pub const GDK_KEY_Cyrillic_che: c_int = 1758;
pub const GDK_KEY_Cyrillic_che_descender: c_int = 16778423;
pub const GDK_KEY_Cyrillic_che_vertstroke: c_int = 16778425;
pub const GDK_KEY_Cyrillic_de: c_int = 1732;
pub const GDK_KEY_Cyrillic_dzhe: c_int = 1711;
pub const GDK_KEY_Cyrillic_e: c_int = 1756;
pub const GDK_KEY_Cyrillic_ef: c_int = 1734;
pub const GDK_KEY_Cyrillic_el: c_int = 1740;
pub const GDK_KEY_Cyrillic_em: c_int = 1741;
pub const GDK_KEY_Cyrillic_en: c_int = 1742;
pub const GDK_KEY_Cyrillic_en_descender: c_int = 16778403;
pub const GDK_KEY_Cyrillic_er: c_int = 1746;
pub const GDK_KEY_Cyrillic_es: c_int = 1747;
pub const GDK_KEY_Cyrillic_ghe: c_int = 1735;
pub const GDK_KEY_Cyrillic_ghe_bar: c_int = 16778387;
pub const GDK_KEY_Cyrillic_ha: c_int = 1736;
pub const GDK_KEY_Cyrillic_ha_descender: c_int = 16778419;
pub const GDK_KEY_Cyrillic_hardsign: c_int = 1759;
pub const GDK_KEY_Cyrillic_i: c_int = 1737;
pub const GDK_KEY_Cyrillic_i_macron: c_int = 16778467;
pub const GDK_KEY_Cyrillic_ie: c_int = 1733;
pub const GDK_KEY_Cyrillic_io: c_int = 1699;
pub const GDK_KEY_Cyrillic_je: c_int = 1704;
pub const GDK_KEY_Cyrillic_ka: c_int = 1739;
pub const GDK_KEY_Cyrillic_ka_descender: c_int = 16778395;
pub const GDK_KEY_Cyrillic_ka_vertstroke: c_int = 16778397;
pub const GDK_KEY_Cyrillic_lje: c_int = 1705;
pub const GDK_KEY_Cyrillic_nje: c_int = 1706;
pub const GDK_KEY_Cyrillic_o: c_int = 1743;
pub const GDK_KEY_Cyrillic_o_bar: c_int = 16778473;
pub const GDK_KEY_Cyrillic_pe: c_int = 1744;
pub const GDK_KEY_Cyrillic_schwa: c_int = 16778457;
pub const GDK_KEY_Cyrillic_sha: c_int = 1755;
pub const GDK_KEY_Cyrillic_shcha: c_int = 1757;
pub const GDK_KEY_Cyrillic_shha: c_int = 16778427;
pub const GDK_KEY_Cyrillic_shorti: c_int = 1738;
pub const GDK_KEY_Cyrillic_softsign: c_int = 1752;
pub const GDK_KEY_Cyrillic_te: c_int = 1748;
pub const GDK_KEY_Cyrillic_tse: c_int = 1731;
pub const GDK_KEY_Cyrillic_u: c_int = 1749;
pub const GDK_KEY_Cyrillic_u_macron: c_int = 16778479;
pub const GDK_KEY_Cyrillic_u_straight: c_int = 16778415;
pub const GDK_KEY_Cyrillic_u_straight_bar: c_int = 16778417;
pub const GDK_KEY_Cyrillic_ve: c_int = 1751;
pub const GDK_KEY_Cyrillic_ya: c_int = 1745;
pub const GDK_KEY_Cyrillic_yeru: c_int = 1753;
pub const GDK_KEY_Cyrillic_yu: c_int = 1728;
pub const GDK_KEY_Cyrillic_ze: c_int = 1754;
pub const GDK_KEY_Cyrillic_zhe: c_int = 1750;
pub const GDK_KEY_Cyrillic_zhe_descender: c_int = 16778391;
pub const GDK_KEY_D: c_int = 68;
pub const GDK_KEY_DOS: c_int = 269025114;
pub const GDK_KEY_Dabovedot: c_int = 16784906;
pub const GDK_KEY_Dcaron: c_int = 463;
pub const GDK_KEY_Delete: c_int = 65535;
pub const GDK_KEY_Display: c_int = 269025113;
pub const GDK_KEY_Documents: c_int = 269025115;
pub const GDK_KEY_DongSign: c_int = 16785579;
pub const GDK_KEY_Down: c_int = 65364;
pub const GDK_KEY_Dstroke: c_int = 464;
pub const GDK_KEY_E: c_int = 69;
pub const GDK_KEY_ENG: c_int = 957;
pub const GDK_KEY_ETH: c_int = 208;
pub const GDK_KEY_EZH: c_int = 16777655;
pub const GDK_KEY_Eabovedot: c_int = 972;
pub const GDK_KEY_Eacute: c_int = 201;
pub const GDK_KEY_Ebelowdot: c_int = 16785080;
pub const GDK_KEY_Ecaron: c_int = 460;
pub const GDK_KEY_Ecircumflex: c_int = 202;
pub const GDK_KEY_Ecircumflexacute: c_int = 16785086;
pub const GDK_KEY_Ecircumflexbelowdot: c_int = 16785094;
pub const GDK_KEY_Ecircumflexgrave: c_int = 16785088;
pub const GDK_KEY_Ecircumflexhook: c_int = 16785090;
pub const GDK_KEY_Ecircumflextilde: c_int = 16785092;
pub const GDK_KEY_EcuSign: c_int = 16785568;
pub const GDK_KEY_Ediaeresis: c_int = 203;
pub const GDK_KEY_Egrave: c_int = 200;
pub const GDK_KEY_Ehook: c_int = 16785082;
pub const GDK_KEY_Eisu_Shift: c_int = 65327;
pub const GDK_KEY_Eisu_toggle: c_int = 65328;
pub const GDK_KEY_Eject: c_int = 269025068;
pub const GDK_KEY_Emacron: c_int = 938;
pub const GDK_KEY_End: c_int = 65367;
pub const GDK_KEY_Eogonek: c_int = 458;
pub const GDK_KEY_Escape: c_int = 65307;
pub const GDK_KEY_Eth: c_int = 208;
pub const GDK_KEY_Etilde: c_int = 16785084;
pub const GDK_KEY_EuroSign: c_int = 8364;
pub const GDK_KEY_Excel: c_int = 269025116;
pub const GDK_KEY_Execute: c_int = 65378;
pub const GDK_KEY_Explorer: c_int = 269025117;
pub const GDK_KEY_F: c_int = 70;
pub const GDK_KEY_F1: c_int = 65470;
pub const GDK_KEY_F10: c_int = 65479;
pub const GDK_KEY_F11: c_int = 65480;
pub const GDK_KEY_F12: c_int = 65481;
pub const GDK_KEY_F13: c_int = 65482;
pub const GDK_KEY_F14: c_int = 65483;
pub const GDK_KEY_F15: c_int = 65484;
pub const GDK_KEY_F16: c_int = 65485;
pub const GDK_KEY_F17: c_int = 65486;
pub const GDK_KEY_F18: c_int = 65487;
pub const GDK_KEY_F19: c_int = 65488;
pub const GDK_KEY_F2: c_int = 65471;
pub const GDK_KEY_F20: c_int = 65489;
pub const GDK_KEY_F21: c_int = 65490;
pub const GDK_KEY_F22: c_int = 65491;
pub const GDK_KEY_F23: c_int = 65492;
pub const GDK_KEY_F24: c_int = 65493;
pub const GDK_KEY_F25: c_int = 65494;
pub const GDK_KEY_F26: c_int = 65495;
pub const GDK_KEY_F27: c_int = 65496;
pub const GDK_KEY_F28: c_int = 65497;
pub const GDK_KEY_F29: c_int = 65498;
pub const GDK_KEY_F3: c_int = 65472;
pub const GDK_KEY_F30: c_int = 65499;
pub const GDK_KEY_F31: c_int = 65500;
pub const GDK_KEY_F32: c_int = 65501;
pub const GDK_KEY_F33: c_int = 65502;
pub const GDK_KEY_F34: c_int = 65503;
pub const GDK_KEY_F35: c_int = 65504;
pub const GDK_KEY_F4: c_int = 65473;
pub const GDK_KEY_F5: c_int = 65474;
pub const GDK_KEY_F6: c_int = 65475;
pub const GDK_KEY_F7: c_int = 65476;
pub const GDK_KEY_F8: c_int = 65477;
pub const GDK_KEY_F9: c_int = 65478;
pub const GDK_KEY_FFrancSign: c_int = 16785571;
pub const GDK_KEY_Fabovedot: c_int = 16784926;
pub const GDK_KEY_Farsi_0: c_int = 16778992;
pub const GDK_KEY_Farsi_1: c_int = 16778993;
pub const GDK_KEY_Farsi_2: c_int = 16778994;
pub const GDK_KEY_Farsi_3: c_int = 16778995;
pub const GDK_KEY_Farsi_4: c_int = 16778996;
pub const GDK_KEY_Farsi_5: c_int = 16778997;
pub const GDK_KEY_Farsi_6: c_int = 16778998;
pub const GDK_KEY_Farsi_7: c_int = 16778999;
pub const GDK_KEY_Farsi_8: c_int = 16779000;
pub const GDK_KEY_Farsi_9: c_int = 16779001;
pub const GDK_KEY_Farsi_yeh: c_int = 16778956;
pub const GDK_KEY_Favorites: c_int = 269025072;
pub const GDK_KEY_Finance: c_int = 269025084;
pub const GDK_KEY_Find: c_int = 65384;
pub const GDK_KEY_First_Virtual_Screen: c_int = 65232;
pub const GDK_KEY_Forward: c_int = 269025063;
pub const GDK_KEY_FrameBack: c_int = 269025181;
pub const GDK_KEY_FrameForward: c_int = 269025182;
pub const GDK_KEY_G: c_int = 71;
pub const GDK_KEY_Gabovedot: c_int = 725;
pub const GDK_KEY_Game: c_int = 269025118;
pub const GDK_KEY_Gbreve: c_int = 683;
pub const GDK_KEY_Gcaron: c_int = 16777702;
pub const GDK_KEY_Gcedilla: c_int = 939;
pub const GDK_KEY_Gcircumflex: c_int = 728;
pub const GDK_KEY_Georgian_an: c_int = 16781520;
pub const GDK_KEY_Georgian_ban: c_int = 16781521;
pub const GDK_KEY_Georgian_can: c_int = 16781546;
pub const GDK_KEY_Georgian_char: c_int = 16781549;
pub const GDK_KEY_Georgian_chin: c_int = 16781545;
pub const GDK_KEY_Georgian_cil: c_int = 16781548;
pub const GDK_KEY_Georgian_don: c_int = 16781523;
pub const GDK_KEY_Georgian_en: c_int = 16781524;
pub const GDK_KEY_Georgian_fi: c_int = 16781558;
pub const GDK_KEY_Georgian_gan: c_int = 16781522;
pub const GDK_KEY_Georgian_ghan: c_int = 16781542;
pub const GDK_KEY_Georgian_hae: c_int = 16781552;
pub const GDK_KEY_Georgian_har: c_int = 16781556;
pub const GDK_KEY_Georgian_he: c_int = 16781553;
pub const GDK_KEY_Georgian_hie: c_int = 16781554;
pub const GDK_KEY_Georgian_hoe: c_int = 16781557;
pub const GDK_KEY_Georgian_in: c_int = 16781528;
pub const GDK_KEY_Georgian_jhan: c_int = 16781551;
pub const GDK_KEY_Georgian_jil: c_int = 16781547;
pub const GDK_KEY_Georgian_kan: c_int = 16781529;
pub const GDK_KEY_Georgian_khar: c_int = 16781541;
pub const GDK_KEY_Georgian_las: c_int = 16781530;
pub const GDK_KEY_Georgian_man: c_int = 16781531;
pub const GDK_KEY_Georgian_nar: c_int = 16781532;
pub const GDK_KEY_Georgian_on: c_int = 16781533;
pub const GDK_KEY_Georgian_par: c_int = 16781534;
pub const GDK_KEY_Georgian_phar: c_int = 16781540;
pub const GDK_KEY_Georgian_qar: c_int = 16781543;
pub const GDK_KEY_Georgian_rae: c_int = 16781536;
pub const GDK_KEY_Georgian_san: c_int = 16781537;
pub const GDK_KEY_Georgian_shin: c_int = 16781544;
pub const GDK_KEY_Georgian_tan: c_int = 16781527;
pub const GDK_KEY_Georgian_tar: c_int = 16781538;
pub const GDK_KEY_Georgian_un: c_int = 16781539;
pub const GDK_KEY_Georgian_vin: c_int = 16781525;
pub const GDK_KEY_Georgian_we: c_int = 16781555;
pub const GDK_KEY_Georgian_xan: c_int = 16781550;
pub const GDK_KEY_Georgian_zen: c_int = 16781526;
pub const GDK_KEY_Georgian_zhar: c_int = 16781535;
pub const GDK_KEY_Go: c_int = 269025119;
pub const GDK_KEY_Greek_ALPHA: c_int = 1985;
pub const GDK_KEY_Greek_ALPHAaccent: c_int = 1953;
pub const GDK_KEY_Greek_BETA: c_int = 1986;
pub const GDK_KEY_Greek_CHI: c_int = 2007;
pub const GDK_KEY_Greek_DELTA: c_int = 1988;
pub const GDK_KEY_Greek_EPSILON: c_int = 1989;
pub const GDK_KEY_Greek_EPSILONaccent: c_int = 1954;
pub const GDK_KEY_Greek_ETA: c_int = 1991;
pub const GDK_KEY_Greek_ETAaccent: c_int = 1955;
pub const GDK_KEY_Greek_GAMMA: c_int = 1987;
pub const GDK_KEY_Greek_IOTA: c_int = 1993;
pub const GDK_KEY_Greek_IOTAaccent: c_int = 1956;
pub const GDK_KEY_Greek_IOTAdiaeresis: c_int = 1957;
pub const GDK_KEY_Greek_IOTAdieresis: c_int = 1957;
pub const GDK_KEY_Greek_KAPPA: c_int = 1994;
pub const GDK_KEY_Greek_LAMBDA: c_int = 1995;
pub const GDK_KEY_Greek_LAMDA: c_int = 1995;
pub const GDK_KEY_Greek_MU: c_int = 1996;
pub const GDK_KEY_Greek_NU: c_int = 1997;
pub const GDK_KEY_Greek_OMEGA: c_int = 2009;
pub const GDK_KEY_Greek_OMEGAaccent: c_int = 1963;
pub const GDK_KEY_Greek_OMICRON: c_int = 1999;
pub const GDK_KEY_Greek_OMICRONaccent: c_int = 1959;
pub const GDK_KEY_Greek_PHI: c_int = 2006;
pub const GDK_KEY_Greek_PI: c_int = 2000;
pub const GDK_KEY_Greek_PSI: c_int = 2008;
pub const GDK_KEY_Greek_RHO: c_int = 2001;
pub const GDK_KEY_Greek_SIGMA: c_int = 2002;
pub const GDK_KEY_Greek_TAU: c_int = 2004;
pub const GDK_KEY_Greek_THETA: c_int = 1992;
pub const GDK_KEY_Greek_UPSILON: c_int = 2005;
pub const GDK_KEY_Greek_UPSILONaccent: c_int = 1960;
pub const GDK_KEY_Greek_UPSILONdieresis: c_int = 1961;
pub const GDK_KEY_Greek_XI: c_int = 1998;
pub const GDK_KEY_Greek_ZETA: c_int = 1990;
pub const GDK_KEY_Greek_accentdieresis: c_int = 1966;
pub const GDK_KEY_Greek_alpha: c_int = 2017;
pub const GDK_KEY_Greek_alphaaccent: c_int = 1969;
pub const GDK_KEY_Greek_beta: c_int = 2018;
pub const GDK_KEY_Greek_chi: c_int = 2039;
pub const GDK_KEY_Greek_delta: c_int = 2020;
pub const GDK_KEY_Greek_epsilon: c_int = 2021;
pub const GDK_KEY_Greek_epsilonaccent: c_int = 1970;
pub const GDK_KEY_Greek_eta: c_int = 2023;
pub const GDK_KEY_Greek_etaaccent: c_int = 1971;
pub const GDK_KEY_Greek_finalsmallsigma: c_int = 2035;
pub const GDK_KEY_Greek_gamma: c_int = 2019;
pub const GDK_KEY_Greek_horizbar: c_int = 1967;
pub const GDK_KEY_Greek_iota: c_int = 2025;
pub const GDK_KEY_Greek_iotaaccent: c_int = 1972;
pub const GDK_KEY_Greek_iotaaccentdieresis: c_int = 1974;
pub const GDK_KEY_Greek_iotadieresis: c_int = 1973;
pub const GDK_KEY_Greek_kappa: c_int = 2026;
pub const GDK_KEY_Greek_lambda: c_int = 2027;
pub const GDK_KEY_Greek_lamda: c_int = 2027;
pub const GDK_KEY_Greek_mu: c_int = 2028;
pub const GDK_KEY_Greek_nu: c_int = 2029;
pub const GDK_KEY_Greek_omega: c_int = 2041;
pub const GDK_KEY_Greek_omegaaccent: c_int = 1979;
pub const GDK_KEY_Greek_omicron: c_int = 2031;
pub const GDK_KEY_Greek_omicronaccent: c_int = 1975;
pub const GDK_KEY_Greek_phi: c_int = 2038;
pub const GDK_KEY_Greek_pi: c_int = 2032;
pub const GDK_KEY_Greek_psi: c_int = 2040;
pub const GDK_KEY_Greek_rho: c_int = 2033;
pub const GDK_KEY_Greek_sigma: c_int = 2034;
pub const GDK_KEY_Greek_switch: c_int = 65406;
pub const GDK_KEY_Greek_tau: c_int = 2036;
pub const GDK_KEY_Greek_theta: c_int = 2024;
pub const GDK_KEY_Greek_upsilon: c_int = 2037;
pub const GDK_KEY_Greek_upsilonaccent: c_int = 1976;
pub const GDK_KEY_Greek_upsilonaccentdieresis: c_int = 1978;
pub const GDK_KEY_Greek_upsilondieresis: c_int = 1977;
pub const GDK_KEY_Greek_xi: c_int = 2030;
pub const GDK_KEY_Greek_zeta: c_int = 2022;
pub const GDK_KEY_Green: c_int = 269025188;
pub const GDK_KEY_H: c_int = 72;
pub const GDK_KEY_Hangul: c_int = 65329;
pub const GDK_KEY_Hangul_A: c_int = 3775;
pub const GDK_KEY_Hangul_AE: c_int = 3776;
pub const GDK_KEY_Hangul_AraeA: c_int = 3830;
pub const GDK_KEY_Hangul_AraeAE: c_int = 3831;
pub const GDK_KEY_Hangul_Banja: c_int = 65337;
pub const GDK_KEY_Hangul_Cieuc: c_int = 3770;
pub const GDK_KEY_Hangul_Codeinput: c_int = 65335;
pub const GDK_KEY_Hangul_Dikeud: c_int = 3751;
pub const GDK_KEY_Hangul_E: c_int = 3780;
pub const GDK_KEY_Hangul_EO: c_int = 3779;
pub const GDK_KEY_Hangul_EU: c_int = 3793;
pub const GDK_KEY_Hangul_End: c_int = 65331;
pub const GDK_KEY_Hangul_Hanja: c_int = 65332;
pub const GDK_KEY_Hangul_Hieuh: c_int = 3774;
pub const GDK_KEY_Hangul_I: c_int = 3795;
pub const GDK_KEY_Hangul_Ieung: c_int = 3767;
pub const GDK_KEY_Hangul_J_Cieuc: c_int = 3818;
pub const GDK_KEY_Hangul_J_Dikeud: c_int = 3802;
pub const GDK_KEY_Hangul_J_Hieuh: c_int = 3822;
pub const GDK_KEY_Hangul_J_Ieung: c_int = 3816;
pub const GDK_KEY_Hangul_J_Jieuj: c_int = 3817;
pub const GDK_KEY_Hangul_J_Khieuq: c_int = 3819;
pub const GDK_KEY_Hangul_J_Kiyeog: c_int = 3796;
pub const GDK_KEY_Hangul_J_KiyeogSios: c_int = 3798;
pub const GDK_KEY_Hangul_J_KkogjiDalrinIeung: c_int = 3833;
pub const GDK_KEY_Hangul_J_Mieum: c_int = 3811;
pub const GDK_KEY_Hangul_J_Nieun: c_int = 3799;
pub const GDK_KEY_Hangul_J_NieunHieuh: c_int = 3801;
pub const GDK_KEY_Hangul_J_NieunJieuj: c_int = 3800;
pub const GDK_KEY_Hangul_J_PanSios: c_int = 3832;
pub const GDK_KEY_Hangul_J_Phieuf: c_int = 3821;
pub const GDK_KEY_Hangul_J_Pieub: c_int = 3812;
pub const GDK_KEY_Hangul_J_PieubSios: c_int = 3813;
pub const GDK_KEY_Hangul_J_Rieul: c_int = 3803;
pub const GDK_KEY_Hangul_J_RieulHieuh: c_int = 3810;
pub const GDK_KEY_Hangul_J_RieulKiyeog: c_int = 3804;
pub const GDK_KEY_Hangul_J_RieulMieum: c_int = 3805;
pub const GDK_KEY_Hangul_J_RieulPhieuf: c_int = 3809;
pub const GDK_KEY_Hangul_J_RieulPieub: c_int = 3806;
pub const GDK_KEY_Hangul_J_RieulSios: c_int = 3807;
pub const GDK_KEY_Hangul_J_RieulTieut: c_int = 3808;
pub const GDK_KEY_Hangul_J_Sios: c_int = 3814;
pub const GDK_KEY_Hangul_J_SsangKiyeog: c_int = 3797;
pub const GDK_KEY_Hangul_J_SsangSios: c_int = 3815;
pub const GDK_KEY_Hangul_J_Tieut: c_int = 3820;
pub const GDK_KEY_Hangul_J_YeorinHieuh: c_int = 3834;
pub const GDK_KEY_Hangul_Jamo: c_int = 65333;
pub const GDK_KEY_Hangul_Jeonja: c_int = 65336;
pub const GDK_KEY_Hangul_Jieuj: c_int = 3768;
pub const GDK_KEY_Hangul_Khieuq: c_int = 3771;
pub const GDK_KEY_Hangul_Kiyeog: c_int = 3745;
pub const GDK_KEY_Hangul_KiyeogSios: c_int = 3747;
pub const GDK_KEY_Hangul_KkogjiDalrinIeung: c_int = 3827;
pub const GDK_KEY_Hangul_Mieum: c_int = 3761;
pub const GDK_KEY_Hangul_MultipleCandidate: c_int = 65341;
pub const GDK_KEY_Hangul_Nieun: c_int = 3748;
pub const GDK_KEY_Hangul_NieunHieuh: c_int = 3750;
pub const GDK_KEY_Hangul_NieunJieuj: c_int = 3749;
pub const GDK_KEY_Hangul_O: c_int = 3783;
pub const GDK_KEY_Hangul_OE: c_int = 3786;
pub const GDK_KEY_Hangul_PanSios: c_int = 3826;
pub const GDK_KEY_Hangul_Phieuf: c_int = 3773;
pub const GDK_KEY_Hangul_Pieub: c_int = 3762;
pub const GDK_KEY_Hangul_PieubSios: c_int = 3764;
pub const GDK_KEY_Hangul_PostHanja: c_int = 65339;
pub const GDK_KEY_Hangul_PreHanja: c_int = 65338;
pub const GDK_KEY_Hangul_PreviousCandidate: c_int = 65342;
pub const GDK_KEY_Hangul_Rieul: c_int = 3753;
pub const GDK_KEY_Hangul_RieulHieuh: c_int = 3760;
pub const GDK_KEY_Hangul_RieulKiyeog: c_int = 3754;
pub const GDK_KEY_Hangul_RieulMieum: c_int = 3755;
pub const GDK_KEY_Hangul_RieulPhieuf: c_int = 3759;
pub const GDK_KEY_Hangul_RieulPieub: c_int = 3756;
pub const GDK_KEY_Hangul_RieulSios: c_int = 3757;
pub const GDK_KEY_Hangul_RieulTieut: c_int = 3758;
pub const GDK_KEY_Hangul_RieulYeorinHieuh: c_int = 3823;
pub const GDK_KEY_Hangul_Romaja: c_int = 65334;
pub const GDK_KEY_Hangul_SingleCandidate: c_int = 65340;
pub const GDK_KEY_Hangul_Sios: c_int = 3765;
pub const GDK_KEY_Hangul_Special: c_int = 65343;
pub const GDK_KEY_Hangul_SsangDikeud: c_int = 3752;
pub const GDK_KEY_Hangul_SsangJieuj: c_int = 3769;
pub const GDK_KEY_Hangul_SsangKiyeog: c_int = 3746;
pub const GDK_KEY_Hangul_SsangPieub: c_int = 3763;
pub const GDK_KEY_Hangul_SsangSios: c_int = 3766;
pub const GDK_KEY_Hangul_Start: c_int = 65330;
pub const GDK_KEY_Hangul_SunkyeongeumMieum: c_int = 3824;
pub const GDK_KEY_Hangul_SunkyeongeumPhieuf: c_int = 3828;
pub const GDK_KEY_Hangul_SunkyeongeumPieub: c_int = 3825;
pub const GDK_KEY_Hangul_Tieut: c_int = 3772;
pub const GDK_KEY_Hangul_U: c_int = 3788;
pub const GDK_KEY_Hangul_WA: c_int = 3784;
pub const GDK_KEY_Hangul_WAE: c_int = 3785;
pub const GDK_KEY_Hangul_WE: c_int = 3790;
pub const GDK_KEY_Hangul_WEO: c_int = 3789;
pub const GDK_KEY_Hangul_WI: c_int = 3791;
pub const GDK_KEY_Hangul_YA: c_int = 3777;
pub const GDK_KEY_Hangul_YAE: c_int = 3778;
pub const GDK_KEY_Hangul_YE: c_int = 3782;
pub const GDK_KEY_Hangul_YEO: c_int = 3781;
pub const GDK_KEY_Hangul_YI: c_int = 3794;
pub const GDK_KEY_Hangul_YO: c_int = 3787;
pub const GDK_KEY_Hangul_YU: c_int = 3792;
pub const GDK_KEY_Hangul_YeorinHieuh: c_int = 3829;
pub const GDK_KEY_Hangul_switch: c_int = 65406;
pub const GDK_KEY_Hankaku: c_int = 65321;
pub const GDK_KEY_Hcircumflex: c_int = 678;
pub const GDK_KEY_Hebrew_switch: c_int = 65406;
pub const GDK_KEY_Help: c_int = 65386;
pub const GDK_KEY_Henkan: c_int = 65315;
pub const GDK_KEY_Henkan_Mode: c_int = 65315;
pub const GDK_KEY_Hibernate: c_int = 269025192;
pub const GDK_KEY_Hiragana: c_int = 65317;
pub const GDK_KEY_Hiragana_Katakana: c_int = 65319;
pub const GDK_KEY_History: c_int = 269025079;
pub const GDK_KEY_Home: c_int = 65360;
pub const GDK_KEY_HomePage: c_int = 269025048;
pub const GDK_KEY_HotLinks: c_int = 269025082;
pub const GDK_KEY_Hstroke: c_int = 673;
pub const GDK_KEY_Hyper_L: c_int = 65517;
pub const GDK_KEY_Hyper_R: c_int = 65518;
pub const GDK_KEY_I: c_int = 73;
pub const GDK_KEY_ISO_Center_Object: c_int = 65075;
pub const GDK_KEY_ISO_Continuous_Underline: c_int = 65072;
pub const GDK_KEY_ISO_Discontinuous_Underline: c_int = 65073;
pub const GDK_KEY_ISO_Emphasize: c_int = 65074;
pub const GDK_KEY_ISO_Enter: c_int = 65076;
pub const GDK_KEY_ISO_Fast_Cursor_Down: c_int = 65071;
pub const GDK_KEY_ISO_Fast_Cursor_Left: c_int = 65068;
pub const GDK_KEY_ISO_Fast_Cursor_Right: c_int = 65069;
pub const GDK_KEY_ISO_Fast_Cursor_Up: c_int = 65070;
pub const GDK_KEY_ISO_First_Group: c_int = 65036;
pub const GDK_KEY_ISO_First_Group_Lock: c_int = 65037;
pub const GDK_KEY_ISO_Group_Latch: c_int = 65030;
pub const GDK_KEY_ISO_Group_Lock: c_int = 65031;
pub const GDK_KEY_ISO_Group_Shift: c_int = 65406;
pub const GDK_KEY_ISO_Last_Group: c_int = 65038;
pub const GDK_KEY_ISO_Last_Group_Lock: c_int = 65039;
pub const GDK_KEY_ISO_Left_Tab: c_int = 65056;
pub const GDK_KEY_ISO_Level2_Latch: c_int = 65026;
pub const GDK_KEY_ISO_Level3_Latch: c_int = 65028;
pub const GDK_KEY_ISO_Level3_Lock: c_int = 65029;
pub const GDK_KEY_ISO_Level3_Shift: c_int = 65027;
pub const GDK_KEY_ISO_Level5_Latch: c_int = 65042;
pub const GDK_KEY_ISO_Level5_Lock: c_int = 65043;
pub const GDK_KEY_ISO_Level5_Shift: c_int = 65041;
pub const GDK_KEY_ISO_Lock: c_int = 65025;
pub const GDK_KEY_ISO_Move_Line_Down: c_int = 65058;
pub const GDK_KEY_ISO_Move_Line_Up: c_int = 65057;
pub const GDK_KEY_ISO_Next_Group: c_int = 65032;
pub const GDK_KEY_ISO_Next_Group_Lock: c_int = 65033;
pub const GDK_KEY_ISO_Partial_Line_Down: c_int = 65060;
pub const GDK_KEY_ISO_Partial_Line_Up: c_int = 65059;
pub const GDK_KEY_ISO_Partial_Space_Left: c_int = 65061;
pub const GDK_KEY_ISO_Partial_Space_Right: c_int = 65062;
pub const GDK_KEY_ISO_Prev_Group: c_int = 65034;
pub const GDK_KEY_ISO_Prev_Group_Lock: c_int = 65035;
pub const GDK_KEY_ISO_Release_Both_Margins: c_int = 65067;
pub const GDK_KEY_ISO_Release_Margin_Left: c_int = 65065;
pub const GDK_KEY_ISO_Release_Margin_Right: c_int = 65066;
pub const GDK_KEY_ISO_Set_Margin_Left: c_int = 65063;
pub const GDK_KEY_ISO_Set_Margin_Right: c_int = 65064;
pub const GDK_KEY_Iabovedot: c_int = 681;
pub const GDK_KEY_Iacute: c_int = 205;
pub const GDK_KEY_Ibelowdot: c_int = 16785098;
pub const GDK_KEY_Ibreve: c_int = 16777516;
pub const GDK_KEY_Icircumflex: c_int = 206;
pub const GDK_KEY_Idiaeresis: c_int = 207;
pub const GDK_KEY_Igrave: c_int = 204;
pub const GDK_KEY_Ihook: c_int = 16785096;
pub const GDK_KEY_Imacron: c_int = 975;
pub const GDK_KEY_Insert: c_int = 65379;
pub const GDK_KEY_Iogonek: c_int = 967;
pub const GDK_KEY_Itilde: c_int = 933;
pub const GDK_KEY_J: c_int = 74;
pub const GDK_KEY_Jcircumflex: c_int = 684;
pub const GDK_KEY_K: c_int = 75;
pub const GDK_KEY_KP_0: c_int = 65456;
pub const GDK_KEY_KP_1: c_int = 65457;
pub const GDK_KEY_KP_2: c_int = 65458;
pub const GDK_KEY_KP_3: c_int = 65459;
pub const GDK_KEY_KP_4: c_int = 65460;
pub const GDK_KEY_KP_5: c_int = 65461;
pub const GDK_KEY_KP_6: c_int = 65462;
pub const GDK_KEY_KP_7: c_int = 65463;
pub const GDK_KEY_KP_8: c_int = 65464;
pub const GDK_KEY_KP_9: c_int = 65465;
pub const GDK_KEY_KP_Add: c_int = 65451;
pub const GDK_KEY_KP_Begin: c_int = 65437;
pub const GDK_KEY_KP_Decimal: c_int = 65454;
pub const GDK_KEY_KP_Delete: c_int = 65439;
pub const GDK_KEY_KP_Divide: c_int = 65455;
pub const GDK_KEY_KP_Down: c_int = 65433;
pub const GDK_KEY_KP_End: c_int = 65436;
pub const GDK_KEY_KP_Enter: c_int = 65421;
pub const GDK_KEY_KP_Equal: c_int = 65469;
pub const GDK_KEY_KP_F1: c_int = 65425;
pub const GDK_KEY_KP_F2: c_int = 65426;
pub const GDK_KEY_KP_F3: c_int = 65427;
pub const GDK_KEY_KP_F4: c_int = 65428;
pub const GDK_KEY_KP_Home: c_int = 65429;
pub const GDK_KEY_KP_Insert: c_int = 65438;
pub const GDK_KEY_KP_Left: c_int = 65430;
pub const GDK_KEY_KP_Multiply: c_int = 65450;
pub const GDK_KEY_KP_Next: c_int = 65435;
pub const GDK_KEY_KP_Page_Down: c_int = 65435;
pub const GDK_KEY_KP_Page_Up: c_int = 65434;
pub const GDK_KEY_KP_Prior: c_int = 65434;
pub const GDK_KEY_KP_Right: c_int = 65432;
pub const GDK_KEY_KP_Separator: c_int = 65452;
pub const GDK_KEY_KP_Space: c_int = 65408;
pub const GDK_KEY_KP_Subtract: c_int = 65453;
pub const GDK_KEY_KP_Tab: c_int = 65417;
pub const GDK_KEY_KP_Up: c_int = 65431;
pub const GDK_KEY_Kana_Lock: c_int = 65325;
pub const GDK_KEY_Kana_Shift: c_int = 65326;
pub const GDK_KEY_Kanji: c_int = 65313;
pub const GDK_KEY_Kanji_Bangou: c_int = 65335;
pub const GDK_KEY_Katakana: c_int = 65318;
pub const GDK_KEY_KbdBrightnessDown: c_int = 269025030;
pub const GDK_KEY_KbdBrightnessUp: c_int = 269025029;
pub const GDK_KEY_KbdLightOnOff: c_int = 269025028;
pub const GDK_KEY_Kcedilla: c_int = 979;
pub const GDK_KEY_Korean_Won: c_int = 3839;
pub const GDK_KEY_L: c_int = 76;
pub const GDK_KEY_L1: c_int = 65480;
pub const GDK_KEY_L10: c_int = 65489;
pub const GDK_KEY_L2: c_int = 65481;
pub const GDK_KEY_L3: c_int = 65482;
pub const GDK_KEY_L4: c_int = 65483;
pub const GDK_KEY_L5: c_int = 65484;
pub const GDK_KEY_L6: c_int = 65485;
pub const GDK_KEY_L7: c_int = 65486;
pub const GDK_KEY_L8: c_int = 65487;
pub const GDK_KEY_L9: c_int = 65488;
pub const GDK_KEY_Lacute: c_int = 453;
pub const GDK_KEY_Last_Virtual_Screen: c_int = 65236;
pub const GDK_KEY_Launch0: c_int = 269025088;
pub const GDK_KEY_Launch1: c_int = 269025089;
pub const GDK_KEY_Launch2: c_int = 269025090;
pub const GDK_KEY_Launch3: c_int = 269025091;
pub const GDK_KEY_Launch4: c_int = 269025092;
pub const GDK_KEY_Launch5: c_int = 269025093;
pub const GDK_KEY_Launch6: c_int = 269025094;
pub const GDK_KEY_Launch7: c_int = 269025095;
pub const GDK_KEY_Launch8: c_int = 269025096;
pub const GDK_KEY_Launch9: c_int = 269025097;
pub const GDK_KEY_LaunchA: c_int = 269025098;
pub const GDK_KEY_LaunchB: c_int = 269025099;
pub const GDK_KEY_LaunchC: c_int = 269025100;
pub const GDK_KEY_LaunchD: c_int = 269025101;
pub const GDK_KEY_LaunchE: c_int = 269025102;
pub const GDK_KEY_LaunchF: c_int = 269025103;
pub const GDK_KEY_Lbelowdot: c_int = 16784950;
pub const GDK_KEY_Lcaron: c_int = 421;
pub const GDK_KEY_Lcedilla: c_int = 934;
pub const GDK_KEY_Left: c_int = 65361;
pub const GDK_KEY_LightBulb: c_int = 269025077;
pub const GDK_KEY_Linefeed: c_int = 65290;
pub const GDK_KEY_LiraSign: c_int = 16785572;
pub const GDK_KEY_LogGrabInfo: c_int = 269024805;
pub const GDK_KEY_LogOff: c_int = 269025121;
pub const GDK_KEY_LogWindowTree: c_int = 269024804;
pub const GDK_KEY_Lstroke: c_int = 419;
pub const GDK_KEY_M: c_int = 77;
pub const GDK_KEY_Mabovedot: c_int = 16784960;
pub const GDK_KEY_Macedonia_DSE: c_int = 1717;
pub const GDK_KEY_Macedonia_GJE: c_int = 1714;
pub const GDK_KEY_Macedonia_KJE: c_int = 1724;
pub const GDK_KEY_Macedonia_dse: c_int = 1701;
pub const GDK_KEY_Macedonia_gje: c_int = 1698;
pub const GDK_KEY_Macedonia_kje: c_int = 1708;
pub const GDK_KEY_Mae_Koho: c_int = 65342;
pub const GDK_KEY_Mail: c_int = 269025049;
pub const GDK_KEY_MailForward: c_int = 269025168;
pub const GDK_KEY_Market: c_int = 269025122;
pub const GDK_KEY_Massyo: c_int = 65324;
pub const GDK_KEY_Meeting: c_int = 269025123;
pub const GDK_KEY_Memo: c_int = 269025054;
pub const GDK_KEY_Menu: c_int = 65383;
pub const GDK_KEY_MenuKB: c_int = 269025125;
pub const GDK_KEY_MenuPB: c_int = 269025126;
pub const GDK_KEY_Messenger: c_int = 269025166;
pub const GDK_KEY_Meta_L: c_int = 65511;
pub const GDK_KEY_Meta_R: c_int = 65512;
pub const GDK_KEY_MillSign: c_int = 16785573;
pub const GDK_KEY_ModeLock: c_int = 269025025;
pub const GDK_KEY_Mode_switch: c_int = 65406;
pub const GDK_KEY_MonBrightnessDown: c_int = 269025027;
pub const GDK_KEY_MonBrightnessUp: c_int = 269025026;
pub const GDK_KEY_MouseKeys_Accel_Enable: c_int = 65143;
pub const GDK_KEY_MouseKeys_Enable: c_int = 65142;
pub const GDK_KEY_Muhenkan: c_int = 65314;
pub const GDK_KEY_Multi_key: c_int = 65312;
pub const GDK_KEY_MultipleCandidate: c_int = 65341;
pub const GDK_KEY_Music: c_int = 269025170;
pub const GDK_KEY_MyComputer: c_int = 269025075;
pub const GDK_KEY_MySites: c_int = 269025127;
pub const GDK_KEY_N: c_int = 78;
pub const GDK_KEY_Nacute: c_int = 465;
pub const GDK_KEY_NairaSign: c_int = 16785574;
pub const GDK_KEY_Ncaron: c_int = 466;
pub const GDK_KEY_Ncedilla: c_int = 977;
pub const GDK_KEY_New: c_int = 269025128;
pub const GDK_KEY_NewSheqelSign: c_int = 16785578;
pub const GDK_KEY_News: c_int = 269025129;
pub const GDK_KEY_Next: c_int = 65366;
pub const GDK_KEY_Next_VMode: c_int = 269024802;
pub const GDK_KEY_Next_Virtual_Screen: c_int = 65234;
pub const GDK_KEY_Ntilde: c_int = 209;
pub const GDK_KEY_Num_Lock: c_int = 65407;
pub const GDK_KEY_O: c_int = 79;
pub const GDK_KEY_OE: c_int = 5052;
pub const GDK_KEY_Oacute: c_int = 211;
pub const GDK_KEY_Obarred: c_int = 16777631;
pub const GDK_KEY_Obelowdot: c_int = 16785100;
pub const GDK_KEY_Ocaron: c_int = 16777681;
pub const GDK_KEY_Ocircumflex: c_int = 212;
pub const GDK_KEY_Ocircumflexacute: c_int = 16785104;
pub const GDK_KEY_Ocircumflexbelowdot: c_int = 16785112;
pub const GDK_KEY_Ocircumflexgrave: c_int = 16785106;
pub const GDK_KEY_Ocircumflexhook: c_int = 16785108;
pub const GDK_KEY_Ocircumflextilde: c_int = 16785110;
pub const GDK_KEY_Odiaeresis: c_int = 214;
pub const GDK_KEY_Odoubleacute: c_int = 469;
pub const GDK_KEY_OfficeHome: c_int = 269025130;
pub const GDK_KEY_Ograve: c_int = 210;
pub const GDK_KEY_Ohook: c_int = 16785102;
pub const GDK_KEY_Ohorn: c_int = 16777632;
pub const GDK_KEY_Ohornacute: c_int = 16785114;
pub const GDK_KEY_Ohornbelowdot: c_int = 16785122;
pub const GDK_KEY_Ohorngrave: c_int = 16785116;
pub const GDK_KEY_Ohornhook: c_int = 16785118;
pub const GDK_KEY_Ohorntilde: c_int = 16785120;
pub const GDK_KEY_Omacron: c_int = 978;
pub const GDK_KEY_Ooblique: c_int = 216;
pub const GDK_KEY_Open: c_int = 269025131;
pub const GDK_KEY_OpenURL: c_int = 269025080;
pub const GDK_KEY_Option: c_int = 269025132;
pub const GDK_KEY_Oslash: c_int = 216;
pub const GDK_KEY_Otilde: c_int = 213;
pub const GDK_KEY_Overlay1_Enable: c_int = 65144;
pub const GDK_KEY_Overlay2_Enable: c_int = 65145;
pub const GDK_KEY_P: c_int = 80;
pub const GDK_KEY_Pabovedot: c_int = 16784982;
pub const GDK_KEY_Page_Down: c_int = 65366;
pub const GDK_KEY_Page_Up: c_int = 65365;
pub const GDK_KEY_Paste: c_int = 269025133;
pub const GDK_KEY_Pause: c_int = 65299;
pub const GDK_KEY_PesetaSign: c_int = 16785575;
pub const GDK_KEY_Phone: c_int = 269025134;
pub const GDK_KEY_Pictures: c_int = 269025169;
pub const GDK_KEY_Pointer_Accelerate: c_int = 65274;
pub const GDK_KEY_Pointer_Button1: c_int = 65257;
pub const GDK_KEY_Pointer_Button2: c_int = 65258;
pub const GDK_KEY_Pointer_Button3: c_int = 65259;
pub const GDK_KEY_Pointer_Button4: c_int = 65260;
pub const GDK_KEY_Pointer_Button5: c_int = 65261;
pub const GDK_KEY_Pointer_Button_Dflt: c_int = 65256;
pub const GDK_KEY_Pointer_DblClick1: c_int = 65263;
pub const GDK_KEY_Pointer_DblClick2: c_int = 65264;
pub const GDK_KEY_Pointer_DblClick3: c_int = 65265;
pub const GDK_KEY_Pointer_DblClick4: c_int = 65266;
pub const GDK_KEY_Pointer_DblClick5: c_int = 65267;
pub const GDK_KEY_Pointer_DblClick_Dflt: c_int = 65262;
pub const GDK_KEY_Pointer_DfltBtnNext: c_int = 65275;
pub const GDK_KEY_Pointer_DfltBtnPrev: c_int = 65276;
pub const GDK_KEY_Pointer_Down: c_int = 65251;
pub const GDK_KEY_Pointer_DownLeft: c_int = 65254;
pub const GDK_KEY_Pointer_DownRight: c_int = 65255;
pub const GDK_KEY_Pointer_Drag1: c_int = 65269;
pub const GDK_KEY_Pointer_Drag2: c_int = 65270;
pub const GDK_KEY_Pointer_Drag3: c_int = 65271;
pub const GDK_KEY_Pointer_Drag4: c_int = 65272;
pub const GDK_KEY_Pointer_Drag5: c_int = 65277;
pub const GDK_KEY_Pointer_Drag_Dflt: c_int = 65268;
pub const GDK_KEY_Pointer_EnableKeys: c_int = 65273;
pub const GDK_KEY_Pointer_Left: c_int = 65248;
pub const GDK_KEY_Pointer_Right: c_int = 65249;
pub const GDK_KEY_Pointer_Up: c_int = 65250;
pub const GDK_KEY_Pointer_UpLeft: c_int = 65252;
pub const GDK_KEY_Pointer_UpRight: c_int = 65253;
pub const GDK_KEY_PowerDown: c_int = 269025057;
pub const GDK_KEY_PowerOff: c_int = 269025066;
pub const GDK_KEY_Prev_VMode: c_int = 269024803;
pub const GDK_KEY_Prev_Virtual_Screen: c_int = 65233;
pub const GDK_KEY_PreviousCandidate: c_int = 65342;
pub const GDK_KEY_Print: c_int = 65377;
pub const GDK_KEY_Prior: c_int = 65365;
pub const GDK_KEY_Q: c_int = 81;
pub const GDK_KEY_R: c_int = 82;
pub const GDK_KEY_R1: c_int = 65490;
pub const GDK_KEY_R10: c_int = 65499;
pub const GDK_KEY_R11: c_int = 65500;
pub const GDK_KEY_R12: c_int = 65501;
pub const GDK_KEY_R13: c_int = 65502;
pub const GDK_KEY_R14: c_int = 65503;
pub const GDK_KEY_R15: c_int = 65504;
pub const GDK_KEY_R2: c_int = 65491;
pub const GDK_KEY_R3: c_int = 65492;
pub const GDK_KEY_R4: c_int = 65493;
pub const GDK_KEY_R5: c_int = 65494;
pub const GDK_KEY_R6: c_int = 65495;
pub const GDK_KEY_R7: c_int = 65496;
pub const GDK_KEY_R8: c_int = 65497;
pub const GDK_KEY_R9: c_int = 65498;
pub const GDK_KEY_Racute: c_int = 448;
pub const GDK_KEY_Rcaron: c_int = 472;
pub const GDK_KEY_Rcedilla: c_int = 931;
pub const GDK_KEY_Red: c_int = 269025187;
pub const GDK_KEY_Redo: c_int = 65382;
pub const GDK_KEY_Refresh: c_int = 269025065;
pub const GDK_KEY_Reload: c_int = 269025139;
pub const GDK_KEY_RepeatKeys_Enable: c_int = 65138;
pub const GDK_KEY_Reply: c_int = 269025138;
pub const GDK_KEY_Return: c_int = 65293;
pub const GDK_KEY_Right: c_int = 65363;
pub const GDK_KEY_RockerDown: c_int = 269025060;
pub const GDK_KEY_RockerEnter: c_int = 269025061;
pub const GDK_KEY_RockerUp: c_int = 269025059;
pub const GDK_KEY_Romaji: c_int = 65316;
pub const GDK_KEY_RotateWindows: c_int = 269025140;
pub const GDK_KEY_RotationKB: c_int = 269025142;
pub const GDK_KEY_RotationPB: c_int = 269025141;
pub const GDK_KEY_RupeeSign: c_int = 16785576;
pub const GDK_KEY_S: c_int = 83;
pub const GDK_KEY_SCHWA: c_int = 16777615;
pub const GDK_KEY_Sabovedot: c_int = 16784992;
pub const GDK_KEY_Sacute: c_int = 422;
pub const GDK_KEY_Save: c_int = 269025143;
pub const GDK_KEY_Scaron: c_int = 425;
pub const GDK_KEY_Scedilla: c_int = 426;
pub const GDK_KEY_Scircumflex: c_int = 734;
pub const GDK_KEY_ScreenSaver: c_int = 269025069;
pub const GDK_KEY_ScrollClick: c_int = 269025146;
pub const GDK_KEY_ScrollDown: c_int = 269025145;
pub const GDK_KEY_ScrollUp: c_int = 269025144;
pub const GDK_KEY_Scroll_Lock: c_int = 65300;
pub const GDK_KEY_Search: c_int = 269025051;
pub const GDK_KEY_Select: c_int = 65376;
pub const GDK_KEY_SelectButton: c_int = 269025184;
pub const GDK_KEY_Send: c_int = 269025147;
pub const GDK_KEY_Serbian_DJE: c_int = 1713;
pub const GDK_KEY_Serbian_DZE: c_int = 1727;
pub const GDK_KEY_Serbian_JE: c_int = 1720;
pub const GDK_KEY_Serbian_LJE: c_int = 1721;
pub const GDK_KEY_Serbian_NJE: c_int = 1722;
pub const GDK_KEY_Serbian_TSHE: c_int = 1723;
pub const GDK_KEY_Serbian_dje: c_int = 1697;
pub const GDK_KEY_Serbian_dze: c_int = 1711;
pub const GDK_KEY_Serbian_je: c_int = 1704;
pub const GDK_KEY_Serbian_lje: c_int = 1705;
pub const GDK_KEY_Serbian_nje: c_int = 1706;
pub const GDK_KEY_Serbian_tshe: c_int = 1707;
pub const GDK_KEY_Shift_L: c_int = 65505;
pub const GDK_KEY_Shift_Lock: c_int = 65510;
pub const GDK_KEY_Shift_R: c_int = 65506;
pub const GDK_KEY_Shop: c_int = 269025078;
pub const GDK_KEY_SingleCandidate: c_int = 65340;
pub const GDK_KEY_Sinh_a: c_int = 16780677;
pub const GDK_KEY_Sinh_aa: c_int = 16780678;
pub const GDK_KEY_Sinh_aa2: c_int = 16780751;
pub const GDK_KEY_Sinh_ae: c_int = 16780679;
pub const GDK_KEY_Sinh_ae2: c_int = 16780752;
pub const GDK_KEY_Sinh_aee: c_int = 16780680;
pub const GDK_KEY_Sinh_aee2: c_int = 16780753;
pub const GDK_KEY_Sinh_ai: c_int = 16780691;
pub const GDK_KEY_Sinh_ai2: c_int = 16780763;
pub const GDK_KEY_Sinh_al: c_int = 16780746;
pub const GDK_KEY_Sinh_au: c_int = 16780694;
pub const GDK_KEY_Sinh_au2: c_int = 16780766;
pub const GDK_KEY_Sinh_ba: c_int = 16780726;
pub const GDK_KEY_Sinh_bha: c_int = 16780727;
pub const GDK_KEY_Sinh_ca: c_int = 16780704;
pub const GDK_KEY_Sinh_cha: c_int = 16780705;
pub const GDK_KEY_Sinh_dda: c_int = 16780713;
pub const GDK_KEY_Sinh_ddha: c_int = 16780714;
pub const GDK_KEY_Sinh_dha: c_int = 16780719;
pub const GDK_KEY_Sinh_dhha: c_int = 16780720;
pub const GDK_KEY_Sinh_e: c_int = 16780689;
pub const GDK_KEY_Sinh_e2: c_int = 16780761;
pub const GDK_KEY_Sinh_ee: c_int = 16780690;
pub const GDK_KEY_Sinh_ee2: c_int = 16780762;
pub const GDK_KEY_Sinh_fa: c_int = 16780742;
pub const GDK_KEY_Sinh_ga: c_int = 16780700;
pub const GDK_KEY_Sinh_gha: c_int = 16780701;
pub const GDK_KEY_Sinh_h2: c_int = 16780675;
pub const GDK_KEY_Sinh_ha: c_int = 16780740;
pub const GDK_KEY_Sinh_i: c_int = 16780681;
pub const GDK_KEY_Sinh_i2: c_int = 16780754;
pub const GDK_KEY_Sinh_ii: c_int = 16780682;
pub const GDK_KEY_Sinh_ii2: c_int = 16780755;
pub const GDK_KEY_Sinh_ja: c_int = 16780706;
pub const GDK_KEY_Sinh_jha: c_int = 16780707;
pub const GDK_KEY_Sinh_jnya: c_int = 16780709;
pub const GDK_KEY_Sinh_ka: c_int = 16780698;
pub const GDK_KEY_Sinh_kha: c_int = 16780699;
pub const GDK_KEY_Sinh_kunddaliya: c_int = 16780788;
pub const GDK_KEY_Sinh_la: c_int = 16780733;
pub const GDK_KEY_Sinh_lla: c_int = 16780741;
pub const GDK_KEY_Sinh_lu: c_int = 16780687;
pub const GDK_KEY_Sinh_lu2: c_int = 16780767;
pub const GDK_KEY_Sinh_luu: c_int = 16780688;
pub const GDK_KEY_Sinh_luu2: c_int = 16780787;
pub const GDK_KEY_Sinh_ma: c_int = 16780728;
pub const GDK_KEY_Sinh_mba: c_int = 16780729;
pub const GDK_KEY_Sinh_na: c_int = 16780721;
pub const GDK_KEY_Sinh_ndda: c_int = 16780716;
pub const GDK_KEY_Sinh_ndha: c_int = 16780723;
pub const GDK_KEY_Sinh_ng: c_int = 16780674;
pub const GDK_KEY_Sinh_ng2: c_int = 16780702;
pub const GDK_KEY_Sinh_nga: c_int = 16780703;
pub const GDK_KEY_Sinh_nja: c_int = 16780710;
pub const GDK_KEY_Sinh_nna: c_int = 16780715;
pub const GDK_KEY_Sinh_nya: c_int = 16780708;
pub const GDK_KEY_Sinh_o: c_int = 16780692;
pub const GDK_KEY_Sinh_o2: c_int = 16780764;
pub const GDK_KEY_Sinh_oo: c_int = 16780693;
pub const GDK_KEY_Sinh_oo2: c_int = 16780765;
pub const GDK_KEY_Sinh_pa: c_int = 16780724;
pub const GDK_KEY_Sinh_pha: c_int = 16780725;
pub const GDK_KEY_Sinh_ra: c_int = 16780731;
pub const GDK_KEY_Sinh_ri: c_int = 16780685;
pub const GDK_KEY_Sinh_rii: c_int = 16780686;
pub const GDK_KEY_Sinh_ru2: c_int = 16780760;
pub const GDK_KEY_Sinh_ruu2: c_int = 16780786;
pub const GDK_KEY_Sinh_sa: c_int = 16780739;
pub const GDK_KEY_Sinh_sha: c_int = 16780737;
pub const GDK_KEY_Sinh_ssha: c_int = 16780738;
pub const GDK_KEY_Sinh_tha: c_int = 16780717;
pub const GDK_KEY_Sinh_thha: c_int = 16780718;
pub const GDK_KEY_Sinh_tta: c_int = 16780711;
pub const GDK_KEY_Sinh_ttha: c_int = 16780712;
pub const GDK_KEY_Sinh_u: c_int = 16780683;
pub const GDK_KEY_Sinh_u2: c_int = 16780756;
pub const GDK_KEY_Sinh_uu: c_int = 16780684;
pub const GDK_KEY_Sinh_uu2: c_int = 16780758;
pub const GDK_KEY_Sinh_va: c_int = 16780736;
pub const GDK_KEY_Sinh_ya: c_int = 16780730;
pub const GDK_KEY_Sleep: c_int = 269025071;
pub const GDK_KEY_SlowKeys_Enable: c_int = 65139;
pub const GDK_KEY_Spell: c_int = 269025148;
pub const GDK_KEY_SplitScreen: c_int = 269025149;
pub const GDK_KEY_Standby: c_int = 269025040;
pub const GDK_KEY_Start: c_int = 269025050;
pub const GDK_KEY_StickyKeys_Enable: c_int = 65141;
pub const GDK_KEY_Stop: c_int = 269025064;
pub const GDK_KEY_Subtitle: c_int = 269025178;
pub const GDK_KEY_Super_L: c_int = 65515;
pub const GDK_KEY_Super_R: c_int = 65516;
pub const GDK_KEY_Support: c_int = 269025150;
pub const GDK_KEY_Suspend: c_int = 269025191;
pub const GDK_KEY_Switch_VT_1: c_int = 269024769;
pub const GDK_KEY_Switch_VT_10: c_int = 269024778;
pub const GDK_KEY_Switch_VT_11: c_int = 269024779;
pub const GDK_KEY_Switch_VT_12: c_int = 269024780;
pub const GDK_KEY_Switch_VT_2: c_int = 269024770;
pub const GDK_KEY_Switch_VT_3: c_int = 269024771;
pub const GDK_KEY_Switch_VT_4: c_int = 269024772;
pub const GDK_KEY_Switch_VT_5: c_int = 269024773;
pub const GDK_KEY_Switch_VT_6: c_int = 269024774;
pub const GDK_KEY_Switch_VT_7: c_int = 269024775;
pub const GDK_KEY_Switch_VT_8: c_int = 269024776;
pub const GDK_KEY_Switch_VT_9: c_int = 269024777;
pub const GDK_KEY_Sys_Req: c_int = 65301;
pub const GDK_KEY_T: c_int = 84;
pub const GDK_KEY_THORN: c_int = 222;
pub const GDK_KEY_Tab: c_int = 65289;
pub const GDK_KEY_Tabovedot: c_int = 16785002;
pub const GDK_KEY_TaskPane: c_int = 269025151;
pub const GDK_KEY_Tcaron: c_int = 427;
pub const GDK_KEY_Tcedilla: c_int = 478;
pub const GDK_KEY_Terminal: c_int = 269025152;
pub const GDK_KEY_Terminate_Server: c_int = 65237;
pub const GDK_KEY_Thai_baht: c_int = 3551;
pub const GDK_KEY_Thai_bobaimai: c_int = 3514;
pub const GDK_KEY_Thai_chochan: c_int = 3496;
pub const GDK_KEY_Thai_chochang: c_int = 3498;
pub const GDK_KEY_Thai_choching: c_int = 3497;
pub const GDK_KEY_Thai_chochoe: c_int = 3500;
pub const GDK_KEY_Thai_dochada: c_int = 3502;
pub const GDK_KEY_Thai_dodek: c_int = 3508;
pub const GDK_KEY_Thai_fofa: c_int = 3517;
pub const GDK_KEY_Thai_fofan: c_int = 3519;
pub const GDK_KEY_Thai_hohip: c_int = 3531;
pub const GDK_KEY_Thai_honokhuk: c_int = 3534;
pub const GDK_KEY_Thai_khokhai: c_int = 3490;
pub const GDK_KEY_Thai_khokhon: c_int = 3493;
pub const GDK_KEY_Thai_khokhuat: c_int = 3491;
pub const GDK_KEY_Thai_khokhwai: c_int = 3492;
pub const GDK_KEY_Thai_khorakhang: c_int = 3494;
pub const GDK_KEY_Thai_kokai: c_int = 3489;
pub const GDK_KEY_Thai_lakkhangyao: c_int = 3557;
pub const GDK_KEY_Thai_lekchet: c_int = 3575;
pub const GDK_KEY_Thai_lekha: c_int = 3573;
pub const GDK_KEY_Thai_lekhok: c_int = 3574;
pub const GDK_KEY_Thai_lekkao: c_int = 3577;
pub const GDK_KEY_Thai_leknung: c_int = 3569;
pub const GDK_KEY_Thai_lekpaet: c_int = 3576;
pub const GDK_KEY_Thai_leksam: c_int = 3571;
pub const GDK_KEY_Thai_leksi: c_int = 3572;
pub const GDK_KEY_Thai_leksong: c_int = 3570;
pub const GDK_KEY_Thai_leksun: c_int = 3568;
pub const GDK_KEY_Thai_lochula: c_int = 3532;
pub const GDK_KEY_Thai_loling: c_int = 3525;
pub const GDK_KEY_Thai_lu: c_int = 3526;
pub const GDK_KEY_Thai_maichattawa: c_int = 3563;
pub const GDK_KEY_Thai_maiek: c_int = 3560;
pub const GDK_KEY_Thai_maihanakat: c_int = 3537;
pub const GDK_KEY_Thai_maihanakat_maitho: c_int = 3550;
pub const GDK_KEY_Thai_maitaikhu: c_int = 3559;
pub const GDK_KEY_Thai_maitho: c_int = 3561;
pub const GDK_KEY_Thai_maitri: c_int = 3562;
pub const GDK_KEY_Thai_maiyamok: c_int = 3558;
pub const GDK_KEY_Thai_moma: c_int = 3521;
pub const GDK_KEY_Thai_ngongu: c_int = 3495;
pub const GDK_KEY_Thai_nikhahit: c_int = 3565;
pub const GDK_KEY_Thai_nonen: c_int = 3507;
pub const GDK_KEY_Thai_nonu: c_int = 3513;
pub const GDK_KEY_Thai_oang: c_int = 3533;
pub const GDK_KEY_Thai_paiyannoi: c_int = 3535;
pub const GDK_KEY_Thai_phinthu: c_int = 3546;
pub const GDK_KEY_Thai_phophan: c_int = 3518;
pub const GDK_KEY_Thai_phophung: c_int = 3516;
pub const GDK_KEY_Thai_phosamphao: c_int = 3520;
pub const GDK_KEY_Thai_popla: c_int = 3515;
pub const GDK_KEY_Thai_rorua: c_int = 3523;
pub const GDK_KEY_Thai_ru: c_int = 3524;
pub const GDK_KEY_Thai_saraa: c_int = 3536;
pub const GDK_KEY_Thai_saraaa: c_int = 3538;
pub const GDK_KEY_Thai_saraae: c_int = 3553;
pub const GDK_KEY_Thai_saraaimaimalai: c_int = 3556;
pub const GDK_KEY_Thai_saraaimaimuan: c_int = 3555;
pub const GDK_KEY_Thai_saraam: c_int = 3539;
pub const GDK_KEY_Thai_sarae: c_int = 3552;
pub const GDK_KEY_Thai_sarai: c_int = 3540;
pub const GDK_KEY_Thai_saraii: c_int = 3541;
pub const GDK_KEY_Thai_sarao: c_int = 3554;
pub const GDK_KEY_Thai_sarau: c_int = 3544;
pub const GDK_KEY_Thai_saraue: c_int = 3542;
pub const GDK_KEY_Thai_sarauee: c_int = 3543;
pub const GDK_KEY_Thai_sarauu: c_int = 3545;
pub const GDK_KEY_Thai_sorusi: c_int = 3529;
pub const GDK_KEY_Thai_sosala: c_int = 3528;
pub const GDK_KEY_Thai_soso: c_int = 3499;
pub const GDK_KEY_Thai_sosua: c_int = 3530;
pub const GDK_KEY_Thai_thanthakhat: c_int = 3564;
pub const GDK_KEY_Thai_thonangmontho: c_int = 3505;
pub const GDK_KEY_Thai_thophuthao: c_int = 3506;
pub const GDK_KEY_Thai_thothahan: c_int = 3511;
pub const GDK_KEY_Thai_thothan: c_int = 3504;
pub const GDK_KEY_Thai_thothong: c_int = 3512;
pub const GDK_KEY_Thai_thothung: c_int = 3510;
pub const GDK_KEY_Thai_topatak: c_int = 3503;
pub const GDK_KEY_Thai_totao: c_int = 3509;
pub const GDK_KEY_Thai_wowaen: c_int = 3527;
pub const GDK_KEY_Thai_yoyak: c_int = 3522;
pub const GDK_KEY_Thai_yoying: c_int = 3501;
pub const GDK_KEY_Thorn: c_int = 222;
pub const GDK_KEY_Time: c_int = 269025183;
pub const GDK_KEY_ToDoList: c_int = 269025055;
pub const GDK_KEY_Tools: c_int = 269025153;
pub const GDK_KEY_TopMenu: c_int = 269025186;
pub const GDK_KEY_TouchpadOff: c_int = 269025201;
pub const GDK_KEY_TouchpadOn: c_int = 269025200;
pub const GDK_KEY_TouchpadToggle: c_int = 269025193;
pub const GDK_KEY_Touroku: c_int = 65323;
pub const GDK_KEY_Travel: c_int = 269025154;
pub const GDK_KEY_Tslash: c_int = 940;
pub const GDK_KEY_U: c_int = 85;
pub const GDK_KEY_UWB: c_int = 269025174;
pub const GDK_KEY_Uacute: c_int = 218;
pub const GDK_KEY_Ubelowdot: c_int = 16785124;
pub const GDK_KEY_Ubreve: c_int = 733;
pub const GDK_KEY_Ucircumflex: c_int = 219;
pub const GDK_KEY_Udiaeresis: c_int = 220;
pub const GDK_KEY_Udoubleacute: c_int = 475;
pub const GDK_KEY_Ugrave: c_int = 217;
pub const GDK_KEY_Uhook: c_int = 16785126;
pub const GDK_KEY_Uhorn: c_int = 16777647;
pub const GDK_KEY_Uhornacute: c_int = 16785128;
pub const GDK_KEY_Uhornbelowdot: c_int = 16785136;
pub const GDK_KEY_Uhorngrave: c_int = 16785130;
pub const GDK_KEY_Uhornhook: c_int = 16785132;
pub const GDK_KEY_Uhorntilde: c_int = 16785134;
pub const GDK_KEY_Ukrainian_GHE_WITH_UPTURN: c_int = 1725;
pub const GDK_KEY_Ukrainian_I: c_int = 1718;
pub const GDK_KEY_Ukrainian_IE: c_int = 1716;
pub const GDK_KEY_Ukrainian_YI: c_int = 1719;
pub const GDK_KEY_Ukrainian_ghe_with_upturn: c_int = 1709;
pub const GDK_KEY_Ukrainian_i: c_int = 1702;
pub const GDK_KEY_Ukrainian_ie: c_int = 1700;
pub const GDK_KEY_Ukrainian_yi: c_int = 1703;
pub const GDK_KEY_Ukranian_I: c_int = 1718;
pub const GDK_KEY_Ukranian_JE: c_int = 1716;
pub const GDK_KEY_Ukranian_YI: c_int = 1719;
pub const GDK_KEY_Ukranian_i: c_int = 1702;
pub const GDK_KEY_Ukranian_je: c_int = 1700;
pub const GDK_KEY_Ukranian_yi: c_int = 1703;
pub const GDK_KEY_Umacron: c_int = 990;
pub const GDK_KEY_Undo: c_int = 65381;
pub const GDK_KEY_Ungrab: c_int = 269024800;
pub const GDK_KEY_Uogonek: c_int = 985;
pub const GDK_KEY_Up: c_int = 65362;
pub const GDK_KEY_Uring: c_int = 473;
pub const GDK_KEY_User1KB: c_int = 269025157;
pub const GDK_KEY_User2KB: c_int = 269025158;
pub const GDK_KEY_UserPB: c_int = 269025156;
pub const GDK_KEY_Utilde: c_int = 989;
pub const GDK_KEY_V: c_int = 86;
pub const GDK_KEY_VendorHome: c_int = 269025076;
pub const GDK_KEY_Video: c_int = 269025159;
pub const GDK_KEY_View: c_int = 269025185;
pub const GDK_KEY_VoidSymbol: c_int = 16777215;
pub const GDK_KEY_W: c_int = 87;
pub const GDK_KEY_WLAN: c_int = 269025173;
pub const GDK_KEY_WWW: c_int = 269025070;
pub const GDK_KEY_Wacute: c_int = 16785026;
pub const GDK_KEY_WakeUp: c_int = 269025067;
pub const GDK_KEY_Wcircumflex: c_int = 16777588;
pub const GDK_KEY_Wdiaeresis: c_int = 16785028;
pub const GDK_KEY_WebCam: c_int = 269025167;
pub const GDK_KEY_Wgrave: c_int = 16785024;
pub const GDK_KEY_WheelButton: c_int = 269025160;
pub const GDK_KEY_WindowClear: c_int = 269025109;
pub const GDK_KEY_WonSign: c_int = 16785577;
pub const GDK_KEY_Word: c_int = 269025161;
pub const GDK_KEY_X: c_int = 88;
pub const GDK_KEY_Xabovedot: c_int = 16785034;
pub const GDK_KEY_Xfer: c_int = 269025162;
pub const GDK_KEY_Y: c_int = 89;
pub const GDK_KEY_Yacute: c_int = 221;
pub const GDK_KEY_Ybelowdot: c_int = 16785140;
pub const GDK_KEY_Ycircumflex: c_int = 16777590;
pub const GDK_KEY_Ydiaeresis: c_int = 5054;
pub const GDK_KEY_Yellow: c_int = 269025189;
pub const GDK_KEY_Ygrave: c_int = 16785138;
pub const GDK_KEY_Yhook: c_int = 16785142;
pub const GDK_KEY_Ytilde: c_int = 16785144;
pub const GDK_KEY_Z: c_int = 90;
pub const GDK_KEY_Zabovedot: c_int = 431;
pub const GDK_KEY_Zacute: c_int = 428;
pub const GDK_KEY_Zcaron: c_int = 430;
pub const GDK_KEY_Zen_Koho: c_int = 65341;
pub const GDK_KEY_Zenkaku: c_int = 65320;
pub const GDK_KEY_Zenkaku_Hankaku: c_int = 65322;
pub const GDK_KEY_ZoomIn: c_int = 269025163;
pub const GDK_KEY_ZoomOut: c_int = 269025164;
pub const GDK_KEY_Zstroke: c_int = 16777653;
pub const GDK_KEY_a: c_int = 97;
pub const GDK_KEY_aacute: c_int = 225;
pub const GDK_KEY_abelowdot: c_int = 16785057;
pub const GDK_KEY_abovedot: c_int = 511;
pub const GDK_KEY_abreve: c_int = 483;
pub const GDK_KEY_abreveacute: c_int = 16785071;
pub const GDK_KEY_abrevebelowdot: c_int = 16785079;
pub const GDK_KEY_abrevegrave: c_int = 16785073;
pub const GDK_KEY_abrevehook: c_int = 16785075;
pub const GDK_KEY_abrevetilde: c_int = 16785077;
pub const GDK_KEY_acircumflex: c_int = 226;
pub const GDK_KEY_acircumflexacute: c_int = 16785061;
pub const GDK_KEY_acircumflexbelowdot: c_int = 16785069;
pub const GDK_KEY_acircumflexgrave: c_int = 16785063;
pub const GDK_KEY_acircumflexhook: c_int = 16785065;
pub const GDK_KEY_acircumflextilde: c_int = 16785067;
pub const GDK_KEY_acute: c_int = 180;
pub const GDK_KEY_adiaeresis: c_int = 228;
pub const GDK_KEY_ae: c_int = 230;
pub const GDK_KEY_agrave: c_int = 224;
pub const GDK_KEY_ahook: c_int = 16785059;
pub const GDK_KEY_amacron: c_int = 992;
pub const GDK_KEY_ampersand: c_int = 38;
pub const GDK_KEY_aogonek: c_int = 433;
pub const GDK_KEY_apostrophe: c_int = 39;
pub const GDK_KEY_approxeq: c_int = 16785992;
pub const GDK_KEY_approximate: c_int = 2248;
pub const GDK_KEY_aring: c_int = 229;
pub const GDK_KEY_asciicircum: c_int = 94;
pub const GDK_KEY_asciitilde: c_int = 126;
pub const GDK_KEY_asterisk: c_int = 42;
pub const GDK_KEY_at: c_int = 64;
pub const GDK_KEY_atilde: c_int = 227;
pub const GDK_KEY_b: c_int = 98;
pub const GDK_KEY_babovedot: c_int = 16784899;
pub const GDK_KEY_backslash: c_int = 92;
pub const GDK_KEY_ballotcross: c_int = 2804;
pub const GDK_KEY_bar: c_int = 124;
pub const GDK_KEY_because: c_int = 16785973;
pub const GDK_KEY_blank: c_int = 2527;
pub const GDK_KEY_botintegral: c_int = 2213;
pub const GDK_KEY_botleftparens: c_int = 2220;
pub const GDK_KEY_botleftsqbracket: c_int = 2216;
pub const GDK_KEY_botleftsummation: c_int = 2226;
pub const GDK_KEY_botrightparens: c_int = 2222;
pub const GDK_KEY_botrightsqbracket: c_int = 2218;
pub const GDK_KEY_botrightsummation: c_int = 2230;
pub const GDK_KEY_bott: c_int = 2550;
pub const GDK_KEY_botvertsummationconnector: c_int = 2228;
pub const GDK_KEY_braceleft: c_int = 123;
pub const GDK_KEY_braceright: c_int = 125;
pub const GDK_KEY_bracketleft: c_int = 91;
pub const GDK_KEY_bracketright: c_int = 93;
pub const GDK_KEY_braille_blank: c_int = 16787456;
pub const GDK_KEY_braille_dot_1: c_int = 65521;
pub const GDK_KEY_braille_dot_10: c_int = 65530;
pub const GDK_KEY_braille_dot_2: c_int = 65522;
pub const GDK_KEY_braille_dot_3: c_int = 65523;
pub const GDK_KEY_braille_dot_4: c_int = 65524;
pub const GDK_KEY_braille_dot_5: c_int = 65525;
pub const GDK_KEY_braille_dot_6: c_int = 65526;
pub const GDK_KEY_braille_dot_7: c_int = 65527;
pub const GDK_KEY_braille_dot_8: c_int = 65528;
pub const GDK_KEY_braille_dot_9: c_int = 65529;
pub const GDK_KEY_braille_dots_1: c_int = 16787457;
pub const GDK_KEY_braille_dots_12: c_int = 16787459;
pub const GDK_KEY_braille_dots_123: c_int = 16787463;
pub const GDK_KEY_braille_dots_1234: c_int = 16787471;
pub const GDK_KEY_braille_dots_12345: c_int = 16787487;
pub const GDK_KEY_braille_dots_123456: c_int = 16787519;
pub const GDK_KEY_braille_dots_1234567: c_int = 16787583;
pub const GDK_KEY_braille_dots_12345678: c_int = 16787711;
pub const GDK_KEY_braille_dots_1234568: c_int = 16787647;
pub const GDK_KEY_braille_dots_123457: c_int = 16787551;
pub const GDK_KEY_braille_dots_1234578: c_int = 16787679;
pub const GDK_KEY_braille_dots_123458: c_int = 16787615;
pub const GDK_KEY_braille_dots_12346: c_int = 16787503;
pub const GDK_KEY_braille_dots_123467: c_int = 16787567;
pub const GDK_KEY_braille_dots_1234678: c_int = 16787695;
pub const GDK_KEY_braille_dots_123468: c_int = 16787631;
pub const GDK_KEY_braille_dots_12347: c_int = 16787535;
pub const GDK_KEY_braille_dots_123478: c_int = 16787663;
pub const GDK_KEY_braille_dots_12348: c_int = 16787599;
pub const GDK_KEY_braille_dots_1235: c_int = 16787479;
pub const GDK_KEY_braille_dots_12356: c_int = 16787511;
pub const GDK_KEY_braille_dots_123567: c_int = 16787575;
pub const GDK_KEY_braille_dots_1235678: c_int = 16787703;
pub const GDK_KEY_braille_dots_123568: c_int = 16787639;
pub const GDK_KEY_braille_dots_12357: c_int = 16787543;
pub const GDK_KEY_braille_dots_123578: c_int = 16787671;
pub const GDK_KEY_braille_dots_12358: c_int = 16787607;
pub const GDK_KEY_braille_dots_1236: c_int = 16787495;
pub const GDK_KEY_braille_dots_12367: c_int = 16787559;
pub const GDK_KEY_braille_dots_123678: c_int = 16787687;
pub const GDK_KEY_braille_dots_12368: c_int = 16787623;
pub const GDK_KEY_braille_dots_1237: c_int = 16787527;
pub const GDK_KEY_braille_dots_12378: c_int = 16787655;
pub const GDK_KEY_braille_dots_1238: c_int = 16787591;
pub const GDK_KEY_braille_dots_124: c_int = 16787467;
pub const GDK_KEY_braille_dots_1245: c_int = 16787483;
pub const GDK_KEY_braille_dots_12456: c_int = 16787515;
pub const GDK_KEY_braille_dots_124567: c_int = 16787579;
pub const GDK_KEY_braille_dots_1245678: c_int = 16787707;
pub const GDK_KEY_braille_dots_124568: c_int = 16787643;
pub const GDK_KEY_braille_dots_12457: c_int = 16787547;
pub const GDK_KEY_braille_dots_124578: c_int = 16787675;
pub const GDK_KEY_braille_dots_12458: c_int = 16787611;
pub const GDK_KEY_braille_dots_1246: c_int = 16787499;
pub const GDK_KEY_braille_dots_12467: c_int = 16787563;
pub const GDK_KEY_braille_dots_124678: c_int = 16787691;
pub const GDK_KEY_braille_dots_12468: c_int = 16787627;
pub const GDK_KEY_braille_dots_1247: c_int = 16787531;
pub const GDK_KEY_braille_dots_12478: c_int = 16787659;
pub const GDK_KEY_braille_dots_1248: c_int = 16787595;
pub const GDK_KEY_braille_dots_125: c_int = 16787475;
pub const GDK_KEY_braille_dots_1256: c_int = 16787507;
pub const GDK_KEY_braille_dots_12567: c_int = 16787571;
pub const GDK_KEY_braille_dots_125678: c_int = 16787699;
pub const GDK_KEY_braille_dots_12568: c_int = 16787635;
pub const GDK_KEY_braille_dots_1257: c_int = 16787539;
pub const GDK_KEY_braille_dots_12578: c_int = 16787667;
pub const GDK_KEY_braille_dots_1258: c_int = 16787603;
pub const GDK_KEY_braille_dots_126: c_int = 16787491;
pub const GDK_KEY_braille_dots_1267: c_int = 16787555;
pub const GDK_KEY_braille_dots_12678: c_int = 16787683;
pub const GDK_KEY_braille_dots_1268: c_int = 16787619;
pub const GDK_KEY_braille_dots_127: c_int = 16787523;
pub const GDK_KEY_braille_dots_1278: c_int = 16787651;
pub const GDK_KEY_braille_dots_128: c_int = 16787587;
pub const GDK_KEY_braille_dots_13: c_int = 16787461;
pub const GDK_KEY_braille_dots_134: c_int = 16787469;
pub const GDK_KEY_braille_dots_1345: c_int = 16787485;
pub const GDK_KEY_braille_dots_13456: c_int = 16787517;
pub const GDK_KEY_braille_dots_134567: c_int = 16787581;
pub const GDK_KEY_braille_dots_1345678: c_int = 16787709;
pub const GDK_KEY_braille_dots_134568: c_int = 16787645;
pub const GDK_KEY_braille_dots_13457: c_int = 16787549;
pub const GDK_KEY_braille_dots_134578: c_int = 16787677;
pub const GDK_KEY_braille_dots_13458: c_int = 16787613;
pub const GDK_KEY_braille_dots_1346: c_int = 16787501;
pub const GDK_KEY_braille_dots_13467: c_int = 16787565;
pub const GDK_KEY_braille_dots_134678: c_int = 16787693;
pub const GDK_KEY_braille_dots_13468: c_int = 16787629;
pub const GDK_KEY_braille_dots_1347: c_int = 16787533;
pub const GDK_KEY_braille_dots_13478: c_int = 16787661;
pub const GDK_KEY_braille_dots_1348: c_int = 16787597;
pub const GDK_KEY_braille_dots_135: c_int = 16787477;
pub const GDK_KEY_braille_dots_1356: c_int = 16787509;
pub const GDK_KEY_braille_dots_13567: c_int = 16787573;
pub const GDK_KEY_braille_dots_135678: c_int = 16787701;
pub const GDK_KEY_braille_dots_13568: c_int = 16787637;
pub const GDK_KEY_braille_dots_1357: c_int = 16787541;
pub const GDK_KEY_braille_dots_13578: c_int = 16787669;
pub const GDK_KEY_braille_dots_1358: c_int = 16787605;
pub const GDK_KEY_braille_dots_136: c_int = 16787493;
pub const GDK_KEY_braille_dots_1367: c_int = 16787557;
pub const GDK_KEY_braille_dots_13678: c_int = 16787685;
pub const GDK_KEY_braille_dots_1368: c_int = 16787621;
pub const GDK_KEY_braille_dots_137: c_int = 16787525;
pub const GDK_KEY_braille_dots_1378: c_int = 16787653;
pub const GDK_KEY_braille_dots_138: c_int = 16787589;
pub const GDK_KEY_braille_dots_14: c_int = 16787465;
pub const GDK_KEY_braille_dots_145: c_int = 16787481;
pub const GDK_KEY_braille_dots_1456: c_int = 16787513;
pub const GDK_KEY_braille_dots_14567: c_int = 16787577;
pub const GDK_KEY_braille_dots_145678: c_int = 16787705;
pub const GDK_KEY_braille_dots_14568: c_int = 16787641;
pub const GDK_KEY_braille_dots_1457: c_int = 16787545;
pub const GDK_KEY_braille_dots_14578: c_int = 16787673;
pub const GDK_KEY_braille_dots_1458: c_int = 16787609;
pub const GDK_KEY_braille_dots_146: c_int = 16787497;
pub const GDK_KEY_braille_dots_1467: c_int = 16787561;
pub const GDK_KEY_braille_dots_14678: c_int = 16787689;
pub const GDK_KEY_braille_dots_1468: c_int = 16787625;
pub const GDK_KEY_braille_dots_147: c_int = 16787529;
pub const GDK_KEY_braille_dots_1478: c_int = 16787657;
pub const GDK_KEY_braille_dots_148: c_int = 16787593;
pub const GDK_KEY_braille_dots_15: c_int = 16787473;
pub const GDK_KEY_braille_dots_156: c_int = 16787505;
pub const GDK_KEY_braille_dots_1567: c_int = 16787569;
pub const GDK_KEY_braille_dots_15678: c_int = 16787697;
pub const GDK_KEY_braille_dots_1568: c_int = 16787633;
pub const GDK_KEY_braille_dots_157: c_int = 16787537;
pub const GDK_KEY_braille_dots_1578: c_int = 16787665;
pub const GDK_KEY_braille_dots_158: c_int = 16787601;
pub const GDK_KEY_braille_dots_16: c_int = 16787489;
pub const GDK_KEY_braille_dots_167: c_int = 16787553;
pub const GDK_KEY_braille_dots_1678: c_int = 16787681;
pub const GDK_KEY_braille_dots_168: c_int = 16787617;
pub const GDK_KEY_braille_dots_17: c_int = 16787521;
pub const GDK_KEY_braille_dots_178: c_int = 16787649;
pub const GDK_KEY_braille_dots_18: c_int = 16787585;
pub const GDK_KEY_braille_dots_2: c_int = 16787458;
pub const GDK_KEY_braille_dots_23: c_int = 16787462;
pub const GDK_KEY_braille_dots_234: c_int = 16787470;
pub const GDK_KEY_braille_dots_2345: c_int = 16787486;
pub const GDK_KEY_braille_dots_23456: c_int = 16787518;
pub const GDK_KEY_braille_dots_234567: c_int = 16787582;
pub const GDK_KEY_braille_dots_2345678: c_int = 16787710;
pub const GDK_KEY_braille_dots_234568: c_int = 16787646;
pub const GDK_KEY_braille_dots_23457: c_int = 16787550;
pub const GDK_KEY_braille_dots_234578: c_int = 16787678;
pub const GDK_KEY_braille_dots_23458: c_int = 16787614;
pub const GDK_KEY_braille_dots_2346: c_int = 16787502;
pub const GDK_KEY_braille_dots_23467: c_int = 16787566;
pub const GDK_KEY_braille_dots_234678: c_int = 16787694;
pub const GDK_KEY_braille_dots_23468: c_int = 16787630;
pub const GDK_KEY_braille_dots_2347: c_int = 16787534;
pub const GDK_KEY_braille_dots_23478: c_int = 16787662;
pub const GDK_KEY_braille_dots_2348: c_int = 16787598;
pub const GDK_KEY_braille_dots_235: c_int = 16787478;
pub const GDK_KEY_braille_dots_2356: c_int = 16787510;
pub const GDK_KEY_braille_dots_23567: c_int = 16787574;
pub const GDK_KEY_braille_dots_235678: c_int = 16787702;
pub const GDK_KEY_braille_dots_23568: c_int = 16787638;
pub const GDK_KEY_braille_dots_2357: c_int = 16787542;
pub const GDK_KEY_braille_dots_23578: c_int = 16787670;
pub const GDK_KEY_braille_dots_2358: c_int = 16787606;
pub const GDK_KEY_braille_dots_236: c_int = 16787494;
pub const GDK_KEY_braille_dots_2367: c_int = 16787558;
pub const GDK_KEY_braille_dots_23678: c_int = 16787686;
pub const GDK_KEY_braille_dots_2368: c_int = 16787622;
pub const GDK_KEY_braille_dots_237: c_int = 16787526;
pub const GDK_KEY_braille_dots_2378: c_int = 16787654;
pub const GDK_KEY_braille_dots_238: c_int = 16787590;
pub const GDK_KEY_braille_dots_24: c_int = 16787466;
pub const GDK_KEY_braille_dots_245: c_int = 16787482;
pub const GDK_KEY_braille_dots_2456: c_int = 16787514;
pub const GDK_KEY_braille_dots_24567: c_int = 16787578;
pub const GDK_KEY_braille_dots_245678: c_int = 16787706;
pub const GDK_KEY_braille_dots_24568: c_int = 16787642;
pub const GDK_KEY_braille_dots_2457: c_int = 16787546;
pub const GDK_KEY_braille_dots_24578: c_int = 16787674;
pub const GDK_KEY_braille_dots_2458: c_int = 16787610;
pub const GDK_KEY_braille_dots_246: c_int = 16787498;
pub const GDK_KEY_braille_dots_2467: c_int = 16787562;
pub const GDK_KEY_braille_dots_24678: c_int = 16787690;
pub const GDK_KEY_braille_dots_2468: c_int = 16787626;
pub const GDK_KEY_braille_dots_247: c_int = 16787530;
pub const GDK_KEY_braille_dots_2478: c_int = 16787658;
pub const GDK_KEY_braille_dots_248: c_int = 16787594;
pub const GDK_KEY_braille_dots_25: c_int = 16787474;
pub const GDK_KEY_braille_dots_256: c_int = 16787506;
pub const GDK_KEY_braille_dots_2567: c_int = 16787570;
pub const GDK_KEY_braille_dots_25678: c_int = 16787698;
pub const GDK_KEY_braille_dots_2568: c_int = 16787634;
pub const GDK_KEY_braille_dots_257: c_int = 16787538;
pub const GDK_KEY_braille_dots_2578: c_int = 16787666;
pub const GDK_KEY_braille_dots_258: c_int = 16787602;
pub const GDK_KEY_braille_dots_26: c_int = 16787490;
pub const GDK_KEY_braille_dots_267: c_int = 16787554;
pub const GDK_KEY_braille_dots_2678: c_int = 16787682;
pub const GDK_KEY_braille_dots_268: c_int = 16787618;
pub const GDK_KEY_braille_dots_27: c_int = 16787522;
pub const GDK_KEY_braille_dots_278: c_int = 16787650;
pub const GDK_KEY_braille_dots_28: c_int = 16787586;
pub const GDK_KEY_braille_dots_3: c_int = 16787460;
pub const GDK_KEY_braille_dots_34: c_int = 16787468;
pub const GDK_KEY_braille_dots_345: c_int = 16787484;
pub const GDK_KEY_braille_dots_3456: c_int = 16787516;
pub const GDK_KEY_braille_dots_34567: c_int = 16787580;
pub const GDK_KEY_braille_dots_345678: c_int = 16787708;
pub const GDK_KEY_braille_dots_34568: c_int = 16787644;
pub const GDK_KEY_braille_dots_3457: c_int = 16787548;
pub const GDK_KEY_braille_dots_34578: c_int = 16787676;
pub const GDK_KEY_braille_dots_3458: c_int = 16787612;
pub const GDK_KEY_braille_dots_346: c_int = 16787500;
pub const GDK_KEY_braille_dots_3467: c_int = 16787564;
pub const GDK_KEY_braille_dots_34678: c_int = 16787692;
pub const GDK_KEY_braille_dots_3468: c_int = 16787628;
pub const GDK_KEY_braille_dots_347: c_int = 16787532;
pub const GDK_KEY_braille_dots_3478: c_int = 16787660;
pub const GDK_KEY_braille_dots_348: c_int = 16787596;
pub const GDK_KEY_braille_dots_35: c_int = 16787476;
pub const GDK_KEY_braille_dots_356: c_int = 16787508;
pub const GDK_KEY_braille_dots_3567: c_int = 16787572;
pub const GDK_KEY_braille_dots_35678: c_int = 16787700;
pub const GDK_KEY_braille_dots_3568: c_int = 16787636;
pub const GDK_KEY_braille_dots_357: c_int = 16787540;
pub const GDK_KEY_braille_dots_3578: c_int = 16787668;
pub const GDK_KEY_braille_dots_358: c_int = 16787604;
pub const GDK_KEY_braille_dots_36: c_int = 16787492;
pub const GDK_KEY_braille_dots_367: c_int = 16787556;
pub const GDK_KEY_braille_dots_3678: c_int = 16787684;
pub const GDK_KEY_braille_dots_368: c_int = 16787620;
pub const GDK_KEY_braille_dots_37: c_int = 16787524;
pub const GDK_KEY_braille_dots_378: c_int = 16787652;
pub const GDK_KEY_braille_dots_38: c_int = 16787588;
pub const GDK_KEY_braille_dots_4: c_int = 16787464;
pub const GDK_KEY_braille_dots_45: c_int = 16787480;
pub const GDK_KEY_braille_dots_456: c_int = 16787512;
pub const GDK_KEY_braille_dots_4567: c_int = 16787576;
pub const GDK_KEY_braille_dots_45678: c_int = 16787704;
pub const GDK_KEY_braille_dots_4568: c_int = 16787640;
pub const GDK_KEY_braille_dots_457: c_int = 16787544;
pub const GDK_KEY_braille_dots_4578: c_int = 16787672;
pub const GDK_KEY_braille_dots_458: c_int = 16787608;
pub const GDK_KEY_braille_dots_46: c_int = 16787496;
pub const GDK_KEY_braille_dots_467: c_int = 16787560;
pub const GDK_KEY_braille_dots_4678: c_int = 16787688;
pub const GDK_KEY_braille_dots_468: c_int = 16787624;
pub const GDK_KEY_braille_dots_47: c_int = 16787528;
pub const GDK_KEY_braille_dots_478: c_int = 16787656;
pub const GDK_KEY_braille_dots_48: c_int = 16787592;
pub const GDK_KEY_braille_dots_5: c_int = 16787472;
pub const GDK_KEY_braille_dots_56: c_int = 16787504;
pub const GDK_KEY_braille_dots_567: c_int = 16787568;
pub const GDK_KEY_braille_dots_5678: c_int = 16787696;
pub const GDK_KEY_braille_dots_568: c_int = 16787632;
pub const GDK_KEY_braille_dots_57: c_int = 16787536;
pub const GDK_KEY_braille_dots_578: c_int = 16787664;
pub const GDK_KEY_braille_dots_58: c_int = 16787600;
pub const GDK_KEY_braille_dots_6: c_int = 16787488;
pub const GDK_KEY_braille_dots_67: c_int = 16787552;
pub const GDK_KEY_braille_dots_678: c_int = 16787680;
pub const GDK_KEY_braille_dots_68: c_int = 16787616;
pub const GDK_KEY_braille_dots_7: c_int = 16787520;
pub const GDK_KEY_braille_dots_78: c_int = 16787648;
pub const GDK_KEY_braille_dots_8: c_int = 16787584;
pub const GDK_KEY_breve: c_int = 418;
pub const GDK_KEY_brokenbar: c_int = 166;
pub const GDK_KEY_c: c_int = 99;
pub const GDK_KEY_c_h: c_int = 65187;
pub const GDK_KEY_cabovedot: c_int = 741;
pub const GDK_KEY_cacute: c_int = 486;
pub const GDK_KEY_careof: c_int = 2744;
pub const GDK_KEY_caret: c_int = 2812;
pub const GDK_KEY_caron: c_int = 439;
pub const GDK_KEY_ccaron: c_int = 488;
pub const GDK_KEY_ccedilla: c_int = 231;
pub const GDK_KEY_ccircumflex: c_int = 742;
pub const GDK_KEY_cedilla: c_int = 184;
pub const GDK_KEY_cent: c_int = 162;
pub const GDK_KEY_ch: c_int = 65184;
pub const GDK_KEY_checkerboard: c_int = 2529;
pub const GDK_KEY_checkmark: c_int = 2803;
pub const GDK_KEY_circle: c_int = 3023;
pub const GDK_KEY_club: c_int = 2796;
pub const GDK_KEY_colon: c_int = 58;
pub const GDK_KEY_comma: c_int = 44;
pub const GDK_KEY_containsas: c_int = 16785931;
pub const GDK_KEY_copyright: c_int = 169;
pub const GDK_KEY_cr: c_int = 2532;
pub const GDK_KEY_crossinglines: c_int = 2542;
pub const GDK_KEY_cuberoot: c_int = 16785947;
pub const GDK_KEY_currency: c_int = 164;
pub const GDK_KEY_cursor: c_int = 2815;
pub const GDK_KEY_d: c_int = 100;
pub const GDK_KEY_dabovedot: c_int = 16784907;
pub const GDK_KEY_dagger: c_int = 2801;
pub const GDK_KEY_dcaron: c_int = 495;
pub const GDK_KEY_dead_A: c_int = 65153;
pub const GDK_KEY_dead_E: c_int = 65155;
pub const GDK_KEY_dead_I: c_int = 65157;
pub const GDK_KEY_dead_O: c_int = 65159;
pub const GDK_KEY_dead_U: c_int = 65161;
pub const GDK_KEY_dead_a: c_int = 65152;
pub const GDK_KEY_dead_abovecomma: c_int = 65124;
pub const GDK_KEY_dead_abovedot: c_int = 65110;
pub const GDK_KEY_dead_abovereversedcomma: c_int = 65125;
pub const GDK_KEY_dead_abovering: c_int = 65112;
pub const GDK_KEY_dead_acute: c_int = 65105;
pub const GDK_KEY_dead_belowbreve: c_int = 65131;
pub const GDK_KEY_dead_belowcircumflex: c_int = 65129;
pub const GDK_KEY_dead_belowcomma: c_int = 65134;
pub const GDK_KEY_dead_belowdiaeresis: c_int = 65132;
pub const GDK_KEY_dead_belowdot: c_int = 65120;
pub const GDK_KEY_dead_belowmacron: c_int = 65128;
pub const GDK_KEY_dead_belowring: c_int = 65127;
pub const GDK_KEY_dead_belowtilde: c_int = 65130;
pub const GDK_KEY_dead_breve: c_int = 65109;
pub const GDK_KEY_dead_capital_schwa: c_int = 65163;
pub const GDK_KEY_dead_caron: c_int = 65114;
pub const GDK_KEY_dead_cedilla: c_int = 65115;
pub const GDK_KEY_dead_circumflex: c_int = 65106;
pub const GDK_KEY_dead_currency: c_int = 65135;
pub const GDK_KEY_dead_dasia: c_int = 65125;
pub const GDK_KEY_dead_diaeresis: c_int = 65111;
pub const GDK_KEY_dead_doubleacute: c_int = 65113;
pub const GDK_KEY_dead_doublegrave: c_int = 65126;
pub const GDK_KEY_dead_e: c_int = 65154;
pub const GDK_KEY_dead_grave: c_int = 65104;
pub const GDK_KEY_dead_greek: c_int = 65164;
pub const GDK_KEY_dead_hook: c_int = 65121;
pub const GDK_KEY_dead_horn: c_int = 65122;
pub const GDK_KEY_dead_i: c_int = 65156;
pub const GDK_KEY_dead_invertedbreve: c_int = 65133;
pub const GDK_KEY_dead_iota: c_int = 65117;
pub const GDK_KEY_dead_macron: c_int = 65108;
pub const GDK_KEY_dead_o: c_int = 65158;
pub const GDK_KEY_dead_ogonek: c_int = 65116;
pub const GDK_KEY_dead_perispomeni: c_int = 65107;
pub const GDK_KEY_dead_psili: c_int = 65124;
pub const GDK_KEY_dead_semivoiced_sound: c_int = 65119;
pub const GDK_KEY_dead_small_schwa: c_int = 65162;
pub const GDK_KEY_dead_stroke: c_int = 65123;
pub const GDK_KEY_dead_tilde: c_int = 65107;
pub const GDK_KEY_dead_u: c_int = 65160;
pub const GDK_KEY_dead_voiced_sound: c_int = 65118;
pub const GDK_KEY_decimalpoint: c_int = 2749;
pub const GDK_KEY_degree: c_int = 176;
pub const GDK_KEY_diaeresis: c_int = 168;
pub const GDK_KEY_diamond: c_int = 2797;
pub const GDK_KEY_digitspace: c_int = 2725;
pub const GDK_KEY_dintegral: c_int = 16785964;
pub const GDK_KEY_division: c_int = 247;
pub const GDK_KEY_dollar: c_int = 36;
pub const GDK_KEY_doubbaselinedot: c_int = 2735;
pub const GDK_KEY_doubleacute: c_int = 445;
pub const GDK_KEY_doubledagger: c_int = 2802;
pub const GDK_KEY_doublelowquotemark: c_int = 2814;
pub const GDK_KEY_downarrow: c_int = 2302;
pub const GDK_KEY_downcaret: c_int = 2984;
pub const GDK_KEY_downshoe: c_int = 3030;
pub const GDK_KEY_downstile: c_int = 3012;
pub const GDK_KEY_downtack: c_int = 3010;
pub const GDK_KEY_dstroke: c_int = 496;
pub const GDK_KEY_e: c_int = 101;
pub const GDK_KEY_eabovedot: c_int = 1004;
pub const GDK_KEY_eacute: c_int = 233;
pub const GDK_KEY_ebelowdot: c_int = 16785081;
pub const GDK_KEY_ecaron: c_int = 492;
pub const GDK_KEY_ecircumflex: c_int = 234;
pub const GDK_KEY_ecircumflexacute: c_int = 16785087;
pub const GDK_KEY_ecircumflexbelowdot: c_int = 16785095;
pub const GDK_KEY_ecircumflexgrave: c_int = 16785089;
pub const GDK_KEY_ecircumflexhook: c_int = 16785091;
pub const GDK_KEY_ecircumflextilde: c_int = 16785093;
pub const GDK_KEY_ediaeresis: c_int = 235;
pub const GDK_KEY_egrave: c_int = 232;
pub const GDK_KEY_ehook: c_int = 16785083;
pub const GDK_KEY_eightsubscript: c_int = 16785544;
pub const GDK_KEY_eightsuperior: c_int = 16785528;
pub const GDK_KEY_elementof: c_int = 16785928;
pub const GDK_KEY_ellipsis: c_int = 2734;
pub const GDK_KEY_em3space: c_int = 2723;
pub const GDK_KEY_em4space: c_int = 2724;
pub const GDK_KEY_emacron: c_int = 954;
pub const GDK_KEY_emdash: c_int = 2729;
pub const GDK_KEY_emfilledcircle: c_int = 2782;
pub const GDK_KEY_emfilledrect: c_int = 2783;
pub const GDK_KEY_emopencircle: c_int = 2766;
pub const GDK_KEY_emopenrectangle: c_int = 2767;
pub const GDK_KEY_emptyset: c_int = 16785925;
pub const GDK_KEY_emspace: c_int = 2721;
pub const GDK_KEY_endash: c_int = 2730;
pub const GDK_KEY_enfilledcircbullet: c_int = 2790;
pub const GDK_KEY_enfilledsqbullet: c_int = 2791;
pub const GDK_KEY_eng: c_int = 959;
pub const GDK_KEY_enopencircbullet: c_int = 2784;
pub const GDK_KEY_enopensquarebullet: c_int = 2785;
pub const GDK_KEY_enspace: c_int = 2722;
pub const GDK_KEY_eogonek: c_int = 490;
pub const GDK_KEY_equal: c_int = 61;
pub const GDK_KEY_eth: c_int = 240;
pub const GDK_KEY_etilde: c_int = 16785085;
pub const GDK_KEY_exclam: c_int = 33;
pub const GDK_KEY_exclamdown: c_int = 161;
pub const GDK_KEY_ezh: c_int = 16777874;
pub const GDK_KEY_f: c_int = 102;
pub const GDK_KEY_fabovedot: c_int = 16784927;
pub const GDK_KEY_femalesymbol: c_int = 2808;
pub const GDK_KEY_ff: c_int = 2531;
pub const GDK_KEY_figdash: c_int = 2747;
pub const GDK_KEY_filledlefttribullet: c_int = 2780;
pub const GDK_KEY_filledrectbullet: c_int = 2779;
pub const GDK_KEY_filledrighttribullet: c_int = 2781;
pub const GDK_KEY_filledtribulletdown: c_int = 2793;
pub const GDK_KEY_filledtribulletup: c_int = 2792;
pub const GDK_KEY_fiveeighths: c_int = 2757;
pub const GDK_KEY_fivesixths: c_int = 2743;
pub const GDK_KEY_fivesubscript: c_int = 16785541;
pub const GDK_KEY_fivesuperior: c_int = 16785525;
pub const GDK_KEY_fourfifths: c_int = 2741;
pub const GDK_KEY_foursubscript: c_int = 16785540;
pub const GDK_KEY_foursuperior: c_int = 16785524;
pub const GDK_KEY_fourthroot: c_int = 16785948;
pub const GDK_KEY_function: c_int = 2294;
pub const GDK_KEY_g: c_int = 103;
pub const GDK_KEY_gabovedot: c_int = 757;
pub const GDK_KEY_gbreve: c_int = 699;
pub const GDK_KEY_gcaron: c_int = 16777703;
pub const GDK_KEY_gcedilla: c_int = 955;
pub const GDK_KEY_gcircumflex: c_int = 760;
pub const GDK_KEY_grave: c_int = 96;
pub const GDK_KEY_greater: c_int = 62;
pub const GDK_KEY_greaterthanequal: c_int = 2238;
pub const GDK_KEY_guillemotleft: c_int = 171;
pub const GDK_KEY_guillemotright: c_int = 187;
pub const GDK_KEY_h: c_int = 104;
pub const GDK_KEY_hairspace: c_int = 2728;
pub const GDK_KEY_hcircumflex: c_int = 694;
pub const GDK_KEY_heart: c_int = 2798;
pub const GDK_KEY_hebrew_aleph: c_int = 3296;
pub const GDK_KEY_hebrew_ayin: c_int = 3314;
pub const GDK_KEY_hebrew_bet: c_int = 3297;
pub const GDK_KEY_hebrew_beth: c_int = 3297;
pub const GDK_KEY_hebrew_chet: c_int = 3303;
pub const GDK_KEY_hebrew_dalet: c_int = 3299;
pub const GDK_KEY_hebrew_daleth: c_int = 3299;
pub const GDK_KEY_hebrew_doublelowline: c_int = 3295;
pub const GDK_KEY_hebrew_finalkaph: c_int = 3306;
pub const GDK_KEY_hebrew_finalmem: c_int = 3309;
pub const GDK_KEY_hebrew_finalnun: c_int = 3311;
pub const GDK_KEY_hebrew_finalpe: c_int = 3315;
pub const GDK_KEY_hebrew_finalzade: c_int = 3317;
pub const GDK_KEY_hebrew_finalzadi: c_int = 3317;
pub const GDK_KEY_hebrew_gimel: c_int = 3298;
pub const GDK_KEY_hebrew_gimmel: c_int = 3298;
pub const GDK_KEY_hebrew_he: c_int = 3300;
pub const GDK_KEY_hebrew_het: c_int = 3303;
pub const GDK_KEY_hebrew_kaph: c_int = 3307;
pub const GDK_KEY_hebrew_kuf: c_int = 3319;
pub const GDK_KEY_hebrew_lamed: c_int = 3308;
pub const GDK_KEY_hebrew_mem: c_int = 3310;
pub const GDK_KEY_hebrew_nun: c_int = 3312;
pub const GDK_KEY_hebrew_pe: c_int = 3316;
pub const GDK_KEY_hebrew_qoph: c_int = 3319;
pub const GDK_KEY_hebrew_resh: c_int = 3320;
pub const GDK_KEY_hebrew_samech: c_int = 3313;
pub const GDK_KEY_hebrew_samekh: c_int = 3313;
pub const GDK_KEY_hebrew_shin: c_int = 3321;
pub const GDK_KEY_hebrew_taf: c_int = 3322;
pub const GDK_KEY_hebrew_taw: c_int = 3322;
pub const GDK_KEY_hebrew_tet: c_int = 3304;
pub const GDK_KEY_hebrew_teth: c_int = 3304;
pub const GDK_KEY_hebrew_waw: c_int = 3301;
pub const GDK_KEY_hebrew_yod: c_int = 3305;
pub const GDK_KEY_hebrew_zade: c_int = 3318;
pub const GDK_KEY_hebrew_zadi: c_int = 3318;
pub const GDK_KEY_hebrew_zain: c_int = 3302;
pub const GDK_KEY_hebrew_zayin: c_int = 3302;
pub const GDK_KEY_hexagram: c_int = 2778;
pub const GDK_KEY_horizconnector: c_int = 2211;
pub const GDK_KEY_horizlinescan1: c_int = 2543;
pub const GDK_KEY_horizlinescan3: c_int = 2544;
pub const GDK_KEY_horizlinescan5: c_int = 2545;
pub const GDK_KEY_horizlinescan7: c_int = 2546;
pub const GDK_KEY_horizlinescan9: c_int = 2547;
pub const GDK_KEY_hstroke: c_int = 689;
pub const GDK_KEY_ht: c_int = 2530;
pub const GDK_KEY_hyphen: c_int = 173;
pub const GDK_KEY_i: c_int = 105;
pub const GDK_KEY_iTouch: c_int = 269025120;
pub const GDK_KEY_iacute: c_int = 237;
pub const GDK_KEY_ibelowdot: c_int = 16785099;
pub const GDK_KEY_ibreve: c_int = 16777517;
pub const GDK_KEY_icircumflex: c_int = 238;
pub const GDK_KEY_identical: c_int = 2255;
pub const GDK_KEY_idiaeresis: c_int = 239;
pub const GDK_KEY_idotless: c_int = 697;
pub const GDK_KEY_ifonlyif: c_int = 2253;
pub const GDK_KEY_igrave: c_int = 236;
pub const GDK_KEY_ihook: c_int = 16785097;
pub const GDK_KEY_imacron: c_int = 1007;
pub const GDK_KEY_implies: c_int = 2254;
pub const GDK_KEY_includedin: c_int = 2266;
pub const GDK_KEY_includes: c_int = 2267;
pub const GDK_KEY_infinity: c_int = 2242;
pub const GDK_KEY_integral: c_int = 2239;
pub const GDK_KEY_intersection: c_int = 2268;
pub const GDK_KEY_iogonek: c_int = 999;
pub const GDK_KEY_itilde: c_int = 949;
pub const GDK_KEY_j: c_int = 106;
pub const GDK_KEY_jcircumflex: c_int = 700;
pub const GDK_KEY_jot: c_int = 3018;
pub const GDK_KEY_k: c_int = 107;
pub const GDK_KEY_kana_A: c_int = 1201;
pub const GDK_KEY_kana_CHI: c_int = 1217;
pub const GDK_KEY_kana_E: c_int = 1204;
pub const GDK_KEY_kana_FU: c_int = 1228;
pub const GDK_KEY_kana_HA: c_int = 1226;
pub const GDK_KEY_kana_HE: c_int = 1229;
pub const GDK_KEY_kana_HI: c_int = 1227;
pub const GDK_KEY_kana_HO: c_int = 1230;
pub const GDK_KEY_kana_HU: c_int = 1228;
pub const GDK_KEY_kana_I: c_int = 1202;
pub const GDK_KEY_kana_KA: c_int = 1206;
pub const GDK_KEY_kana_KE: c_int = 1209;
pub const GDK_KEY_kana_KI: c_int = 1207;
pub const GDK_KEY_kana_KO: c_int = 1210;
pub const GDK_KEY_kana_KU: c_int = 1208;
pub const GDK_KEY_kana_MA: c_int = 1231;
pub const GDK_KEY_kana_ME: c_int = 1234;
pub const GDK_KEY_kana_MI: c_int = 1232;
pub const GDK_KEY_kana_MO: c_int = 1235;
pub const GDK_KEY_kana_MU: c_int = 1233;
pub const GDK_KEY_kana_N: c_int = 1245;
pub const GDK_KEY_kana_NA: c_int = 1221;
pub const GDK_KEY_kana_NE: c_int = 1224;
pub const GDK_KEY_kana_NI: c_int = 1222;
pub const GDK_KEY_kana_NO: c_int = 1225;
pub const GDK_KEY_kana_NU: c_int = 1223;
pub const GDK_KEY_kana_O: c_int = 1205;
pub const GDK_KEY_kana_RA: c_int = 1239;
pub const GDK_KEY_kana_RE: c_int = 1242;
pub const GDK_KEY_kana_RI: c_int = 1240;
pub const GDK_KEY_kana_RO: c_int = 1243;
pub const GDK_KEY_kana_RU: c_int = 1241;
pub const GDK_KEY_kana_SA: c_int = 1211;
pub const GDK_KEY_kana_SE: c_int = 1214;
pub const GDK_KEY_kana_SHI: c_int = 1212;
pub const GDK_KEY_kana_SO: c_int = 1215;
pub const GDK_KEY_kana_SU: c_int = 1213;
pub const GDK_KEY_kana_TA: c_int = 1216;
pub const GDK_KEY_kana_TE: c_int = 1219;
pub const GDK_KEY_kana_TI: c_int = 1217;
pub const GDK_KEY_kana_TO: c_int = 1220;
pub const GDK_KEY_kana_TSU: c_int = 1218;
pub const GDK_KEY_kana_TU: c_int = 1218;
pub const GDK_KEY_kana_U: c_int = 1203;
pub const GDK_KEY_kana_WA: c_int = 1244;
pub const GDK_KEY_kana_WO: c_int = 1190;
pub const GDK_KEY_kana_YA: c_int = 1236;
pub const GDK_KEY_kana_YO: c_int = 1238;
pub const GDK_KEY_kana_YU: c_int = 1237;
pub const GDK_KEY_kana_a: c_int = 1191;
pub const GDK_KEY_kana_closingbracket: c_int = 1187;
pub const GDK_KEY_kana_comma: c_int = 1188;
pub const GDK_KEY_kana_conjunctive: c_int = 1189;
pub const GDK_KEY_kana_e: c_int = 1194;
pub const GDK_KEY_kana_fullstop: c_int = 1185;
pub const GDK_KEY_kana_i: c_int = 1192;
pub const GDK_KEY_kana_middledot: c_int = 1189;
pub const GDK_KEY_kana_o: c_int = 1195;
pub const GDK_KEY_kana_openingbracket: c_int = 1186;
pub const GDK_KEY_kana_switch: c_int = 65406;
pub const GDK_KEY_kana_tsu: c_int = 1199;
pub const GDK_KEY_kana_tu: c_int = 1199;
pub const GDK_KEY_kana_u: c_int = 1193;
pub const GDK_KEY_kana_ya: c_int = 1196;
pub const GDK_KEY_kana_yo: c_int = 1198;
pub const GDK_KEY_kana_yu: c_int = 1197;
pub const GDK_KEY_kappa: c_int = 930;
pub const GDK_KEY_kcedilla: c_int = 1011;
pub const GDK_KEY_kra: c_int = 930;
pub const GDK_KEY_l: c_int = 108;
pub const GDK_KEY_lacute: c_int = 485;
pub const GDK_KEY_latincross: c_int = 2777;
pub const GDK_KEY_lbelowdot: c_int = 16784951;
pub const GDK_KEY_lcaron: c_int = 437;
pub const GDK_KEY_lcedilla: c_int = 950;
pub const GDK_KEY_leftanglebracket: c_int = 2748;
pub const GDK_KEY_leftarrow: c_int = 2299;
pub const GDK_KEY_leftcaret: c_int = 2979;
pub const GDK_KEY_leftdoublequotemark: c_int = 2770;
pub const GDK_KEY_leftmiddlecurlybrace: c_int = 2223;
pub const GDK_KEY_leftopentriangle: c_int = 2764;
pub const GDK_KEY_leftpointer: c_int = 2794;
pub const GDK_KEY_leftradical: c_int = 2209;
pub const GDK_KEY_leftshoe: c_int = 3034;
pub const GDK_KEY_leftsinglequotemark: c_int = 2768;
pub const GDK_KEY_leftt: c_int = 2548;
pub const GDK_KEY_lefttack: c_int = 3036;
pub const GDK_KEY_less: c_int = 60;
pub const GDK_KEY_lessthanequal: c_int = 2236;
pub const GDK_KEY_lf: c_int = 2533;
pub const GDK_KEY_logicaland: c_int = 2270;
pub const GDK_KEY_logicalor: c_int = 2271;
pub const GDK_KEY_lowleftcorner: c_int = 2541;
pub const GDK_KEY_lowrightcorner: c_int = 2538;
pub const GDK_KEY_lstroke: c_int = 435;
pub const GDK_KEY_m: c_int = 109;
pub const GDK_KEY_mabovedot: c_int = 16784961;
pub const GDK_KEY_macron: c_int = 175;
pub const GDK_KEY_malesymbol: c_int = 2807;
pub const GDK_KEY_maltesecross: c_int = 2800;
pub const GDK_KEY_marker: c_int = 2751;
pub const GDK_KEY_masculine: c_int = 186;
pub const GDK_KEY_minus: c_int = 45;
pub const GDK_KEY_minutes: c_int = 2774;
pub const GDK_KEY_mu: c_int = 181;
pub const GDK_KEY_multiply: c_int = 215;
pub const GDK_KEY_musicalflat: c_int = 2806;
pub const GDK_KEY_musicalsharp: c_int = 2805;
pub const GDK_KEY_n: c_int = 110;
pub const GDK_KEY_nabla: c_int = 2245;
pub const GDK_KEY_nacute: c_int = 497;
pub const GDK_KEY_ncaron: c_int = 498;
pub const GDK_KEY_ncedilla: c_int = 1009;
pub const GDK_KEY_ninesubscript: c_int = 16785545;
pub const GDK_KEY_ninesuperior: c_int = 16785529;
pub const GDK_KEY_nl: c_int = 2536;
pub const GDK_KEY_nobreakspace: c_int = 160;
pub const GDK_KEY_notapproxeq: c_int = 16785991;
pub const GDK_KEY_notelementof: c_int = 16785929;
pub const GDK_KEY_notequal: c_int = 2237;
pub const GDK_KEY_notidentical: c_int = 16786018;
pub const GDK_KEY_notsign: c_int = 172;
pub const GDK_KEY_ntilde: c_int = 241;
pub const GDK_KEY_numbersign: c_int = 35;
pub const GDK_KEY_numerosign: c_int = 1712;
pub const GDK_KEY_o: c_int = 111;
pub const GDK_KEY_oacute: c_int = 243;
pub const GDK_KEY_obarred: c_int = 16777845;
pub const GDK_KEY_obelowdot: c_int = 16785101;
pub const GDK_KEY_ocaron: c_int = 16777682;
pub const GDK_KEY_ocircumflex: c_int = 244;
pub const GDK_KEY_ocircumflexacute: c_int = 16785105;
pub const GDK_KEY_ocircumflexbelowdot: c_int = 16785113;
pub const GDK_KEY_ocircumflexgrave: c_int = 16785107;
pub const GDK_KEY_ocircumflexhook: c_int = 16785109;
pub const GDK_KEY_ocircumflextilde: c_int = 16785111;
pub const GDK_KEY_odiaeresis: c_int = 246;
pub const GDK_KEY_odoubleacute: c_int = 501;
pub const GDK_KEY_oe: c_int = 5053;
pub const GDK_KEY_ogonek: c_int = 434;
pub const GDK_KEY_ograve: c_int = 242;
pub const GDK_KEY_ohook: c_int = 16785103;
pub const GDK_KEY_ohorn: c_int = 16777633;
pub const GDK_KEY_ohornacute: c_int = 16785115;
pub const GDK_KEY_ohornbelowdot: c_int = 16785123;
pub const GDK_KEY_ohorngrave: c_int = 16785117;
pub const GDK_KEY_ohornhook: c_int = 16785119;
pub const GDK_KEY_ohorntilde: c_int = 16785121;
pub const GDK_KEY_omacron: c_int = 1010;
pub const GDK_KEY_oneeighth: c_int = 2755;
pub const GDK_KEY_onefifth: c_int = 2738;
pub const GDK_KEY_onehalf: c_int = 189;
pub const GDK_KEY_onequarter: c_int = 188;
pub const GDK_KEY_onesixth: c_int = 2742;
pub const GDK_KEY_onesubscript: c_int = 16785537;
pub const GDK_KEY_onesuperior: c_int = 185;
pub const GDK_KEY_onethird: c_int = 2736;
pub const GDK_KEY_ooblique: c_int = 248;
pub const GDK_KEY_openrectbullet: c_int = 2786;
pub const GDK_KEY_openstar: c_int = 2789;
pub const GDK_KEY_opentribulletdown: c_int = 2788;
pub const GDK_KEY_opentribulletup: c_int = 2787;
pub const GDK_KEY_ordfeminine: c_int = 170;
pub const GDK_KEY_oslash: c_int = 248;
pub const GDK_KEY_otilde: c_int = 245;
pub const GDK_KEY_overbar: c_int = 3008;
pub const GDK_KEY_overline: c_int = 1150;
pub const GDK_KEY_p: c_int = 112;
pub const GDK_KEY_pabovedot: c_int = 16784983;
pub const GDK_KEY_paragraph: c_int = 182;
pub const GDK_KEY_parenleft: c_int = 40;
pub const GDK_KEY_parenright: c_int = 41;
pub const GDK_KEY_partdifferential: c_int = 16785922;
pub const GDK_KEY_partialderivative: c_int = 2287;
pub const GDK_KEY_percent: c_int = 37;
pub const GDK_KEY_period: c_int = 46;
pub const GDK_KEY_periodcentered: c_int = 183;
pub const GDK_KEY_permille: c_int = 2773;
pub const GDK_KEY_phonographcopyright: c_int = 2811;
pub const GDK_KEY_plus: c_int = 43;
pub const GDK_KEY_plusminus: c_int = 177;
pub const GDK_KEY_prescription: c_int = 2772;
pub const GDK_KEY_prolongedsound: c_int = 1200;
pub const GDK_KEY_punctspace: c_int = 2726;
pub const GDK_KEY_q: c_int = 113;
pub const GDK_KEY_quad: c_int = 3020;
pub const GDK_KEY_question: c_int = 63;
pub const GDK_KEY_questiondown: c_int = 191;
pub const GDK_KEY_quotedbl: c_int = 34;
pub const GDK_KEY_quoteleft: c_int = 96;
pub const GDK_KEY_quoteright: c_int = 39;
pub const GDK_KEY_r: c_int = 114;
pub const GDK_KEY_racute: c_int = 480;
pub const GDK_KEY_radical: c_int = 2262;
pub const GDK_KEY_rcaron: c_int = 504;
pub const GDK_KEY_rcedilla: c_int = 947;
pub const GDK_KEY_registered: c_int = 174;
pub const GDK_KEY_rightanglebracket: c_int = 2750;
pub const GDK_KEY_rightarrow: c_int = 2301;
pub const GDK_KEY_rightcaret: c_int = 2982;
pub const GDK_KEY_rightdoublequotemark: c_int = 2771;
pub const GDK_KEY_rightmiddlecurlybrace: c_int = 2224;
pub const GDK_KEY_rightmiddlesummation: c_int = 2231;
pub const GDK_KEY_rightopentriangle: c_int = 2765;
pub const GDK_KEY_rightpointer: c_int = 2795;
pub const GDK_KEY_rightshoe: c_int = 3032;
pub const GDK_KEY_rightsinglequotemark: c_int = 2769;
pub const GDK_KEY_rightt: c_int = 2549;
pub const GDK_KEY_righttack: c_int = 3068;
pub const GDK_KEY_s: c_int = 115;
pub const GDK_KEY_sabovedot: c_int = 16784993;
pub const GDK_KEY_sacute: c_int = 438;
pub const GDK_KEY_scaron: c_int = 441;
pub const GDK_KEY_scedilla: c_int = 442;
pub const GDK_KEY_schwa: c_int = 16777817;
pub const GDK_KEY_scircumflex: c_int = 766;
pub const GDK_KEY_script_switch: c_int = 65406;
pub const GDK_KEY_seconds: c_int = 2775;
pub const GDK_KEY_section: c_int = 167;
pub const GDK_KEY_semicolon: c_int = 59;
pub const GDK_KEY_semivoicedsound: c_int = 1247;
pub const GDK_KEY_seveneighths: c_int = 2758;
pub const GDK_KEY_sevensubscript: c_int = 16785543;
pub const GDK_KEY_sevensuperior: c_int = 16785527;
pub const GDK_KEY_signaturemark: c_int = 2762;
pub const GDK_KEY_signifblank: c_int = 2732;
pub const GDK_KEY_similarequal: c_int = 2249;
pub const GDK_KEY_singlelowquotemark: c_int = 2813;
pub const GDK_KEY_sixsubscript: c_int = 16785542;
pub const GDK_KEY_sixsuperior: c_int = 16785526;
pub const GDK_KEY_slash: c_int = 47;
pub const GDK_KEY_soliddiamond: c_int = 2528;
pub const GDK_KEY_space: c_int = 32;
pub const GDK_KEY_squareroot: c_int = 16785946;
pub const GDK_KEY_ssharp: c_int = 223;
pub const GDK_KEY_sterling: c_int = 163;
pub const GDK_KEY_stricteq: c_int = 16786019;
pub const GDK_KEY_t: c_int = 116;
pub const GDK_KEY_tabovedot: c_int = 16785003;
pub const GDK_KEY_tcaron: c_int = 443;
pub const GDK_KEY_tcedilla: c_int = 510;
pub const GDK_KEY_telephone: c_int = 2809;
pub const GDK_KEY_telephonerecorder: c_int = 2810;
pub const GDK_KEY_therefore: c_int = 2240;
pub const GDK_KEY_thinspace: c_int = 2727;
pub const GDK_KEY_thorn: c_int = 254;
pub const GDK_KEY_threeeighths: c_int = 2756;
pub const GDK_KEY_threefifths: c_int = 2740;
pub const GDK_KEY_threequarters: c_int = 190;
pub const GDK_KEY_threesubscript: c_int = 16785539;
pub const GDK_KEY_threesuperior: c_int = 179;
pub const GDK_KEY_tintegral: c_int = 16785965;
pub const GDK_KEY_topintegral: c_int = 2212;
pub const GDK_KEY_topleftparens: c_int = 2219;
pub const GDK_KEY_topleftradical: c_int = 2210;
pub const GDK_KEY_topleftsqbracket: c_int = 2215;
pub const GDK_KEY_topleftsummation: c_int = 2225;
pub const GDK_KEY_toprightparens: c_int = 2221;
pub const GDK_KEY_toprightsqbracket: c_int = 2217;
pub const GDK_KEY_toprightsummation: c_int = 2229;
pub const GDK_KEY_topt: c_int = 2551;
pub const GDK_KEY_topvertsummationconnector: c_int = 2227;
pub const GDK_KEY_trademark: c_int = 2761;
pub const GDK_KEY_trademarkincircle: c_int = 2763;
pub const GDK_KEY_tslash: c_int = 956;
pub const GDK_KEY_twofifths: c_int = 2739;
pub const GDK_KEY_twosubscript: c_int = 16785538;
pub const GDK_KEY_twosuperior: c_int = 178;
pub const GDK_KEY_twothirds: c_int = 2737;
pub const GDK_KEY_u: c_int = 117;
pub const GDK_KEY_uacute: c_int = 250;
pub const GDK_KEY_ubelowdot: c_int = 16785125;
pub const GDK_KEY_ubreve: c_int = 765;
pub const GDK_KEY_ucircumflex: c_int = 251;
pub const GDK_KEY_udiaeresis: c_int = 252;
pub const GDK_KEY_udoubleacute: c_int = 507;
pub const GDK_KEY_ugrave: c_int = 249;
pub const GDK_KEY_uhook: c_int = 16785127;
pub const GDK_KEY_uhorn: c_int = 16777648;
pub const GDK_KEY_uhornacute: c_int = 16785129;
pub const GDK_KEY_uhornbelowdot: c_int = 16785137;
pub const GDK_KEY_uhorngrave: c_int = 16785131;
pub const GDK_KEY_uhornhook: c_int = 16785133;
pub const GDK_KEY_uhorntilde: c_int = 16785135;
pub const GDK_KEY_umacron: c_int = 1022;
pub const GDK_KEY_underbar: c_int = 3014;
pub const GDK_KEY_underscore: c_int = 95;
pub const GDK_KEY_union: c_int = 2269;
pub const GDK_KEY_uogonek: c_int = 1017;
pub const GDK_KEY_uparrow: c_int = 2300;
pub const GDK_KEY_upcaret: c_int = 2985;
pub const GDK_KEY_upleftcorner: c_int = 2540;
pub const GDK_KEY_uprightcorner: c_int = 2539;
pub const GDK_KEY_upshoe: c_int = 3011;
pub const GDK_KEY_upstile: c_int = 3027;
pub const GDK_KEY_uptack: c_int = 3022;
pub const GDK_KEY_uring: c_int = 505;
pub const GDK_KEY_utilde: c_int = 1021;
pub const GDK_KEY_v: c_int = 118;
pub const GDK_KEY_variation: c_int = 2241;
pub const GDK_KEY_vertbar: c_int = 2552;
pub const GDK_KEY_vertconnector: c_int = 2214;
pub const GDK_KEY_voicedsound: c_int = 1246;
pub const GDK_KEY_vt: c_int = 2537;
pub const GDK_KEY_w: c_int = 119;
pub const GDK_KEY_wacute: c_int = 16785027;
pub const GDK_KEY_wcircumflex: c_int = 16777589;
pub const GDK_KEY_wdiaeresis: c_int = 16785029;
pub const GDK_KEY_wgrave: c_int = 16785025;
pub const GDK_KEY_x: c_int = 120;
pub const GDK_KEY_xabovedot: c_int = 16785035;
pub const GDK_KEY_y: c_int = 121;
pub const GDK_KEY_yacute: c_int = 253;
pub const GDK_KEY_ybelowdot: c_int = 16785141;
pub const GDK_KEY_ycircumflex: c_int = 16777591;
pub const GDK_KEY_ydiaeresis: c_int = 255;
pub const GDK_KEY_yen: c_int = 165;
pub const GDK_KEY_ygrave: c_int = 16785139;
pub const GDK_KEY_yhook: c_int = 16785143;
pub const GDK_KEY_ytilde: c_int = 16785145;
pub const GDK_KEY_z: c_int = 122;
pub const GDK_KEY_zabovedot: c_int = 447;
pub const GDK_KEY_zacute: c_int = 444;
pub const GDK_KEY_zcaron: c_int = 446;
pub const GDK_KEY_zerosubscript: c_int = 16785536;
pub const GDK_KEY_zerosuperior: c_int = 16785520;
pub const GDK_KEY_zstroke: c_int = 16777654;
pub const GDK_MAJOR_VERSION: c_int = 3;
pub const GDK_MAX_TIMECOORD_AXES: c_int = 128;
pub const GDK_MICRO_VERSION: c_int = 18;
pub const GDK_MINOR_VERSION: c_int = 24;
pub const GDK_PARENT_RELATIVE: c_int = 1;
pub const GDK_PRIORITY_REDRAW: c_int = 120;

// Flags
pub type GdkAnchorHints = c_uint;
pub const GDK_ANCHOR_FLIP_X: GdkAnchorHints = 1;
pub const GDK_ANCHOR_FLIP_Y: GdkAnchorHints = 2;
pub const GDK_ANCHOR_SLIDE_X: GdkAnchorHints = 4;
pub const GDK_ANCHOR_SLIDE_Y: GdkAnchorHints = 8;
pub const GDK_ANCHOR_RESIZE_X: GdkAnchorHints = 16;
pub const GDK_ANCHOR_RESIZE_Y: GdkAnchorHints = 32;
pub const GDK_ANCHOR_FLIP: GdkAnchorHints = 3;
pub const GDK_ANCHOR_SLIDE: GdkAnchorHints = 12;
pub const GDK_ANCHOR_RESIZE: GdkAnchorHints = 48;

pub type GdkAxisFlags = c_uint;
pub const GDK_AXIS_FLAG_X: GdkAxisFlags = 2;
pub const GDK_AXIS_FLAG_Y: GdkAxisFlags = 4;
pub const GDK_AXIS_FLAG_PRESSURE: GdkAxisFlags = 8;
pub const GDK_AXIS_FLAG_XTILT: GdkAxisFlags = 16;
pub const GDK_AXIS_FLAG_YTILT: GdkAxisFlags = 32;
pub const GDK_AXIS_FLAG_WHEEL: GdkAxisFlags = 64;
pub const GDK_AXIS_FLAG_DISTANCE: GdkAxisFlags = 128;
pub const GDK_AXIS_FLAG_ROTATION: GdkAxisFlags = 256;
pub const GDK_AXIS_FLAG_SLIDER: GdkAxisFlags = 512;

pub type GdkDragAction = c_uint;
pub const GDK_ACTION_DEFAULT: GdkDragAction = 1;
pub const GDK_ACTION_COPY: GdkDragAction = 2;
pub const GDK_ACTION_MOVE: GdkDragAction = 4;
pub const GDK_ACTION_LINK: GdkDragAction = 8;
pub const GDK_ACTION_PRIVATE: GdkDragAction = 16;
pub const GDK_ACTION_ASK: GdkDragAction = 32;

pub type GdkEventMask = c_uint;
pub const GDK_EXPOSURE_MASK: GdkEventMask = 2;
pub const GDK_POINTER_MOTION_MASK: GdkEventMask = 4;
pub const GDK_POINTER_MOTION_HINT_MASK: GdkEventMask = 8;
pub const GDK_BUTTON_MOTION_MASK: GdkEventMask = 16;
pub const GDK_BUTTON1_MOTION_MASK: GdkEventMask = 32;
pub const GDK_BUTTON2_MOTION_MASK: GdkEventMask = 64;
pub const GDK_BUTTON3_MOTION_MASK: GdkEventMask = 128;
pub const GDK_BUTTON_PRESS_MASK: GdkEventMask = 256;
pub const GDK_BUTTON_RELEASE_MASK: GdkEventMask = 512;
pub const GDK_KEY_PRESS_MASK: GdkEventMask = 1024;
pub const GDK_KEY_RELEASE_MASK: GdkEventMask = 2048;
pub const GDK_ENTER_NOTIFY_MASK: GdkEventMask = 4096;
pub const GDK_LEAVE_NOTIFY_MASK: GdkEventMask = 8192;
pub const GDK_FOCUS_CHANGE_MASK: GdkEventMask = 16384;
pub const GDK_STRUCTURE_MASK: GdkEventMask = 32768;
pub const GDK_PROPERTY_CHANGE_MASK: GdkEventMask = 65536;
pub const GDK_VISIBILITY_NOTIFY_MASK: GdkEventMask = 131072;
pub const GDK_PROXIMITY_IN_MASK: GdkEventMask = 262144;
pub const GDK_PROXIMITY_OUT_MASK: GdkEventMask = 524288;
pub const GDK_SUBSTRUCTURE_MASK: GdkEventMask = 1048576;
pub const GDK_SCROLL_MASK: GdkEventMask = 2097152;
pub const GDK_TOUCH_MASK: GdkEventMask = 4194304;
pub const GDK_SMOOTH_SCROLL_MASK: GdkEventMask = 8388608;
pub const GDK_TOUCHPAD_GESTURE_MASK: GdkEventMask = 16777216;
pub const GDK_TABLET_PAD_MASK: GdkEventMask = 33554432;
pub const GDK_ALL_EVENTS_MASK: GdkEventMask = 67108862;

pub type GdkFrameClockPhase = c_uint;
pub const GDK_FRAME_CLOCK_PHASE_NONE: GdkFrameClockPhase = 0;
pub const GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS: GdkFrameClockPhase = 1;
pub const GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT: GdkFrameClockPhase = 2;
pub const GDK_FRAME_CLOCK_PHASE_UPDATE: GdkFrameClockPhase = 4;
pub const GDK_FRAME_CLOCK_PHASE_LAYOUT: GdkFrameClockPhase = 8;
pub const GDK_FRAME_CLOCK_PHASE_PAINT: GdkFrameClockPhase = 16;
pub const GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS: GdkFrameClockPhase = 32;
pub const GDK_FRAME_CLOCK_PHASE_AFTER_PAINT: GdkFrameClockPhase = 64;

pub type GdkModifierType = c_uint;
pub const GDK_SHIFT_MASK: GdkModifierType = 1;
pub const GDK_LOCK_MASK: GdkModifierType = 2;
pub const GDK_CONTROL_MASK: GdkModifierType = 4;
pub const GDK_MOD1_MASK: GdkModifierType = 8;
pub const GDK_MOD2_MASK: GdkModifierType = 16;
pub const GDK_MOD3_MASK: GdkModifierType = 32;
pub const GDK_MOD4_MASK: GdkModifierType = 64;
pub const GDK_MOD5_MASK: GdkModifierType = 128;
pub const GDK_BUTTON1_MASK: GdkModifierType = 256;
pub const GDK_BUTTON2_MASK: GdkModifierType = 512;
pub const GDK_BUTTON3_MASK: GdkModifierType = 1024;
pub const GDK_BUTTON4_MASK: GdkModifierType = 2048;
pub const GDK_BUTTON5_MASK: GdkModifierType = 4096;
pub const GDK_MODIFIER_RESERVED_13_MASK: GdkModifierType = 8192;
pub const GDK_MODIFIER_RESERVED_14_MASK: GdkModifierType = 16384;
pub const GDK_MODIFIER_RESERVED_15_MASK: GdkModifierType = 32768;
pub const GDK_MODIFIER_RESERVED_16_MASK: GdkModifierType = 65536;
pub const GDK_MODIFIER_RESERVED_17_MASK: GdkModifierType = 131072;
pub const GDK_MODIFIER_RESERVED_18_MASK: GdkModifierType = 262144;
pub const GDK_MODIFIER_RESERVED_19_MASK: GdkModifierType = 524288;
pub const GDK_MODIFIER_RESERVED_20_MASK: GdkModifierType = 1048576;
pub const GDK_MODIFIER_RESERVED_21_MASK: GdkModifierType = 2097152;
pub const GDK_MODIFIER_RESERVED_22_MASK: GdkModifierType = 4194304;
pub const GDK_MODIFIER_RESERVED_23_MASK: GdkModifierType = 8388608;
pub const GDK_MODIFIER_RESERVED_24_MASK: GdkModifierType = 16777216;
pub const GDK_MODIFIER_RESERVED_25_MASK: GdkModifierType = 33554432;
pub const GDK_SUPER_MASK: GdkModifierType = 67108864;
pub const GDK_HYPER_MASK: GdkModifierType = 134217728;
pub const GDK_META_MASK: GdkModifierType = 268435456;
pub const GDK_MODIFIER_RESERVED_29_MASK: GdkModifierType = 536870912;
pub const GDK_RELEASE_MASK: GdkModifierType = 1073741824;
pub const GDK_MODIFIER_MASK: GdkModifierType = 1543512063;

pub type GdkSeatCapabilities = c_uint;
pub const GDK_SEAT_CAPABILITY_NONE: GdkSeatCapabilities = 0;
pub const GDK_SEAT_CAPABILITY_POINTER: GdkSeatCapabilities = 1;
pub const GDK_SEAT_CAPABILITY_TOUCH: GdkSeatCapabilities = 2;
pub const GDK_SEAT_CAPABILITY_TABLET_STYLUS: GdkSeatCapabilities = 4;
pub const GDK_SEAT_CAPABILITY_KEYBOARD: GdkSeatCapabilities = 8;
pub const GDK_SEAT_CAPABILITY_ALL_POINTING: GdkSeatCapabilities = 7;
pub const GDK_SEAT_CAPABILITY_ALL: GdkSeatCapabilities = 15;

pub type GdkWMDecoration = c_uint;
pub const GDK_DECOR_ALL: GdkWMDecoration = 1;
pub const GDK_DECOR_BORDER: GdkWMDecoration = 2;
pub const GDK_DECOR_RESIZEH: GdkWMDecoration = 4;
pub const GDK_DECOR_TITLE: GdkWMDecoration = 8;
pub const GDK_DECOR_MENU: GdkWMDecoration = 16;
pub const GDK_DECOR_MINIMIZE: GdkWMDecoration = 32;
pub const GDK_DECOR_MAXIMIZE: GdkWMDecoration = 64;

pub type GdkWMFunction = c_uint;
pub const GDK_FUNC_ALL: GdkWMFunction = 1;
pub const GDK_FUNC_RESIZE: GdkWMFunction = 2;
pub const GDK_FUNC_MOVE: GdkWMFunction = 4;
pub const GDK_FUNC_MINIMIZE: GdkWMFunction = 8;
pub const GDK_FUNC_MAXIMIZE: GdkWMFunction = 16;
pub const GDK_FUNC_CLOSE: GdkWMFunction = 32;

pub type GdkWindowAttributesType = c_uint;
pub const GDK_WA_TITLE: GdkWindowAttributesType = 2;
pub const GDK_WA_X: GdkWindowAttributesType = 4;
pub const GDK_WA_Y: GdkWindowAttributesType = 8;
pub const GDK_WA_CURSOR: GdkWindowAttributesType = 16;
pub const GDK_WA_VISUAL: GdkWindowAttributesType = 32;
pub const GDK_WA_WMCLASS: GdkWindowAttributesType = 64;
pub const GDK_WA_NOREDIR: GdkWindowAttributesType = 128;
pub const GDK_WA_TYPE_HINT: GdkWindowAttributesType = 256;

pub type GdkWindowHints = c_uint;
pub const GDK_HINT_POS: GdkWindowHints = 1;
pub const GDK_HINT_MIN_SIZE: GdkWindowHints = 2;
pub const GDK_HINT_MAX_SIZE: GdkWindowHints = 4;
pub const GDK_HINT_BASE_SIZE: GdkWindowHints = 8;
pub const GDK_HINT_ASPECT: GdkWindowHints = 16;
pub const GDK_HINT_RESIZE_INC: GdkWindowHints = 32;
pub const GDK_HINT_WIN_GRAVITY: GdkWindowHints = 64;
pub const GDK_HINT_USER_POS: GdkWindowHints = 128;
pub const GDK_HINT_USER_SIZE: GdkWindowHints = 256;

pub type GdkWindowState = c_uint;
pub const GDK_WINDOW_STATE_WITHDRAWN: GdkWindowState = 1;
pub const GDK_WINDOW_STATE_ICONIFIED: GdkWindowState = 2;
pub const GDK_WINDOW_STATE_MAXIMIZED: GdkWindowState = 4;
pub const GDK_WINDOW_STATE_STICKY: GdkWindowState = 8;
pub const GDK_WINDOW_STATE_FULLSCREEN: GdkWindowState = 16;
pub const GDK_WINDOW_STATE_ABOVE: GdkWindowState = 32;
pub const GDK_WINDOW_STATE_BELOW: GdkWindowState = 64;
pub const GDK_WINDOW_STATE_FOCUSED: GdkWindowState = 128;
pub const GDK_WINDOW_STATE_TILED: GdkWindowState = 256;
pub const GDK_WINDOW_STATE_TOP_TILED: GdkWindowState = 512;
pub const GDK_WINDOW_STATE_TOP_RESIZABLE: GdkWindowState = 1024;
pub const GDK_WINDOW_STATE_RIGHT_TILED: GdkWindowState = 2048;
pub const GDK_WINDOW_STATE_RIGHT_RESIZABLE: GdkWindowState = 4096;
pub const GDK_WINDOW_STATE_BOTTOM_TILED: GdkWindowState = 8192;
pub const GDK_WINDOW_STATE_BOTTOM_RESIZABLE: GdkWindowState = 16384;
pub const GDK_WINDOW_STATE_LEFT_TILED: GdkWindowState = 32768;
pub const GDK_WINDOW_STATE_LEFT_RESIZABLE: GdkWindowState = 65536;

// Unions
#[repr(C)]
#[derive(Copy, Clone)]
pub union GdkEvent {
    pub type_: GdkEventType,
    pub any: GdkEventAny,
    pub expose: GdkEventExpose,
    pub visibility: GdkEventVisibility,
    pub motion: GdkEventMotion,
    pub button: GdkEventButton,
    pub touch: GdkEventTouch,
    pub scroll: GdkEventScroll,
    pub key: GdkEventKey,
    pub crossing: GdkEventCrossing,
    pub focus_change: GdkEventFocus,
    pub configure: GdkEventConfigure,
    pub property: GdkEventProperty,
    pub selection: GdkEventSelection,
    pub owner_change: GdkEventOwnerChange,
    pub proximity: GdkEventProximity,
    pub dnd: GdkEventDND,
    pub window_state: GdkEventWindowState,
    pub setting: GdkEventSetting,
    pub grab_broken: GdkEventGrabBroken,
    pub touchpad_swipe: GdkEventTouchpadSwipe,
    pub touchpad_pinch: GdkEventTouchpadPinch,
    pub pad_button: GdkEventPadButton,
    pub pad_axis: GdkEventPadAxis,
    pub pad_group_mode: GdkEventPadGroupMode,
}

impl ::std::fmt::Debug for GdkEvent {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEvent @ {:?}", self as *const _))
            .field("type_", unsafe { &self.type_ })
            .field("any", unsafe { &self.any })
            .field("expose", unsafe { &self.expose })
            .field("visibility", unsafe { &self.visibility })
            .field("motion", unsafe { &self.motion })
            .field("button", unsafe { &self.button })
            .field("touch", unsafe { &self.touch })
            .field("scroll", unsafe { &self.scroll })
            .field("key", unsafe { &self.key })
            .field("crossing", unsafe { &self.crossing })
            .field("focus_change", unsafe { &self.focus_change })
            .field("configure", unsafe { &self.configure })
            .field("property", unsafe { &self.property })
            .field("selection", unsafe { &self.selection })
            .field("owner_change", unsafe { &self.owner_change })
            .field("proximity", unsafe { &self.proximity })
            .field("dnd", unsafe { &self.dnd })
            .field("window_state", unsafe { &self.window_state })
            .field("setting", unsafe { &self.setting })
            .field("grab_broken", unsafe { &self.grab_broken })
            .field("touchpad_swipe", unsafe { &self.touchpad_swipe })
            .field("touchpad_pinch", unsafe { &self.touchpad_pinch })
            .field("pad_button", unsafe { &self.pad_button })
            .field("pad_axis", unsafe { &self.pad_axis })
            .field("pad_group_mode", unsafe { &self.pad_group_mode })
            .finish()
    }
}

// Callbacks
pub type GdkEventFunc = Option<unsafe extern "C" fn(*mut GdkEvent, gpointer)>;
pub type GdkFilterFunc =
    Option<unsafe extern "C" fn(*mut GdkXEvent, *mut GdkEvent, gpointer) -> GdkFilterReturn>;
pub type GdkSeatGrabPrepareFunc =
    Option<unsafe extern "C" fn(*mut GdkSeat, *mut GdkWindow, gpointer)>;
pub type GdkWindowChildFunc = Option<unsafe extern "C" fn(*mut GdkWindow, gpointer) -> gboolean>;
pub type GdkWindowInvalidateHandlerFunc =
    Option<unsafe extern "C" fn(*mut GdkWindow, *mut cairo::cairo_region_t)>;

// Records
#[repr(C)]
pub struct _GdkAtom(c_void);

pub type GdkAtom = *mut _GdkAtom;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkColor {
    pub pixel: u32,
    pub red: u16,
    pub green: u16,
    pub blue: u16,
}

impl ::std::fmt::Debug for GdkColor {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkColor @ {:?}", self as *const _))
            .field("pixel", &self.pixel)
            .field("red", &self.red)
            .field("green", &self.green)
            .field("blue", &self.blue)
            .finish()
    }
}

#[repr(C)]
pub struct _GdkDevicePadInterface(c_void);

pub type GdkDevicePadInterface = *mut _GdkDevicePadInterface;

#[repr(C)]
pub struct _GdkDrawingContextClass(c_void);

pub type GdkDrawingContextClass = *mut _GdkDrawingContextClass;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventAny {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
}

impl ::std::fmt::Debug for GdkEventAny {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventAny @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventButton {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub axes: *mut c_double,
    pub state: GdkModifierType,
    pub button: c_uint,
    pub device: *mut GdkDevice,
    pub x_root: c_double,
    pub y_root: c_double,
}

impl ::std::fmt::Debug for GdkEventButton {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventButton @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("axes", &self.axes)
            .field("state", &self.state)
            .field("button", &self.button)
            .field("device", &self.device)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventConfigure {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub x: c_int,
    pub y: c_int,
    pub width: c_int,
    pub height: c_int,
}

impl ::std::fmt::Debug for GdkEventConfigure {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventConfigure @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("width", &self.width)
            .field("height", &self.height)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventCrossing {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub subwindow: *mut GdkWindow,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub x_root: c_double,
    pub y_root: c_double,
    pub mode: GdkCrossingMode,
    pub detail: GdkNotifyType,
    pub focus: gboolean,
    pub state: GdkModifierType,
}

impl ::std::fmt::Debug for GdkEventCrossing {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventCrossing @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("subwindow", &self.subwindow)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .field("mode", &self.mode)
            .field("detail", &self.detail)
            .field("focus", &self.focus)
            .field("state", &self.state)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventDND {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub context: *mut GdkDragContext,
    pub time: u32,
    pub x_root: c_short,
    pub y_root: c_short,
}

impl ::std::fmt::Debug for GdkEventDND {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventDND @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("context", &self.context)
            .field("time", &self.time)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventExpose {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub area: GdkRectangle,
    pub region: *mut cairo::cairo_region_t,
    pub count: c_int,
}

impl ::std::fmt::Debug for GdkEventExpose {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventExpose @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("area", &self.area)
            .field("region", &self.region)
            .field("count", &self.count)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventFocus {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub in_: i16,
}

impl ::std::fmt::Debug for GdkEventFocus {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventFocus @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("in_", &self.in_)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventGrabBroken {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub keyboard: gboolean,
    pub implicit: gboolean,
    pub grab_window: *mut GdkWindow,
}

impl ::std::fmt::Debug for GdkEventGrabBroken {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventGrabBroken @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("keyboard", &self.keyboard)
            .field("implicit", &self.implicit)
            .field("grab_window", &self.grab_window)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventKey {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub state: GdkModifierType,
    pub keyval: c_uint,
    pub length: c_int,
    pub string: *mut c_char,
    pub hardware_keycode: u16,
    pub group: u8,
    pub is_modifier: c_uint,
}

impl ::std::fmt::Debug for GdkEventKey {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventKey @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("state", &self.state)
            .field("keyval", &self.keyval)
            .field("length", &self.length)
            .field("string", &self.string)
            .field("hardware_keycode", &self.hardware_keycode)
            .field("group", &self.group)
            .field("is_modifier", &self.is_modifier)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventMotion {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub axes: *mut c_double,
    pub state: GdkModifierType,
    pub is_hint: i16,
    pub device: *mut GdkDevice,
    pub x_root: c_double,
    pub y_root: c_double,
}

impl ::std::fmt::Debug for GdkEventMotion {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventMotion @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("axes", &self.axes)
            .field("state", &self.state)
            .field("is_hint", &self.is_hint)
            .field("device", &self.device)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventOwnerChange {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub owner: *mut GdkWindow,
    pub reason: GdkOwnerChange,
    pub selection: GdkAtom,
    pub time: u32,
    pub selection_time: u32,
}

impl ::std::fmt::Debug for GdkEventOwnerChange {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventOwnerChange @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("owner", &self.owner)
            .field("reason", &self.reason)
            .field("selection", &self.selection)
            .field("time", &self.time)
            .field("selection_time", &self.selection_time)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventPadAxis {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub group: c_uint,
    pub index: c_uint,
    pub mode: c_uint,
    pub value: c_double,
}

impl ::std::fmt::Debug for GdkEventPadAxis {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventPadAxis @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("group", &self.group)
            .field("index", &self.index)
            .field("mode", &self.mode)
            .field("value", &self.value)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventPadButton {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub group: c_uint,
    pub button: c_uint,
    pub mode: c_uint,
}

impl ::std::fmt::Debug for GdkEventPadButton {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventPadButton @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("group", &self.group)
            .field("button", &self.button)
            .field("mode", &self.mode)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventPadGroupMode {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub group: c_uint,
    pub mode: c_uint,
}

impl ::std::fmt::Debug for GdkEventPadGroupMode {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventPadGroupMode @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("group", &self.group)
            .field("mode", &self.mode)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventProperty {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub atom: GdkAtom,
    pub time: u32,
    pub state: GdkPropertyState,
}

impl ::std::fmt::Debug for GdkEventProperty {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventProperty @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("atom", &self.atom)
            .field("time", &self.time)
            .field("state", &self.state)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventProximity {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub device: *mut GdkDevice,
}

impl ::std::fmt::Debug for GdkEventProximity {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventProximity @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("device", &self.device)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventScroll {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub state: GdkModifierType,
    pub direction: GdkScrollDirection,
    pub device: *mut GdkDevice,
    pub x_root: c_double,
    pub y_root: c_double,
    pub delta_x: c_double,
    pub delta_y: c_double,
    pub is_stop: c_uint,
}

impl ::std::fmt::Debug for GdkEventScroll {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventScroll @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("state", &self.state)
            .field("direction", &self.direction)
            .field("device", &self.device)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .field("delta_x", &self.delta_x)
            .field("delta_y", &self.delta_y)
            .field("is_stop", &self.is_stop)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventSelection {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub selection: GdkAtom,
    pub target: GdkAtom,
    pub property: GdkAtom,
    pub time: u32,
    pub requestor: *mut GdkWindow,
}

impl ::std::fmt::Debug for GdkEventSelection {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventSelection @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("selection", &self.selection)
            .field("target", &self.target)
            .field("property", &self.property)
            .field("time", &self.time)
            .field("requestor", &self.requestor)
            .finish()
    }
}

#[repr(C)]
pub struct GdkEventSequence(c_void);

impl ::std::fmt::Debug for GdkEventSequence {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventSequence @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventSetting {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub action: GdkSettingAction,
    pub name: *mut c_char,
}

impl ::std::fmt::Debug for GdkEventSetting {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventSetting @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("action", &self.action)
            .field("name", &self.name)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventTouch {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub axes: *mut c_double,
    pub state: GdkModifierType,
    pub sequence: *mut GdkEventSequence,
    pub emulating_pointer: gboolean,
    pub device: *mut GdkDevice,
    pub x_root: c_double,
    pub y_root: c_double,
}

impl ::std::fmt::Debug for GdkEventTouch {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventTouch @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("axes", &self.axes)
            .field("state", &self.state)
            .field("sequence", &self.sequence)
            .field("emulating_pointer", &self.emulating_pointer)
            .field("device", &self.device)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventTouchpadPinch {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub phase: i8,
    pub n_fingers: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub dx: c_double,
    pub dy: c_double,
    pub angle_delta: c_double,
    pub scale: c_double,
    pub x_root: c_double,
    pub y_root: c_double,
    pub state: GdkModifierType,
}

impl ::std::fmt::Debug for GdkEventTouchpadPinch {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventTouchpadPinch @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("phase", &self.phase)
            .field("n_fingers", &self.n_fingers)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("dx", &self.dx)
            .field("dy", &self.dy)
            .field("angle_delta", &self.angle_delta)
            .field("scale", &self.scale)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .field("state", &self.state)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventTouchpadSwipe {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub phase: i8,
    pub n_fingers: i8,
    pub time: u32,
    pub x: c_double,
    pub y: c_double,
    pub dx: c_double,
    pub dy: c_double,
    pub x_root: c_double,
    pub y_root: c_double,
    pub state: GdkModifierType,
}

impl ::std::fmt::Debug for GdkEventTouchpadSwipe {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventTouchpadSwipe @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("phase", &self.phase)
            .field("n_fingers", &self.n_fingers)
            .field("time", &self.time)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("dx", &self.dx)
            .field("dy", &self.dy)
            .field("x_root", &self.x_root)
            .field("y_root", &self.y_root)
            .field("state", &self.state)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventVisibility {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub state: GdkVisibilityState,
}

impl ::std::fmt::Debug for GdkEventVisibility {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventVisibility @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("state", &self.state)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkEventWindowState {
    pub type_: GdkEventType,
    pub window: *mut GdkWindow,
    pub send_event: i8,
    pub changed_mask: GdkWindowState,
    pub new_window_state: GdkWindowState,
}

impl ::std::fmt::Debug for GdkEventWindowState {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkEventWindowState @ {:?}", self as *const _))
            .field("type_", &self.type_)
            .field("window", &self.window)
            .field("send_event", &self.send_event)
            .field("changed_mask", &self.changed_mask)
            .field("new_window_state", &self.new_window_state)
            .finish()
    }
}

#[repr(C)]
pub struct _GdkFrameClockClass(c_void);

pub type GdkFrameClockClass = *mut _GdkFrameClockClass;

#[repr(C)]
pub struct _GdkFrameClockPrivate(c_void);

pub type GdkFrameClockPrivate = *mut _GdkFrameClockPrivate;

#[repr(C)]
pub struct GdkFrameTimings(c_void);

impl ::std::fmt::Debug for GdkFrameTimings {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkFrameTimings @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkGeometry {
    pub min_width: c_int,
    pub min_height: c_int,
    pub max_width: c_int,
    pub max_height: c_int,
    pub base_width: c_int,
    pub base_height: c_int,
    pub width_inc: c_int,
    pub height_inc: c_int,
    pub min_aspect: c_double,
    pub max_aspect: c_double,
    pub win_gravity: GdkGravity,
}

impl ::std::fmt::Debug for GdkGeometry {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkGeometry @ {:?}", self as *const _))
            .field("min_width", &self.min_width)
            .field("min_height", &self.min_height)
            .field("max_width", &self.max_width)
            .field("max_height", &self.max_height)
            .field("base_width", &self.base_width)
            .field("base_height", &self.base_height)
            .field("width_inc", &self.width_inc)
            .field("height_inc", &self.height_inc)
            .field("min_aspect", &self.min_aspect)
            .field("max_aspect", &self.max_aspect)
            .field("win_gravity", &self.win_gravity)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkKeymapKey {
    pub keycode: c_uint,
    pub group: c_int,
    pub level: c_int,
}

impl ::std::fmt::Debug for GdkKeymapKey {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkKeymapKey @ {:?}", self as *const _))
            .field("keycode", &self.keycode)
            .field("group", &self.group)
            .field("level", &self.level)
            .finish()
    }
}

#[repr(C)]
pub struct _GdkMonitorClass(c_void);

pub type GdkMonitorClass = *mut _GdkMonitorClass;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkPoint {
    pub x: c_int,
    pub y: c_int,
}

impl ::std::fmt::Debug for GdkPoint {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkPoint @ {:?}", self as *const _))
            .field("x", &self.x)
            .field("y", &self.y)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkRGBA {
    pub red: c_double,
    pub green: c_double,
    pub blue: c_double,
    pub alpha: c_double,
}

impl ::std::fmt::Debug for GdkRGBA {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkRGBA @ {:?}", self as *const _))
            .field("red", &self.red)
            .field("green", &self.green)
            .field("blue", &self.blue)
            .field("alpha", &self.alpha)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkRectangle {
    pub x: c_int,
    pub y: c_int,
    pub width: c_int,
    pub height: c_int,
}

impl ::std::fmt::Debug for GdkRectangle {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkRectangle @ {:?}", self as *const _))
            .field("x", &self.x)
            .field("y", &self.y)
            .field("width", &self.width)
            .field("height", &self.height)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkTimeCoord {
    pub time: u32,
    pub axes: [c_double; 128],
}

impl ::std::fmt::Debug for GdkTimeCoord {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkTimeCoord @ {:?}", self as *const _))
            .field("time", &self.time)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkWindowAttr {
    pub title: *mut c_char,
    pub event_mask: c_int,
    pub x: c_int,
    pub y: c_int,
    pub width: c_int,
    pub height: c_int,
    pub wclass: GdkWindowWindowClass,
    pub visual: *mut GdkVisual,
    pub window_type: GdkWindowType,
    pub cursor: *mut GdkCursor,
    pub wmclass_name: *mut c_char,
    pub wmclass_class: *mut c_char,
    pub override_redirect: gboolean,
    pub type_hint: GdkWindowTypeHint,
}

impl ::std::fmt::Debug for GdkWindowAttr {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkWindowAttr @ {:?}", self as *const _))
            .field("title", &self.title)
            .field("event_mask", &self.event_mask)
            .field("x", &self.x)
            .field("y", &self.y)
            .field("width", &self.width)
            .field("height", &self.height)
            .field("wclass", &self.wclass)
            .field("visual", &self.visual)
            .field("window_type", &self.window_type)
            .field("cursor", &self.cursor)
            .field("wmclass_name", &self.wmclass_name)
            .field("wmclass_class", &self.wmclass_class)
            .field("override_redirect", &self.override_redirect)
            .field("type_hint", &self.type_hint)
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkWindowClass {
    pub parent_class: gobject::GObjectClass,
    pub pick_embedded_child:
        Option<unsafe extern "C" fn(*mut GdkWindow, c_double, c_double) -> *mut GdkWindow>,
    pub to_embedder: Option<
        unsafe extern "C" fn(*mut GdkWindow, c_double, c_double, *mut c_double, *mut c_double),
    >,
    pub from_embedder: Option<
        unsafe extern "C" fn(*mut GdkWindow, c_double, c_double, *mut c_double, *mut c_double),
    >,
    pub create_surface:
        Option<unsafe extern "C" fn(*mut GdkWindow, c_int, c_int) -> *mut cairo::cairo_surface_t>,
    pub _gdk_reserved1: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved2: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved3: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved4: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved5: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved6: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved7: Option<unsafe extern "C" fn()>,
    pub _gdk_reserved8: Option<unsafe extern "C" fn()>,
}

impl ::std::fmt::Debug for GdkWindowClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkWindowClass @ {:?}", self as *const _))
            .field("parent_class", &self.parent_class)
            .field("pick_embedded_child", &self.pick_embedded_child)
            .field("to_embedder", &self.to_embedder)
            .field("from_embedder", &self.from_embedder)
            .field("create_surface", &self.create_surface)
            .field("_gdk_reserved1", &self._gdk_reserved1)
            .field("_gdk_reserved2", &self._gdk_reserved2)
            .field("_gdk_reserved3", &self._gdk_reserved3)
            .field("_gdk_reserved4", &self._gdk_reserved4)
            .field("_gdk_reserved5", &self._gdk_reserved5)
            .field("_gdk_reserved6", &self._gdk_reserved6)
            .field("_gdk_reserved7", &self._gdk_reserved7)
            .field("_gdk_reserved8", &self._gdk_reserved8)
            .finish()
    }
}

#[repr(C)]
pub struct _GdkWindowRedirect(c_void);

pub type GdkWindowRedirect = *mut _GdkWindowRedirect;

// Classes
#[repr(C)]
pub struct GdkAppLaunchContext(c_void);

impl ::std::fmt::Debug for GdkAppLaunchContext {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkAppLaunchContext @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkCursor(c_void);

impl ::std::fmt::Debug for GdkCursor {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkCursor @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDevice(c_void);

impl ::std::fmt::Debug for GdkDevice {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDevice @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDeviceManager(c_void);

impl ::std::fmt::Debug for GdkDeviceManager {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDeviceManager @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDeviceTool(c_void);

impl ::std::fmt::Debug for GdkDeviceTool {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDeviceTool @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDisplay(c_void);

impl ::std::fmt::Debug for GdkDisplay {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDisplay @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDisplayManager(c_void);

impl ::std::fmt::Debug for GdkDisplayManager {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDisplayManager @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDragContext(c_void);

impl ::std::fmt::Debug for GdkDragContext {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDragContext @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkDrawingContext(c_void);

impl ::std::fmt::Debug for GdkDrawingContext {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkDrawingContext @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkFrameClock(c_void);

impl ::std::fmt::Debug for GdkFrameClock {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkFrameClock @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkGLContext(c_void);

impl ::std::fmt::Debug for GdkGLContext {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkGLContext @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkKeymap(c_void);

impl ::std::fmt::Debug for GdkKeymap {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkKeymap @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkMonitor(c_void);

impl ::std::fmt::Debug for GdkMonitor {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkMonitor @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkScreen(c_void);

impl ::std::fmt::Debug for GdkScreen {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkScreen @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GdkSeat {
    pub parent_instance: gobject::GObject,
}

impl ::std::fmt::Debug for GdkSeat {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkSeat @ {:?}", self as *const _))
            .field("parent_instance", &self.parent_instance)
            .finish()
    }
}

#[repr(C)]
pub struct GdkVisual(c_void);

impl ::std::fmt::Debug for GdkVisual {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkVisual @ {:?}", self as *const _))
            .finish()
    }
}

#[repr(C)]
pub struct GdkWindow(c_void);

impl ::std::fmt::Debug for GdkWindow {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GdkWindow @ {:?}", self as *const _))
            .finish()
    }
}

// Interfaces
#[repr(C)]
pub struct GdkDevicePad(c_void);

impl ::std::fmt::Debug for GdkDevicePad {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "GdkDevicePad @ {:?}", self as *const _)
    }
}

extern "C" {

    //=========================================================================
    // GdkAxisUse
    //=========================================================================
    pub fn gdk_axis_use_get_type() -> GType;

    //=========================================================================
    // GdkByteOrder
    //=========================================================================
    pub fn gdk_byte_order_get_type() -> GType;

    //=========================================================================
    // GdkCrossingMode
    //=========================================================================
    pub fn gdk_crossing_mode_get_type() -> GType;

    //=========================================================================
    // GdkCursorType
    //=========================================================================
    pub fn gdk_cursor_type_get_type() -> GType;

    //=========================================================================
    // GdkDevicePadFeature
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_feature_get_type() -> GType;

    //=========================================================================
    // GdkDeviceToolType
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_tool_type_get_type() -> GType;

    //=========================================================================
    // GdkDeviceType
    //=========================================================================
    pub fn gdk_device_type_get_type() -> GType;

    //=========================================================================
    // GdkDragCancelReason
    //=========================================================================
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_cancel_reason_get_type() -> GType;

    //=========================================================================
    // GdkDragProtocol
    //=========================================================================
    pub fn gdk_drag_protocol_get_type() -> GType;

    //=========================================================================
    // GdkEventType
    //=========================================================================
    pub fn gdk_event_type_get_type() -> GType;

    //=========================================================================
    // GdkFilterReturn
    //=========================================================================
    pub fn gdk_filter_return_get_type() -> GType;

    //=========================================================================
    // GdkFullscreenMode
    //=========================================================================
    pub fn gdk_fullscreen_mode_get_type() -> GType;

    //=========================================================================
    // GdkGLError
    //=========================================================================
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_error_get_type() -> GType;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_error_quark() -> glib::GQuark;

    //=========================================================================
    // GdkGrabOwnership
    //=========================================================================
    pub fn gdk_grab_ownership_get_type() -> GType;

    //=========================================================================
    // GdkGrabStatus
    //=========================================================================
    pub fn gdk_grab_status_get_type() -> GType;

    //=========================================================================
    // GdkGravity
    //=========================================================================
    pub fn gdk_gravity_get_type() -> GType;

    //=========================================================================
    // GdkInputMode
    //=========================================================================
    pub fn gdk_input_mode_get_type() -> GType;

    //=========================================================================
    // GdkInputSource
    //=========================================================================
    pub fn gdk_input_source_get_type() -> GType;

    //=========================================================================
    // GdkModifierIntent
    //=========================================================================
    pub fn gdk_modifier_intent_get_type() -> GType;

    //=========================================================================
    // GdkNotifyType
    //=========================================================================
    pub fn gdk_notify_type_get_type() -> GType;

    //=========================================================================
    // GdkOwnerChange
    //=========================================================================
    pub fn gdk_owner_change_get_type() -> GType;

    //=========================================================================
    // GdkPropMode
    //=========================================================================
    pub fn gdk_prop_mode_get_type() -> GType;

    //=========================================================================
    // GdkPropertyState
    //=========================================================================
    pub fn gdk_property_state_get_type() -> GType;

    //=========================================================================
    // GdkScrollDirection
    //=========================================================================
    pub fn gdk_scroll_direction_get_type() -> GType;

    //=========================================================================
    // GdkSettingAction
    //=========================================================================
    pub fn gdk_setting_action_get_type() -> GType;

    //=========================================================================
    // GdkStatus
    //=========================================================================
    pub fn gdk_status_get_type() -> GType;

    //=========================================================================
    // GdkSubpixelLayout
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_subpixel_layout_get_type() -> GType;

    //=========================================================================
    // GdkTouchpadGesturePhase
    //=========================================================================
    #[cfg(any(feature = "v3_18", feature = "dox"))]
    pub fn gdk_touchpad_gesture_phase_get_type() -> GType;

    //=========================================================================
    // GdkVisibilityState
    //=========================================================================
    pub fn gdk_visibility_state_get_type() -> GType;

    //=========================================================================
    // GdkVisualType
    //=========================================================================
    pub fn gdk_visual_type_get_type() -> GType;

    //=========================================================================
    // GdkWindowEdge
    //=========================================================================
    pub fn gdk_window_edge_get_type() -> GType;

    //=========================================================================
    // GdkWindowType
    //=========================================================================
    pub fn gdk_window_type_get_type() -> GType;

    //=========================================================================
    // GdkWindowTypeHint
    //=========================================================================
    pub fn gdk_window_type_hint_get_type() -> GType;

    //=========================================================================
    // GdkWindowWindowClass
    //=========================================================================
    pub fn gdk_window_window_class_get_type() -> GType;

    //=========================================================================
    // GdkAnchorHints
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_anchor_hints_get_type() -> GType;

    //=========================================================================
    // GdkAxisFlags
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_axis_flags_get_type() -> GType;

    //=========================================================================
    // GdkDragAction
    //=========================================================================
    pub fn gdk_drag_action_get_type() -> GType;

    //=========================================================================
    // GdkEventMask
    //=========================================================================
    pub fn gdk_event_mask_get_type() -> GType;

    //=========================================================================
    // GdkFrameClockPhase
    //=========================================================================
    pub fn gdk_frame_clock_phase_get_type() -> GType;

    //=========================================================================
    // GdkModifierType
    //=========================================================================
    pub fn gdk_modifier_type_get_type() -> GType;

    //=========================================================================
    // GdkSeatCapabilities
    //=========================================================================
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_capabilities_get_type() -> GType;

    //=========================================================================
    // GdkWMDecoration
    //=========================================================================
    pub fn gdk_wm_decoration_get_type() -> GType;

    //=========================================================================
    // GdkWMFunction
    //=========================================================================
    pub fn gdk_wm_function_get_type() -> GType;

    //=========================================================================
    // GdkWindowAttributesType
    //=========================================================================
    pub fn gdk_window_attributes_type_get_type() -> GType;

    //=========================================================================
    // GdkWindowHints
    //=========================================================================
    pub fn gdk_window_hints_get_type() -> GType;

    //=========================================================================
    // GdkWindowState
    //=========================================================================
    pub fn gdk_window_state_get_type() -> GType;

    //=========================================================================
    // GdkEvent
    //=========================================================================
    pub fn gdk_event_get_type() -> GType;
    pub fn gdk_event_new(type_: GdkEventType) -> *mut GdkEvent;
    pub fn gdk_event_copy(event: *const GdkEvent) -> *mut GdkEvent;
    pub fn gdk_event_free(event: *mut GdkEvent);
    pub fn gdk_event_get_axis(
        event: *const GdkEvent,
        axis_use: GdkAxisUse,
        value: *mut c_double,
    ) -> gboolean;
    pub fn gdk_event_get_button(event: *const GdkEvent, button: *mut c_uint) -> gboolean;
    pub fn gdk_event_get_click_count(event: *const GdkEvent, click_count: *mut c_uint) -> gboolean;
    pub fn gdk_event_get_coords(
        event: *const GdkEvent,
        x_win: *mut c_double,
        y_win: *mut c_double,
    ) -> gboolean;
    pub fn gdk_event_get_device(event: *const GdkEvent) -> *mut GdkDevice;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_event_get_device_tool(event: *const GdkEvent) -> *mut GdkDeviceTool;
    pub fn gdk_event_get_event_sequence(event: *const GdkEvent) -> *mut GdkEventSequence;
    pub fn gdk_event_get_event_type(event: *const GdkEvent) -> GdkEventType;
    pub fn gdk_event_get_keycode(event: *const GdkEvent, keycode: *mut u16) -> gboolean;
    pub fn gdk_event_get_keyval(event: *const GdkEvent, keyval: *mut c_uint) -> gboolean;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_event_get_pointer_emulated(event: *mut GdkEvent) -> gboolean;
    pub fn gdk_event_get_root_coords(
        event: *const GdkEvent,
        x_root: *mut c_double,
        y_root: *mut c_double,
    ) -> gboolean;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_event_get_scancode(event: *mut GdkEvent) -> c_int;
    pub fn gdk_event_get_screen(event: *const GdkEvent) -> *mut GdkScreen;
    pub fn gdk_event_get_scroll_deltas(
        event: *const GdkEvent,
        delta_x: *mut c_double,
        delta_y: *mut c_double,
    ) -> gboolean;
    pub fn gdk_event_get_scroll_direction(
        event: *const GdkEvent,
        direction: *mut GdkScrollDirection,
    ) -> gboolean;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_event_get_seat(event: *const GdkEvent) -> *mut GdkSeat;
    pub fn gdk_event_get_source_device(event: *const GdkEvent) -> *mut GdkDevice;
    pub fn gdk_event_get_state(event: *const GdkEvent, state: *mut GdkModifierType) -> gboolean;
    pub fn gdk_event_get_time(event: *const GdkEvent) -> u32;
    pub fn gdk_event_get_window(event: *const GdkEvent) -> *mut GdkWindow;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_event_is_scroll_stop_event(event: *const GdkEvent) -> gboolean;
    pub fn gdk_event_put(event: *const GdkEvent);
    pub fn gdk_event_set_device(event: *mut GdkEvent, device: *mut GdkDevice);
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_event_set_device_tool(event: *mut GdkEvent, tool: *mut GdkDeviceTool);
    pub fn gdk_event_set_screen(event: *mut GdkEvent, screen: *mut GdkScreen);
    pub fn gdk_event_set_source_device(event: *mut GdkEvent, device: *mut GdkDevice);
    pub fn gdk_event_triggers_context_menu(event: *const GdkEvent) -> gboolean;
    pub fn gdk_event_get() -> *mut GdkEvent;
    pub fn gdk_event_handler_set(func: GdkEventFunc, data: gpointer, notify: glib::GDestroyNotify);
    pub fn gdk_event_peek() -> *mut GdkEvent;
    pub fn gdk_event_request_motions(event: *const GdkEventMotion);

    //=========================================================================
    // GdkAtom
    //=========================================================================
    pub fn gdk_atom_name(atom: GdkAtom) -> *mut c_char;
    pub fn gdk_atom_intern(atom_name: *const c_char, only_if_exists: gboolean) -> GdkAtom;
    pub fn gdk_atom_intern_static_string(atom_name: *const c_char) -> GdkAtom;

    //=========================================================================
    // GdkColor
    //=========================================================================
    pub fn gdk_color_get_type() -> GType;
    pub fn gdk_color_copy(color: *const GdkColor) -> *mut GdkColor;
    pub fn gdk_color_equal(colora: *const GdkColor, colorb: *const GdkColor) -> gboolean;
    pub fn gdk_color_free(color: *mut GdkColor);
    pub fn gdk_color_hash(color: *const GdkColor) -> c_uint;
    pub fn gdk_color_to_string(color: *const GdkColor) -> *mut c_char;
    pub fn gdk_color_parse(spec: *const c_char, color: *mut GdkColor) -> gboolean;

    //=========================================================================
    // GdkEventSequence
    //=========================================================================
    pub fn gdk_event_sequence_get_type() -> GType;

    //=========================================================================
    // GdkFrameTimings
    //=========================================================================
    pub fn gdk_frame_timings_get_type() -> GType;
    pub fn gdk_frame_timings_get_complete(timings: *mut GdkFrameTimings) -> gboolean;
    pub fn gdk_frame_timings_get_frame_counter(timings: *mut GdkFrameTimings) -> i64;
    pub fn gdk_frame_timings_get_frame_time(timings: *mut GdkFrameTimings) -> i64;
    pub fn gdk_frame_timings_get_predicted_presentation_time(timings: *mut GdkFrameTimings) -> i64;
    pub fn gdk_frame_timings_get_presentation_time(timings: *mut GdkFrameTimings) -> i64;
    pub fn gdk_frame_timings_get_refresh_interval(timings: *mut GdkFrameTimings) -> i64;
    pub fn gdk_frame_timings_ref(timings: *mut GdkFrameTimings) -> *mut GdkFrameTimings;
    pub fn gdk_frame_timings_unref(timings: *mut GdkFrameTimings);

    //=========================================================================
    // GdkRGBA
    //=========================================================================
    pub fn gdk_rgba_get_type() -> GType;
    pub fn gdk_rgba_copy(rgba: *const GdkRGBA) -> *mut GdkRGBA;
    pub fn gdk_rgba_equal(p1: gconstpointer, p2: gconstpointer) -> gboolean;
    pub fn gdk_rgba_free(rgba: *mut GdkRGBA);
    pub fn gdk_rgba_hash(p: gconstpointer) -> c_uint;
    pub fn gdk_rgba_parse(rgba: *mut GdkRGBA, spec: *const c_char) -> gboolean;
    pub fn gdk_rgba_to_string(rgba: *const GdkRGBA) -> *mut c_char;

    //=========================================================================
    // GdkRectangle
    //=========================================================================
    pub fn gdk_rectangle_get_type() -> GType;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_rectangle_equal(rect1: *const GdkRectangle, rect2: *const GdkRectangle) -> gboolean;
    pub fn gdk_rectangle_intersect(
        src1: *const GdkRectangle,
        src2: *const GdkRectangle,
        dest: *mut GdkRectangle,
    ) -> gboolean;
    pub fn gdk_rectangle_union(
        src1: *const GdkRectangle,
        src2: *const GdkRectangle,
        dest: *mut GdkRectangle,
    );

    //=========================================================================
    // GdkAppLaunchContext
    //=========================================================================
    pub fn gdk_app_launch_context_get_type() -> GType;
    pub fn gdk_app_launch_context_new() -> *mut GdkAppLaunchContext;
    pub fn gdk_app_launch_context_set_desktop(context: *mut GdkAppLaunchContext, desktop: c_int);
    pub fn gdk_app_launch_context_set_display(
        context: *mut GdkAppLaunchContext,
        display: *mut GdkDisplay,
    );
    pub fn gdk_app_launch_context_set_icon(
        context: *mut GdkAppLaunchContext,
        icon: *mut gio::GIcon,
    );
    pub fn gdk_app_launch_context_set_icon_name(
        context: *mut GdkAppLaunchContext,
        icon_name: *const c_char,
    );
    pub fn gdk_app_launch_context_set_screen(
        context: *mut GdkAppLaunchContext,
        screen: *mut GdkScreen,
    );
    pub fn gdk_app_launch_context_set_timestamp(context: *mut GdkAppLaunchContext, timestamp: u32);

    //=========================================================================
    // GdkCursor
    //=========================================================================
    pub fn gdk_cursor_get_type() -> GType;
    pub fn gdk_cursor_new(cursor_type: GdkCursorType) -> *mut GdkCursor;
    pub fn gdk_cursor_new_for_display(
        display: *mut GdkDisplay,
        cursor_type: GdkCursorType,
    ) -> *mut GdkCursor;
    pub fn gdk_cursor_new_from_name(
        display: *mut GdkDisplay,
        name: *const c_char,
    ) -> *mut GdkCursor;
    pub fn gdk_cursor_new_from_pixbuf(
        display: *mut GdkDisplay,
        pixbuf: *mut gdk_pixbuf::GdkPixbuf,
        x: c_int,
        y: c_int,
    ) -> *mut GdkCursor;
    pub fn gdk_cursor_new_from_surface(
        display: *mut GdkDisplay,
        surface: *mut cairo::cairo_surface_t,
        x: c_double,
        y: c_double,
    ) -> *mut GdkCursor;
    pub fn gdk_cursor_get_cursor_type(cursor: *mut GdkCursor) -> GdkCursorType;
    pub fn gdk_cursor_get_display(cursor: *mut GdkCursor) -> *mut GdkDisplay;
    pub fn gdk_cursor_get_image(cursor: *mut GdkCursor) -> *mut gdk_pixbuf::GdkPixbuf;
    pub fn gdk_cursor_get_surface(
        cursor: *mut GdkCursor,
        x_hot: *mut c_double,
        y_hot: *mut c_double,
    ) -> *mut cairo::cairo_surface_t;
    pub fn gdk_cursor_ref(cursor: *mut GdkCursor) -> *mut GdkCursor;
    pub fn gdk_cursor_unref(cursor: *mut GdkCursor);

    //=========================================================================
    // GdkDevice
    //=========================================================================
    pub fn gdk_device_get_type() -> GType;
    pub fn gdk_device_free_history(events: *mut *mut GdkTimeCoord, n_events: c_int);
    pub fn gdk_device_grab_info_libgtk_only(
        display: *mut GdkDisplay,
        device: *mut GdkDevice,
        grab_window: *mut *mut GdkWindow,
        owner_events: *mut gboolean,
    ) -> gboolean;
    pub fn gdk_device_get_associated_device(device: *mut GdkDevice) -> *mut GdkDevice;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_get_axes(device: *mut GdkDevice) -> GdkAxisFlags;
    pub fn gdk_device_get_axis(
        device: *mut GdkDevice,
        axes: *mut c_double,
        use_: GdkAxisUse,
        value: *mut c_double,
    ) -> gboolean;
    pub fn gdk_device_get_axis_use(device: *mut GdkDevice, index_: c_uint) -> GdkAxisUse;
    pub fn gdk_device_get_axis_value(
        device: *mut GdkDevice,
        axes: *mut c_double,
        axis_label: GdkAtom,
        value: *mut c_double,
    ) -> gboolean;
    pub fn gdk_device_get_device_type(device: *mut GdkDevice) -> GdkDeviceType;
    pub fn gdk_device_get_display(device: *mut GdkDevice) -> *mut GdkDisplay;
    pub fn gdk_device_get_has_cursor(device: *mut GdkDevice) -> gboolean;
    pub fn gdk_device_get_history(
        device: *mut GdkDevice,
        window: *mut GdkWindow,
        start: u32,
        stop: u32,
        events: *mut *mut *mut GdkTimeCoord,
        n_events: *mut c_int,
    ) -> gboolean;
    pub fn gdk_device_get_key(
        device: *mut GdkDevice,
        index_: c_uint,
        keyval: *mut c_uint,
        modifiers: *mut GdkModifierType,
    ) -> gboolean;
    pub fn gdk_device_get_last_event_window(device: *mut GdkDevice) -> *mut GdkWindow;
    pub fn gdk_device_get_mode(device: *mut GdkDevice) -> GdkInputMode;
    pub fn gdk_device_get_n_axes(device: *mut GdkDevice) -> c_int;
    pub fn gdk_device_get_n_keys(device: *mut GdkDevice) -> c_int;
    pub fn gdk_device_get_name(device: *mut GdkDevice) -> *const c_char;
    pub fn gdk_device_get_position(
        device: *mut GdkDevice,
        screen: *mut *mut GdkScreen,
        x: *mut c_int,
        y: *mut c_int,
    );
    pub fn gdk_device_get_position_double(
        device: *mut GdkDevice,
        screen: *mut *mut GdkScreen,
        x: *mut c_double,
        y: *mut c_double,
    );
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_device_get_product_id(device: *mut GdkDevice) -> *const c_char;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_device_get_seat(device: *mut GdkDevice) -> *mut GdkSeat;
    pub fn gdk_device_get_source(device: *mut GdkDevice) -> GdkInputSource;
    pub fn gdk_device_get_state(
        device: *mut GdkDevice,
        window: *mut GdkWindow,
        axes: *mut c_double,
        mask: *mut GdkModifierType,
    );
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_device_get_vendor_id(device: *mut GdkDevice) -> *const c_char;
    pub fn gdk_device_get_window_at_position(
        device: *mut GdkDevice,
        win_x: *mut c_int,
        win_y: *mut c_int,
    ) -> *mut GdkWindow;
    pub fn gdk_device_get_window_at_position_double(
        device: *mut GdkDevice,
        win_x: *mut c_double,
        win_y: *mut c_double,
    ) -> *mut GdkWindow;
    pub fn gdk_device_grab(
        device: *mut GdkDevice,
        window: *mut GdkWindow,
        grab_ownership: GdkGrabOwnership,
        owner_events: gboolean,
        event_mask: GdkEventMask,
        cursor: *mut GdkCursor,
        time_: u32,
    ) -> GdkGrabStatus;
    pub fn gdk_device_list_axes(device: *mut GdkDevice) -> *mut glib::GList;
    pub fn gdk_device_list_slave_devices(device: *mut GdkDevice) -> *mut glib::GList;
    pub fn gdk_device_set_axis_use(device: *mut GdkDevice, index_: c_uint, use_: GdkAxisUse);
    pub fn gdk_device_set_key(
        device: *mut GdkDevice,
        index_: c_uint,
        keyval: c_uint,
        modifiers: GdkModifierType,
    );
    pub fn gdk_device_set_mode(device: *mut GdkDevice, mode: GdkInputMode) -> gboolean;
    pub fn gdk_device_ungrab(device: *mut GdkDevice, time_: u32);
    pub fn gdk_device_warp(device: *mut GdkDevice, screen: *mut GdkScreen, x: c_int, y: c_int);

    //=========================================================================
    // GdkDeviceManager
    //=========================================================================
    pub fn gdk_device_manager_get_type() -> GType;
    pub fn gdk_device_manager_get_client_pointer(
        device_manager: *mut GdkDeviceManager,
    ) -> *mut GdkDevice;
    pub fn gdk_device_manager_get_display(device_manager: *mut GdkDeviceManager)
        -> *mut GdkDisplay;
    pub fn gdk_device_manager_list_devices(
        device_manager: *mut GdkDeviceManager,
        type_: GdkDeviceType,
    ) -> *mut glib::GList;

    //=========================================================================
    // GdkDeviceTool
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_tool_get_type() -> GType;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_tool_get_hardware_id(tool: *mut GdkDeviceTool) -> u64;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_tool_get_serial(tool: *mut GdkDeviceTool) -> u64;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_tool_get_tool_type(tool: *mut GdkDeviceTool) -> GdkDeviceToolType;

    //=========================================================================
    // GdkDisplay
    //=========================================================================
    pub fn gdk_display_get_type() -> GType;
    pub fn gdk_display_get_default() -> *mut GdkDisplay;
    pub fn gdk_display_open(display_name: *const c_char) -> *mut GdkDisplay;
    pub fn gdk_display_open_default_libgtk_only() -> *mut GdkDisplay;
    pub fn gdk_display_beep(display: *mut GdkDisplay);
    pub fn gdk_display_close(display: *mut GdkDisplay);
    pub fn gdk_display_device_is_grabbed(
        display: *mut GdkDisplay,
        device: *mut GdkDevice,
    ) -> gboolean;
    pub fn gdk_display_flush(display: *mut GdkDisplay);
    pub fn gdk_display_get_app_launch_context(display: *mut GdkDisplay)
        -> *mut GdkAppLaunchContext;
    pub fn gdk_display_get_default_cursor_size(display: *mut GdkDisplay) -> c_uint;
    pub fn gdk_display_get_default_group(display: *mut GdkDisplay) -> *mut GdkWindow;
    pub fn gdk_display_get_default_screen(display: *mut GdkDisplay) -> *mut GdkScreen;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_display_get_default_seat(display: *mut GdkDisplay) -> *mut GdkSeat;
    pub fn gdk_display_get_device_manager(display: *mut GdkDisplay) -> *mut GdkDeviceManager;
    pub fn gdk_display_get_event(display: *mut GdkDisplay) -> *mut GdkEvent;
    pub fn gdk_display_get_maximal_cursor_size(
        display: *mut GdkDisplay,
        width: *mut c_uint,
        height: *mut c_uint,
    );
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_display_get_monitor(display: *mut GdkDisplay, monitor_num: c_int)
        -> *mut GdkMonitor;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_display_get_monitor_at_point(
        display: *mut GdkDisplay,
        x: c_int,
        y: c_int,
    ) -> *mut GdkMonitor;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_display_get_monitor_at_window(
        display: *mut GdkDisplay,
        window: *mut GdkWindow,
    ) -> *mut GdkMonitor;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_display_get_n_monitors(display: *mut GdkDisplay) -> c_int;
    pub fn gdk_display_get_n_screens(display: *mut GdkDisplay) -> c_int;
    pub fn gdk_display_get_name(display: *mut GdkDisplay) -> *const c_char;
    pub fn gdk_display_get_pointer(
        display: *mut GdkDisplay,
        screen: *mut *mut GdkScreen,
        x: *mut c_int,
        y: *mut c_int,
        mask: *mut GdkModifierType,
    );
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_display_get_primary_monitor(display: *mut GdkDisplay) -> *mut GdkMonitor;
    pub fn gdk_display_get_screen(display: *mut GdkDisplay, screen_num: c_int) -> *mut GdkScreen;
    pub fn gdk_display_get_window_at_pointer(
        display: *mut GdkDisplay,
        win_x: *mut c_int,
        win_y: *mut c_int,
    ) -> *mut GdkWindow;
    pub fn gdk_display_has_pending(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_is_closed(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_keyboard_ungrab(display: *mut GdkDisplay, time_: u32);
    pub fn gdk_display_list_devices(display: *mut GdkDisplay) -> *mut glib::GList;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_display_list_seats(display: *mut GdkDisplay) -> *mut glib::GList;
    pub fn gdk_display_notify_startup_complete(display: *mut GdkDisplay, startup_id: *const c_char);
    pub fn gdk_display_peek_event(display: *mut GdkDisplay) -> *mut GdkEvent;
    pub fn gdk_display_pointer_is_grabbed(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_pointer_ungrab(display: *mut GdkDisplay, time_: u32);
    pub fn gdk_display_put_event(display: *mut GdkDisplay, event: *const GdkEvent);
    pub fn gdk_display_request_selection_notification(
        display: *mut GdkDisplay,
        selection: GdkAtom,
    ) -> gboolean;
    pub fn gdk_display_set_double_click_distance(display: *mut GdkDisplay, distance: c_uint);
    pub fn gdk_display_set_double_click_time(display: *mut GdkDisplay, msec: c_uint);
    pub fn gdk_display_store_clipboard(
        display: *mut GdkDisplay,
        clipboard_window: *mut GdkWindow,
        time_: u32,
        targets: *const GdkAtom,
        n_targets: c_int,
    );
    pub fn gdk_display_supports_clipboard_persistence(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_composite(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_cursor_alpha(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_cursor_color(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_input_shapes(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_selection_notification(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_supports_shapes(display: *mut GdkDisplay) -> gboolean;
    pub fn gdk_display_sync(display: *mut GdkDisplay);
    pub fn gdk_display_warp_pointer(
        display: *mut GdkDisplay,
        screen: *mut GdkScreen,
        x: c_int,
        y: c_int,
    );

    //=========================================================================
    // GdkDisplayManager
    //=========================================================================
    pub fn gdk_display_manager_get_type() -> GType;
    pub fn gdk_display_manager_get() -> *mut GdkDisplayManager;
    pub fn gdk_display_manager_get_default_display(
        manager: *mut GdkDisplayManager,
    ) -> *mut GdkDisplay;
    pub fn gdk_display_manager_list_displays(manager: *mut GdkDisplayManager) -> *mut glib::GSList;
    pub fn gdk_display_manager_open_display(
        manager: *mut GdkDisplayManager,
        name: *const c_char,
    ) -> *mut GdkDisplay;
    pub fn gdk_display_manager_set_default_display(
        manager: *mut GdkDisplayManager,
        display: *mut GdkDisplay,
    );

    //=========================================================================
    // GdkDragContext
    //=========================================================================
    pub fn gdk_drag_context_get_type() -> GType;
    pub fn gdk_drag_context_get_actions(context: *mut GdkDragContext) -> GdkDragAction;
    pub fn gdk_drag_context_get_dest_window(context: *mut GdkDragContext) -> *mut GdkWindow;
    pub fn gdk_drag_context_get_device(context: *mut GdkDragContext) -> *mut GdkDevice;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_context_get_drag_window(context: *mut GdkDragContext) -> *mut GdkWindow;
    pub fn gdk_drag_context_get_protocol(context: *mut GdkDragContext) -> GdkDragProtocol;
    pub fn gdk_drag_context_get_selected_action(context: *mut GdkDragContext) -> GdkDragAction;
    pub fn gdk_drag_context_get_source_window(context: *mut GdkDragContext) -> *mut GdkWindow;
    pub fn gdk_drag_context_get_suggested_action(context: *mut GdkDragContext) -> GdkDragAction;
    pub fn gdk_drag_context_list_targets(context: *mut GdkDragContext) -> *mut glib::GList;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_context_manage_dnd(
        context: *mut GdkDragContext,
        ipc_window: *mut GdkWindow,
        actions: GdkDragAction,
    ) -> gboolean;
    pub fn gdk_drag_context_set_device(context: *mut GdkDragContext, device: *mut GdkDevice);
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_context_set_hotspot(context: *mut GdkDragContext, hot_x: c_int, hot_y: c_int);

    //=========================================================================
    // GdkDrawingContext
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_drawing_context_get_type() -> GType;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_drawing_context_get_cairo_context(
        context: *mut GdkDrawingContext,
    ) -> *mut cairo::cairo_t;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_drawing_context_get_clip(
        context: *mut GdkDrawingContext,
    ) -> *mut cairo::cairo_region_t;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_drawing_context_get_window(context: *mut GdkDrawingContext) -> *mut GdkWindow;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_drawing_context_is_valid(context: *mut GdkDrawingContext) -> gboolean;

    //=========================================================================
    // GdkFrameClock
    //=========================================================================
    pub fn gdk_frame_clock_get_type() -> GType;
    pub fn gdk_frame_clock_begin_updating(frame_clock: *mut GdkFrameClock);
    pub fn gdk_frame_clock_end_updating(frame_clock: *mut GdkFrameClock);
    pub fn gdk_frame_clock_get_current_timings(
        frame_clock: *mut GdkFrameClock,
    ) -> *mut GdkFrameTimings;
    pub fn gdk_frame_clock_get_frame_counter(frame_clock: *mut GdkFrameClock) -> i64;
    pub fn gdk_frame_clock_get_frame_time(frame_clock: *mut GdkFrameClock) -> i64;
    pub fn gdk_frame_clock_get_history_start(frame_clock: *mut GdkFrameClock) -> i64;
    pub fn gdk_frame_clock_get_refresh_info(
        frame_clock: *mut GdkFrameClock,
        base_time: i64,
        refresh_interval_return: *mut i64,
        presentation_time_return: *mut i64,
    );
    pub fn gdk_frame_clock_get_timings(
        frame_clock: *mut GdkFrameClock,
        frame_counter: i64,
    ) -> *mut GdkFrameTimings;
    pub fn gdk_frame_clock_request_phase(
        frame_clock: *mut GdkFrameClock,
        phase: GdkFrameClockPhase,
    );

    //=========================================================================
    // GdkGLContext
    //=========================================================================
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_type() -> GType;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_clear_current();
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_current() -> *mut GdkGLContext;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_debug_enabled(context: *mut GdkGLContext) -> gboolean;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_display(context: *mut GdkGLContext) -> *mut GdkDisplay;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_forward_compatible(context: *mut GdkGLContext) -> gboolean;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_required_version(
        context: *mut GdkGLContext,
        major: *mut c_int,
        minor: *mut c_int,
    );
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_shared_context(context: *mut GdkGLContext) -> *mut GdkGLContext;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_gl_context_get_use_es(context: *mut GdkGLContext) -> gboolean;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_version(
        context: *mut GdkGLContext,
        major: *mut c_int,
        minor: *mut c_int,
    );
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_get_window(context: *mut GdkGLContext) -> *mut GdkWindow;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_gl_context_is_legacy(context: *mut GdkGLContext) -> gboolean;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_make_current(context: *mut GdkGLContext);
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_realize(
        context: *mut GdkGLContext,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_set_debug_enabled(context: *mut GdkGLContext, enabled: gboolean);
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_set_forward_compatible(context: *mut GdkGLContext, compatible: gboolean);
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_gl_context_set_required_version(
        context: *mut GdkGLContext,
        major: c_int,
        minor: c_int,
    );
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_gl_context_set_use_es(context: *mut GdkGLContext, use_es: c_int);

    //=========================================================================
    // GdkKeymap
    //=========================================================================
    pub fn gdk_keymap_get_type() -> GType;
    pub fn gdk_keymap_get_default() -> *mut GdkKeymap;
    pub fn gdk_keymap_get_for_display(display: *mut GdkDisplay) -> *mut GdkKeymap;
    pub fn gdk_keymap_add_virtual_modifiers(keymap: *mut GdkKeymap, state: *mut GdkModifierType);
    pub fn gdk_keymap_get_caps_lock_state(keymap: *mut GdkKeymap) -> gboolean;
    pub fn gdk_keymap_get_direction(keymap: *mut GdkKeymap) -> pango::PangoDirection;
    pub fn gdk_keymap_get_entries_for_keycode(
        keymap: *mut GdkKeymap,
        hardware_keycode: c_uint,
        keys: *mut *mut GdkKeymapKey,
        keyvals: *mut *mut c_uint,
        n_entries: *mut c_int,
    ) -> gboolean;
    pub fn gdk_keymap_get_entries_for_keyval(
        keymap: *mut GdkKeymap,
        keyval: c_uint,
        keys: *mut *mut GdkKeymapKey,
        n_keys: *mut c_int,
    ) -> gboolean;
    pub fn gdk_keymap_get_modifier_mask(
        keymap: *mut GdkKeymap,
        intent: GdkModifierIntent,
    ) -> GdkModifierType;
    pub fn gdk_keymap_get_modifier_state(keymap: *mut GdkKeymap) -> c_uint;
    pub fn gdk_keymap_get_num_lock_state(keymap: *mut GdkKeymap) -> gboolean;
    #[cfg(any(feature = "v3_18", feature = "dox"))]
    pub fn gdk_keymap_get_scroll_lock_state(keymap: *mut GdkKeymap) -> gboolean;
    pub fn gdk_keymap_have_bidi_layouts(keymap: *mut GdkKeymap) -> gboolean;
    pub fn gdk_keymap_lookup_key(keymap: *mut GdkKeymap, key: *const GdkKeymapKey) -> c_uint;
    pub fn gdk_keymap_map_virtual_modifiers(
        keymap: *mut GdkKeymap,
        state: *mut GdkModifierType,
    ) -> gboolean;
    pub fn gdk_keymap_translate_keyboard_state(
        keymap: *mut GdkKeymap,
        hardware_keycode: c_uint,
        state: GdkModifierType,
        group: c_int,
        keyval: *mut c_uint,
        effective_group: *mut c_int,
        level: *mut c_int,
        consumed_modifiers: *mut GdkModifierType,
    ) -> gboolean;

    //=========================================================================
    // GdkMonitor
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_type() -> GType;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_display(monitor: *mut GdkMonitor) -> *mut GdkDisplay;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_geometry(monitor: *mut GdkMonitor, geometry: *mut GdkRectangle);
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_height_mm(monitor: *mut GdkMonitor) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_manufacturer(monitor: *mut GdkMonitor) -> *const c_char;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_model(monitor: *mut GdkMonitor) -> *const c_char;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_refresh_rate(monitor: *mut GdkMonitor) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_scale_factor(monitor: *mut GdkMonitor) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_subpixel_layout(monitor: *mut GdkMonitor) -> GdkSubpixelLayout;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_width_mm(monitor: *mut GdkMonitor) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_get_workarea(monitor: *mut GdkMonitor, workarea: *mut GdkRectangle);
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_monitor_is_primary(monitor: *mut GdkMonitor) -> gboolean;

    //=========================================================================
    // GdkScreen
    //=========================================================================
    pub fn gdk_screen_get_type() -> GType;
    pub fn gdk_screen_get_default() -> *mut GdkScreen;
    pub fn gdk_screen_height() -> c_int;
    pub fn gdk_screen_height_mm() -> c_int;
    pub fn gdk_screen_width() -> c_int;
    pub fn gdk_screen_width_mm() -> c_int;
    pub fn gdk_screen_get_active_window(screen: *mut GdkScreen) -> *mut GdkWindow;
    pub fn gdk_screen_get_display(screen: *mut GdkScreen) -> *mut GdkDisplay;
    pub fn gdk_screen_get_font_options(
        screen: *mut GdkScreen,
    ) -> *const cairo::cairo_font_options_t;
    pub fn gdk_screen_get_height(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_height_mm(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_monitor_at_point(screen: *mut GdkScreen, x: c_int, y: c_int) -> c_int;
    pub fn gdk_screen_get_monitor_at_window(
        screen: *mut GdkScreen,
        window: *mut GdkWindow,
    ) -> c_int;
    pub fn gdk_screen_get_monitor_geometry(
        screen: *mut GdkScreen,
        monitor_num: c_int,
        dest: *mut GdkRectangle,
    );
    pub fn gdk_screen_get_monitor_height_mm(screen: *mut GdkScreen, monitor_num: c_int) -> c_int;
    pub fn gdk_screen_get_monitor_plug_name(
        screen: *mut GdkScreen,
        monitor_num: c_int,
    ) -> *mut c_char;
    pub fn gdk_screen_get_monitor_scale_factor(screen: *mut GdkScreen, monitor_num: c_int)
        -> c_int;
    pub fn gdk_screen_get_monitor_width_mm(screen: *mut GdkScreen, monitor_num: c_int) -> c_int;
    pub fn gdk_screen_get_monitor_workarea(
        screen: *mut GdkScreen,
        monitor_num: c_int,
        dest: *mut GdkRectangle,
    );
    pub fn gdk_screen_get_n_monitors(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_number(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_primary_monitor(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_resolution(screen: *mut GdkScreen) -> c_double;
    pub fn gdk_screen_get_rgba_visual(screen: *mut GdkScreen) -> *mut GdkVisual;
    pub fn gdk_screen_get_root_window(screen: *mut GdkScreen) -> *mut GdkWindow;
    pub fn gdk_screen_get_setting(
        screen: *mut GdkScreen,
        name: *const c_char,
        value: *mut gobject::GValue,
    ) -> gboolean;
    pub fn gdk_screen_get_system_visual(screen: *mut GdkScreen) -> *mut GdkVisual;
    pub fn gdk_screen_get_toplevel_windows(screen: *mut GdkScreen) -> *mut glib::GList;
    pub fn gdk_screen_get_width(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_width_mm(screen: *mut GdkScreen) -> c_int;
    pub fn gdk_screen_get_window_stack(screen: *mut GdkScreen) -> *mut glib::GList;
    pub fn gdk_screen_is_composited(screen: *mut GdkScreen) -> gboolean;
    pub fn gdk_screen_list_visuals(screen: *mut GdkScreen) -> *mut glib::GList;
    pub fn gdk_screen_make_display_name(screen: *mut GdkScreen) -> *mut c_char;
    pub fn gdk_screen_set_font_options(
        screen: *mut GdkScreen,
        options: *const cairo::cairo_font_options_t,
    );
    pub fn gdk_screen_set_resolution(screen: *mut GdkScreen, dpi: c_double);

    //=========================================================================
    // GdkSeat
    //=========================================================================
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_type() -> GType;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_capabilities(seat: *mut GdkSeat) -> GdkSeatCapabilities;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_display(seat: *mut GdkSeat) -> *mut GdkDisplay;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_keyboard(seat: *mut GdkSeat) -> *mut GdkDevice;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_pointer(seat: *mut GdkSeat) -> *mut GdkDevice;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_get_slaves(
        seat: *mut GdkSeat,
        capabilities: GdkSeatCapabilities,
    ) -> *mut glib::GList;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_grab(
        seat: *mut GdkSeat,
        window: *mut GdkWindow,
        capabilities: GdkSeatCapabilities,
        owner_events: gboolean,
        cursor: *mut GdkCursor,
        event: *const GdkEvent,
        prepare_func: GdkSeatGrabPrepareFunc,
        prepare_func_data: gpointer,
    ) -> GdkGrabStatus;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_seat_ungrab(seat: *mut GdkSeat);

    //=========================================================================
    // GdkVisual
    //=========================================================================
    pub fn gdk_visual_get_type() -> GType;
    pub fn gdk_visual_get_best() -> *mut GdkVisual;
    pub fn gdk_visual_get_best_depth() -> c_int;
    pub fn gdk_visual_get_best_type() -> GdkVisualType;
    pub fn gdk_visual_get_best_with_both(
        depth: c_int,
        visual_type: GdkVisualType,
    ) -> *mut GdkVisual;
    pub fn gdk_visual_get_best_with_depth(depth: c_int) -> *mut GdkVisual;
    pub fn gdk_visual_get_best_with_type(visual_type: GdkVisualType) -> *mut GdkVisual;
    pub fn gdk_visual_get_system() -> *mut GdkVisual;
    pub fn gdk_visual_get_bits_per_rgb(visual: *mut GdkVisual) -> c_int;
    pub fn gdk_visual_get_blue_pixel_details(
        visual: *mut GdkVisual,
        mask: *mut u32,
        shift: *mut c_int,
        precision: *mut c_int,
    );
    pub fn gdk_visual_get_byte_order(visual: *mut GdkVisual) -> GdkByteOrder;
    pub fn gdk_visual_get_colormap_size(visual: *mut GdkVisual) -> c_int;
    pub fn gdk_visual_get_depth(visual: *mut GdkVisual) -> c_int;
    pub fn gdk_visual_get_green_pixel_details(
        visual: *mut GdkVisual,
        mask: *mut u32,
        shift: *mut c_int,
        precision: *mut c_int,
    );
    pub fn gdk_visual_get_red_pixel_details(
        visual: *mut GdkVisual,
        mask: *mut u32,
        shift: *mut c_int,
        precision: *mut c_int,
    );
    pub fn gdk_visual_get_screen(visual: *mut GdkVisual) -> *mut GdkScreen;
    pub fn gdk_visual_get_visual_type(visual: *mut GdkVisual) -> GdkVisualType;

    //=========================================================================
    // GdkWindow
    //=========================================================================
    pub fn gdk_window_get_type() -> GType;
    pub fn gdk_window_new(
        parent: *mut GdkWindow,
        attributes: *mut GdkWindowAttr,
        attributes_mask: c_int,
    ) -> *mut GdkWindow;
    pub fn gdk_window_at_pointer(win_x: *mut c_int, win_y: *mut c_int) -> *mut GdkWindow;
    pub fn gdk_window_constrain_size(
        geometry: *mut GdkGeometry,
        flags: GdkWindowHints,
        width: c_int,
        height: c_int,
        new_width: *mut c_int,
        new_height: *mut c_int,
    );
    pub fn gdk_window_process_all_updates();
    pub fn gdk_window_set_debug_updates(setting: gboolean);
    pub fn gdk_window_add_filter(window: *mut GdkWindow, function: GdkFilterFunc, data: gpointer);
    pub fn gdk_window_beep(window: *mut GdkWindow);
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_window_begin_draw_frame(
        window: *mut GdkWindow,
        region: *const cairo::cairo_region_t,
    ) -> *mut GdkDrawingContext;
    pub fn gdk_window_begin_move_drag(
        window: *mut GdkWindow,
        button: c_int,
        root_x: c_int,
        root_y: c_int,
        timestamp: u32,
    );
    pub fn gdk_window_begin_move_drag_for_device(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        button: c_int,
        root_x: c_int,
        root_y: c_int,
        timestamp: u32,
    );
    pub fn gdk_window_begin_paint_rect(window: *mut GdkWindow, rectangle: *const GdkRectangle);
    pub fn gdk_window_begin_paint_region(
        window: *mut GdkWindow,
        region: *const cairo::cairo_region_t,
    );
    pub fn gdk_window_begin_resize_drag(
        window: *mut GdkWindow,
        edge: GdkWindowEdge,
        button: c_int,
        root_x: c_int,
        root_y: c_int,
        timestamp: u32,
    );
    pub fn gdk_window_begin_resize_drag_for_device(
        window: *mut GdkWindow,
        edge: GdkWindowEdge,
        device: *mut GdkDevice,
        button: c_int,
        root_x: c_int,
        root_y: c_int,
        timestamp: u32,
    );
    pub fn gdk_window_configure_finished(window: *mut GdkWindow);
    pub fn gdk_window_coords_from_parent(
        window: *mut GdkWindow,
        parent_x: c_double,
        parent_y: c_double,
        x: *mut c_double,
        y: *mut c_double,
    );
    pub fn gdk_window_coords_to_parent(
        window: *mut GdkWindow,
        x: c_double,
        y: c_double,
        parent_x: *mut c_double,
        parent_y: *mut c_double,
    );
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_window_create_gl_context(
        window: *mut GdkWindow,
        error: *mut *mut glib::GError,
    ) -> *mut GdkGLContext;
    pub fn gdk_window_create_similar_image_surface(
        window: *mut GdkWindow,
        format: c_int,
        width: c_int,
        height: c_int,
        scale: c_int,
    ) -> *mut cairo::cairo_surface_t;
    pub fn gdk_window_create_similar_surface(
        window: *mut GdkWindow,
        content: cairo::cairo_content_t,
        width: c_int,
        height: c_int,
    ) -> *mut cairo::cairo_surface_t;
    pub fn gdk_window_deiconify(window: *mut GdkWindow);
    pub fn gdk_window_destroy(window: *mut GdkWindow);
    pub fn gdk_window_destroy_notify(window: *mut GdkWindow);
    pub fn gdk_window_enable_synchronized_configure(window: *mut GdkWindow);
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_window_end_draw_frame(window: *mut GdkWindow, context: *mut GdkDrawingContext);
    pub fn gdk_window_end_paint(window: *mut GdkWindow);
    pub fn gdk_window_ensure_native(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_flush(window: *mut GdkWindow);
    pub fn gdk_window_focus(window: *mut GdkWindow, timestamp: u32);
    pub fn gdk_window_freeze_toplevel_updates_libgtk_only(window: *mut GdkWindow);
    pub fn gdk_window_freeze_updates(window: *mut GdkWindow);
    pub fn gdk_window_fullscreen(window: *mut GdkWindow);
    pub fn gdk_window_fullscreen_on_monitor(window: *mut GdkWindow, monitor: c_int);
    pub fn gdk_window_geometry_changed(window: *mut GdkWindow);
    pub fn gdk_window_get_accept_focus(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_background_pattern(window: *mut GdkWindow)
        -> *mut cairo::cairo_pattern_t;
    pub fn gdk_window_get_children(window: *mut GdkWindow) -> *mut glib::GList;
    pub fn gdk_window_get_children_with_user_data(
        window: *mut GdkWindow,
        user_data: gpointer,
    ) -> *mut glib::GList;
    pub fn gdk_window_get_clip_region(window: *mut GdkWindow) -> *mut cairo::cairo_region_t;
    pub fn gdk_window_get_composited(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_cursor(window: *mut GdkWindow) -> *mut GdkCursor;
    pub fn gdk_window_get_decorations(
        window: *mut GdkWindow,
        decorations: *mut GdkWMDecoration,
    ) -> gboolean;
    pub fn gdk_window_get_device_cursor(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
    ) -> *mut GdkCursor;
    pub fn gdk_window_get_device_events(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
    ) -> GdkEventMask;
    pub fn gdk_window_get_device_position(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        x: *mut c_int,
        y: *mut c_int,
        mask: *mut GdkModifierType,
    ) -> *mut GdkWindow;
    pub fn gdk_window_get_device_position_double(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        x: *mut c_double,
        y: *mut c_double,
        mask: *mut GdkModifierType,
    ) -> *mut GdkWindow;
    pub fn gdk_window_get_display(window: *mut GdkWindow) -> *mut GdkDisplay;
    pub fn gdk_window_get_drag_protocol(
        window: *mut GdkWindow,
        target: *mut *mut GdkWindow,
    ) -> GdkDragProtocol;
    pub fn gdk_window_get_effective_parent(window: *mut GdkWindow) -> *mut GdkWindow;
    pub fn gdk_window_get_effective_toplevel(window: *mut GdkWindow) -> *mut GdkWindow;
    pub fn gdk_window_get_event_compression(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_events(window: *mut GdkWindow) -> GdkEventMask;
    pub fn gdk_window_get_focus_on_map(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_frame_clock(window: *mut GdkWindow) -> *mut GdkFrameClock;
    pub fn gdk_window_get_frame_extents(window: *mut GdkWindow, rect: *mut GdkRectangle);
    pub fn gdk_window_get_fullscreen_mode(window: *mut GdkWindow) -> GdkFullscreenMode;
    pub fn gdk_window_get_geometry(
        window: *mut GdkWindow,
        x: *mut c_int,
        y: *mut c_int,
        width: *mut c_int,
        height: *mut c_int,
    );
    pub fn gdk_window_get_group(window: *mut GdkWindow) -> *mut GdkWindow;
    pub fn gdk_window_get_height(window: *mut GdkWindow) -> c_int;
    pub fn gdk_window_get_modal_hint(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_origin(window: *mut GdkWindow, x: *mut c_int, y: *mut c_int) -> c_int;
    pub fn gdk_window_get_parent(window: *mut GdkWindow) -> *mut GdkWindow;
    #[cfg(any(feature = "v3_18", feature = "dox"))]
    pub fn gdk_window_get_pass_through(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_pointer(
        window: *mut GdkWindow,
        x: *mut c_int,
        y: *mut c_int,
        mask: *mut GdkModifierType,
    ) -> *mut GdkWindow;
    pub fn gdk_window_get_position(window: *mut GdkWindow, x: *mut c_int, y: *mut c_int);
    pub fn gdk_window_get_root_coords(
        window: *mut GdkWindow,
        x: c_int,
        y: c_int,
        root_x: *mut c_int,
        root_y: *mut c_int,
    );
    pub fn gdk_window_get_root_origin(window: *mut GdkWindow, x: *mut c_int, y: *mut c_int);
    pub fn gdk_window_get_scale_factor(window: *mut GdkWindow) -> c_int;
    pub fn gdk_window_get_screen(window: *mut GdkWindow) -> *mut GdkScreen;
    pub fn gdk_window_get_source_events(
        window: *mut GdkWindow,
        source: GdkInputSource,
    ) -> GdkEventMask;
    pub fn gdk_window_get_state(window: *mut GdkWindow) -> GdkWindowState;
    pub fn gdk_window_get_support_multidevice(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_get_toplevel(window: *mut GdkWindow) -> *mut GdkWindow;
    pub fn gdk_window_get_type_hint(window: *mut GdkWindow) -> GdkWindowTypeHint;
    pub fn gdk_window_get_update_area(window: *mut GdkWindow) -> *mut cairo::cairo_region_t;
    pub fn gdk_window_get_user_data(window: *mut GdkWindow, data: *mut gpointer);
    pub fn gdk_window_get_visible_region(window: *mut GdkWindow) -> *mut cairo::cairo_region_t;
    pub fn gdk_window_get_visual(window: *mut GdkWindow) -> *mut GdkVisual;
    pub fn gdk_window_get_width(window: *mut GdkWindow) -> c_int;
    pub fn gdk_window_get_window_type(window: *mut GdkWindow) -> GdkWindowType;
    pub fn gdk_window_has_native(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_hide(window: *mut GdkWindow);
    pub fn gdk_window_iconify(window: *mut GdkWindow);
    pub fn gdk_window_input_shape_combine_region(
        window: *mut GdkWindow,
        shape_region: *const cairo::cairo_region_t,
        offset_x: c_int,
        offset_y: c_int,
    );
    pub fn gdk_window_invalidate_maybe_recurse(
        window: *mut GdkWindow,
        region: *const cairo::cairo_region_t,
        child_func: GdkWindowChildFunc,
        user_data: gpointer,
    );
    pub fn gdk_window_invalidate_rect(
        window: *mut GdkWindow,
        rect: *const GdkRectangle,
        invalidate_children: gboolean,
    );
    pub fn gdk_window_invalidate_region(
        window: *mut GdkWindow,
        region: *const cairo::cairo_region_t,
        invalidate_children: gboolean,
    );
    pub fn gdk_window_is_destroyed(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_is_input_only(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_is_shaped(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_is_viewable(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_is_visible(window: *mut GdkWindow) -> gboolean;
    pub fn gdk_window_lower(window: *mut GdkWindow);
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_window_mark_paint_from_clip(window: *mut GdkWindow, cr: *mut cairo::cairo_t);
    pub fn gdk_window_maximize(window: *mut GdkWindow);
    pub fn gdk_window_merge_child_input_shapes(window: *mut GdkWindow);
    pub fn gdk_window_merge_child_shapes(window: *mut GdkWindow);
    pub fn gdk_window_move(window: *mut GdkWindow, x: c_int, y: c_int);
    pub fn gdk_window_move_region(
        window: *mut GdkWindow,
        region: *const cairo::cairo_region_t,
        dx: c_int,
        dy: c_int,
    );
    pub fn gdk_window_move_resize(
        window: *mut GdkWindow,
        x: c_int,
        y: c_int,
        width: c_int,
        height: c_int,
    );
    #[cfg(any(feature = "v3_24", feature = "dox"))]
    pub fn gdk_window_move_to_rect(
        window: *mut GdkWindow,
        rect: *const GdkRectangle,
        rect_anchor: GdkGravity,
        window_anchor: GdkGravity,
        anchor_hints: GdkAnchorHints,
        rect_anchor_dx: c_int,
        rect_anchor_dy: c_int,
    );
    pub fn gdk_window_peek_children(window: *mut GdkWindow) -> *mut glib::GList;
    pub fn gdk_window_process_updates(window: *mut GdkWindow, update_children: gboolean);
    pub fn gdk_window_raise(window: *mut GdkWindow);
    pub fn gdk_window_register_dnd(window: *mut GdkWindow);
    pub fn gdk_window_remove_filter(
        window: *mut GdkWindow,
        function: GdkFilterFunc,
        data: gpointer,
    );
    pub fn gdk_window_reparent(
        window: *mut GdkWindow,
        new_parent: *mut GdkWindow,
        x: c_int,
        y: c_int,
    );
    pub fn gdk_window_resize(window: *mut GdkWindow, width: c_int, height: c_int);
    pub fn gdk_window_restack(window: *mut GdkWindow, sibling: *mut GdkWindow, above: gboolean);
    pub fn gdk_window_scroll(window: *mut GdkWindow, dx: c_int, dy: c_int);
    pub fn gdk_window_set_accept_focus(window: *mut GdkWindow, accept_focus: gboolean);
    pub fn gdk_window_set_background(window: *mut GdkWindow, color: *const GdkColor);
    pub fn gdk_window_set_background_pattern(
        window: *mut GdkWindow,
        pattern: *mut cairo::cairo_pattern_t,
    );
    pub fn gdk_window_set_background_rgba(window: *mut GdkWindow, rgba: *const GdkRGBA);
    pub fn gdk_window_set_child_input_shapes(window: *mut GdkWindow);
    pub fn gdk_window_set_child_shapes(window: *mut GdkWindow);
    pub fn gdk_window_set_composited(window: *mut GdkWindow, composited: gboolean);
    pub fn gdk_window_set_cursor(window: *mut GdkWindow, cursor: *mut GdkCursor);
    pub fn gdk_window_set_decorations(window: *mut GdkWindow, decorations: GdkWMDecoration);
    pub fn gdk_window_set_device_cursor(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        cursor: *mut GdkCursor,
    );
    pub fn gdk_window_set_device_events(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        event_mask: GdkEventMask,
    );
    pub fn gdk_window_set_event_compression(window: *mut GdkWindow, event_compression: gboolean);
    pub fn gdk_window_set_events(window: *mut GdkWindow, event_mask: GdkEventMask);
    pub fn gdk_window_set_focus_on_map(window: *mut GdkWindow, focus_on_map: gboolean);
    pub fn gdk_window_set_fullscreen_mode(window: *mut GdkWindow, mode: GdkFullscreenMode);
    pub fn gdk_window_set_functions(window: *mut GdkWindow, functions: GdkWMFunction);
    pub fn gdk_window_set_geometry_hints(
        window: *mut GdkWindow,
        geometry: *const GdkGeometry,
        geom_mask: GdkWindowHints,
    );
    pub fn gdk_window_set_group(window: *mut GdkWindow, leader: *mut GdkWindow);
    pub fn gdk_window_set_icon_list(window: *mut GdkWindow, pixbufs: *mut glib::GList);
    pub fn gdk_window_set_icon_name(window: *mut GdkWindow, name: *const c_char);
    pub fn gdk_window_set_invalidate_handler(
        window: *mut GdkWindow,
        handler: GdkWindowInvalidateHandlerFunc,
    );
    pub fn gdk_window_set_keep_above(window: *mut GdkWindow, setting: gboolean);
    pub fn gdk_window_set_keep_below(window: *mut GdkWindow, setting: gboolean);
    pub fn gdk_window_set_modal_hint(window: *mut GdkWindow, modal: gboolean);
    pub fn gdk_window_set_opacity(window: *mut GdkWindow, opacity: c_double);
    pub fn gdk_window_set_opaque_region(window: *mut GdkWindow, region: *mut cairo::cairo_region_t);
    pub fn gdk_window_set_override_redirect(window: *mut GdkWindow, override_redirect: gboolean);
    #[cfg(any(feature = "v3_18", feature = "dox"))]
    pub fn gdk_window_set_pass_through(window: *mut GdkWindow, pass_through: gboolean);
    pub fn gdk_window_set_role(window: *mut GdkWindow, role: *const c_char);
    pub fn gdk_window_set_shadow_width(
        window: *mut GdkWindow,
        left: c_int,
        right: c_int,
        top: c_int,
        bottom: c_int,
    );
    pub fn gdk_window_set_skip_pager_hint(window: *mut GdkWindow, skips_pager: gboolean);
    pub fn gdk_window_set_skip_taskbar_hint(window: *mut GdkWindow, skips_taskbar: gboolean);
    pub fn gdk_window_set_source_events(
        window: *mut GdkWindow,
        source: GdkInputSource,
        event_mask: GdkEventMask,
    );
    pub fn gdk_window_set_startup_id(window: *mut GdkWindow, startup_id: *const c_char);
    pub fn gdk_window_set_static_gravities(
        window: *mut GdkWindow,
        use_static: gboolean,
    ) -> gboolean;
    pub fn gdk_window_set_support_multidevice(
        window: *mut GdkWindow,
        support_multidevice: gboolean,
    );
    pub fn gdk_window_set_title(window: *mut GdkWindow, title: *const c_char);
    pub fn gdk_window_set_transient_for(window: *mut GdkWindow, parent: *mut GdkWindow);
    pub fn gdk_window_set_type_hint(window: *mut GdkWindow, hint: GdkWindowTypeHint);
    pub fn gdk_window_set_urgency_hint(window: *mut GdkWindow, urgent: gboolean);
    pub fn gdk_window_set_user_data(window: *mut GdkWindow, user_data: *mut gobject::GObject);
    pub fn gdk_window_shape_combine_region(
        window: *mut GdkWindow,
        shape_region: *const cairo::cairo_region_t,
        offset_x: c_int,
        offset_y: c_int,
    );
    pub fn gdk_window_show(window: *mut GdkWindow);
    pub fn gdk_window_show_unraised(window: *mut GdkWindow);
    pub fn gdk_window_show_window_menu(window: *mut GdkWindow, event: *mut GdkEvent) -> gboolean;
    pub fn gdk_window_stick(window: *mut GdkWindow);
    pub fn gdk_window_thaw_toplevel_updates_libgtk_only(window: *mut GdkWindow);
    pub fn gdk_window_thaw_updates(window: *mut GdkWindow);
    pub fn gdk_window_unfullscreen(window: *mut GdkWindow);
    pub fn gdk_window_unmaximize(window: *mut GdkWindow);
    pub fn gdk_window_unstick(window: *mut GdkWindow);
    pub fn gdk_window_withdraw(window: *mut GdkWindow);

    //=========================================================================
    // GdkDevicePad
    //=========================================================================
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_get_type() -> GType;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_get_feature_group(
        pad: *mut GdkDevicePad,
        feature: GdkDevicePadFeature,
        feature_idx: c_int,
    ) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_get_group_n_modes(pad: *mut GdkDevicePad, group_idx: c_int) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_get_n_features(
        pad: *mut GdkDevicePad,
        feature: GdkDevicePadFeature,
    ) -> c_int;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_device_pad_get_n_groups(pad: *mut GdkDevicePad) -> c_int;

    //=========================================================================
    // Other functions
    //=========================================================================
    pub fn gdk_add_option_entries_libgtk_only(group: *mut glib::GOptionGroup);
    pub fn gdk_beep();
    pub fn gdk_cairo_create(window: *mut GdkWindow) -> *mut cairo::cairo_t;
    #[cfg(any(feature = "v3_16", feature = "dox"))]
    pub fn gdk_cairo_draw_from_gl(
        cr: *mut cairo::cairo_t,
        window: *mut GdkWindow,
        source: c_int,
        source_type: c_int,
        buffer_scale: c_int,
        x: c_int,
        y: c_int,
        width: c_int,
        height: c_int,
    );
    pub fn gdk_cairo_get_clip_rectangle(
        cr: *mut cairo::cairo_t,
        rect: *mut GdkRectangle,
    ) -> gboolean;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_cairo_get_drawing_context(cr: *mut cairo::cairo_t) -> *mut GdkDrawingContext;
    pub fn gdk_cairo_rectangle(cr: *mut cairo::cairo_t, rectangle: *const GdkRectangle);
    pub fn gdk_cairo_region(cr: *mut cairo::cairo_t, region: *const cairo::cairo_region_t);
    pub fn gdk_cairo_region_create_from_surface(
        surface: *mut cairo::cairo_surface_t,
    ) -> *mut cairo::cairo_region_t;
    pub fn gdk_cairo_set_source_color(cr: *mut cairo::cairo_t, color: *const GdkColor);
    pub fn gdk_cairo_set_source_pixbuf(
        cr: *mut cairo::cairo_t,
        pixbuf: *const gdk_pixbuf::GdkPixbuf,
        pixbuf_x: c_double,
        pixbuf_y: c_double,
    );
    pub fn gdk_cairo_set_source_rgba(cr: *mut cairo::cairo_t, rgba: *const GdkRGBA);
    pub fn gdk_cairo_set_source_window(
        cr: *mut cairo::cairo_t,
        window: *mut GdkWindow,
        x: c_double,
        y: c_double,
    );
    pub fn gdk_cairo_surface_create_from_pixbuf(
        pixbuf: *const gdk_pixbuf::GdkPixbuf,
        scale: c_int,
        for_window: *mut GdkWindow,
    ) -> *mut cairo::cairo_surface_t;
    pub fn gdk_disable_multidevice();
    pub fn gdk_drag_abort(context: *mut GdkDragContext, time_: u32);
    pub fn gdk_drag_begin(window: *mut GdkWindow, targets: *mut glib::GList)
        -> *mut GdkDragContext;
    pub fn gdk_drag_begin_for_device(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        targets: *mut glib::GList,
    ) -> *mut GdkDragContext;
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_begin_from_point(
        window: *mut GdkWindow,
        device: *mut GdkDevice,
        targets: *mut glib::GList,
        x_root: c_int,
        y_root: c_int,
    ) -> *mut GdkDragContext;
    pub fn gdk_drag_drop(context: *mut GdkDragContext, time_: u32);
    #[cfg(any(feature = "v3_20", feature = "dox"))]
    pub fn gdk_drag_drop_done(context: *mut GdkDragContext, success: gboolean);
    pub fn gdk_drag_drop_succeeded(context: *mut GdkDragContext) -> gboolean;
    pub fn gdk_drag_find_window_for_screen(
        context: *mut GdkDragContext,
        drag_window: *mut GdkWindow,
        screen: *mut GdkScreen,
        x_root: c_int,
        y_root: c_int,
        dest_window: *mut *mut GdkWindow,
        protocol: *mut GdkDragProtocol,
    );
    pub fn gdk_drag_get_selection(context: *mut GdkDragContext) -> GdkAtom;
    pub fn gdk_drag_motion(
        context: *mut GdkDragContext,
        dest_window: *mut GdkWindow,
        protocol: GdkDragProtocol,
        x_root: c_int,
        y_root: c_int,
        suggested_action: GdkDragAction,
        possible_actions: GdkDragAction,
        time_: u32,
    ) -> gboolean;
    pub fn gdk_drag_status(context: *mut GdkDragContext, action: GdkDragAction, time_: u32);
    pub fn gdk_drop_finish(context: *mut GdkDragContext, success: gboolean, time_: u32);
    pub fn gdk_drop_reply(context: *mut GdkDragContext, accepted: gboolean, time_: u32);
    pub fn gdk_error_trap_pop() -> c_int;
    pub fn gdk_error_trap_pop_ignored();
    pub fn gdk_error_trap_push();
    pub fn gdk_events_get_angle(
        event1: *mut GdkEvent,
        event2: *mut GdkEvent,
        angle: *mut c_double,
    ) -> gboolean;
    pub fn gdk_events_get_center(
        event1: *mut GdkEvent,
        event2: *mut GdkEvent,
        x: *mut c_double,
        y: *mut c_double,
    ) -> gboolean;
    pub fn gdk_events_get_distance(
        event1: *mut GdkEvent,
        event2: *mut GdkEvent,
        distance: *mut c_double,
    ) -> gboolean;
    pub fn gdk_events_pending() -> gboolean;
    pub fn gdk_flush();
    pub fn gdk_get_default_root_window() -> *mut GdkWindow;
    pub fn gdk_get_display() -> *mut c_char;
    pub fn gdk_get_display_arg_name() -> *const c_char;
    pub fn gdk_get_program_class() -> *const c_char;
    pub fn gdk_get_show_events() -> gboolean;
    pub fn gdk_init(argc: *mut c_int, argv: *mut *mut *mut c_char);
    pub fn gdk_init_check(argc: *mut c_int, argv: *mut *mut *mut c_char) -> gboolean;
    pub fn gdk_keyboard_grab(
        window: *mut GdkWindow,
        owner_events: gboolean,
        time_: u32,
    ) -> GdkGrabStatus;
    pub fn gdk_keyboard_ungrab(time_: u32);
    pub fn gdk_keyval_convert_case(symbol: c_uint, lower: *mut c_uint, upper: *mut c_uint);
    pub fn gdk_keyval_from_name(keyval_name: *const c_char) -> c_uint;
    pub fn gdk_keyval_is_lower(keyval: c_uint) -> gboolean;
    pub fn gdk_keyval_is_upper(keyval: c_uint) -> gboolean;
    pub fn gdk_keyval_name(keyval: c_uint) -> *mut c_char;
    pub fn gdk_keyval_to_lower(keyval: c_uint) -> c_uint;
    pub fn gdk_keyval_to_unicode(keyval: c_uint) -> u32;
    pub fn gdk_keyval_to_upper(keyval: c_uint) -> c_uint;
    pub fn gdk_list_visuals() -> *mut glib::GList;
    pub fn gdk_notify_startup_complete();
    pub fn gdk_notify_startup_complete_with_id(startup_id: *const c_char);
    pub fn gdk_offscreen_window_get_embedder(window: *mut GdkWindow) -> *mut GdkWindow;
    pub fn gdk_offscreen_window_get_surface(window: *mut GdkWindow) -> *mut cairo::cairo_surface_t;
    pub fn gdk_offscreen_window_set_embedder(window: *mut GdkWindow, embedder: *mut GdkWindow);
    pub fn gdk_pango_context_get() -> *mut pango::PangoContext;
    #[cfg(any(feature = "v3_22", feature = "dox"))]
    pub fn gdk_pango_context_get_for_display(display: *mut GdkDisplay) -> *mut pango::PangoContext;
    pub fn gdk_pango_context_get_for_screen(screen: *mut GdkScreen) -> *mut pango::PangoContext;
    pub fn gdk_pango_layout_get_clip_region(
        layout: *mut pango::PangoLayout,
        x_origin: c_int,
        y_origin: c_int,
        index_ranges: *const c_int,
        n_ranges: c_int,
    ) -> *mut cairo::cairo_region_t;
    pub fn gdk_pango_layout_line_get_clip_region(
        line: *mut pango::PangoLayoutLine,
        x_origin: c_int,
        y_origin: c_int,
        index_ranges: *const c_int,
        n_ranges: c_int,
    ) -> *mut cairo::cairo_region_t;
    pub fn gdk_parse_args(argc: *mut c_int, argv: *mut *mut *mut c_char);
    pub fn gdk_pixbuf_get_from_surface(
        surface: *mut cairo::cairo_surface_t,
        src_x: c_int,
        src_y: c_int,
        width: c_int,
        height: c_int,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    pub fn gdk_pixbuf_get_from_window(
        window: *mut GdkWindow,
        src_x: c_int,
        src_y: c_int,
        width: c_int,
        height: c_int,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    pub fn gdk_pointer_grab(
        window: *mut GdkWindow,
        owner_events: gboolean,
        event_mask: GdkEventMask,
        confine_to: *mut GdkWindow,
        cursor: *mut GdkCursor,
        time_: u32,
    ) -> GdkGrabStatus;
    pub fn gdk_pointer_is_grabbed() -> gboolean;
    pub fn gdk_pointer_ungrab(time_: u32);
    pub fn gdk_pre_parse_libgtk_only();
    pub fn gdk_property_change(
        window: *mut GdkWindow,
        property: GdkAtom,
        type_: GdkAtom,
        format: c_int,
        mode: GdkPropMode,
        data: *const u8,
        nelements: c_int,
    );
    pub fn gdk_property_delete(window: *mut GdkWindow, property: GdkAtom);
    pub fn gdk_property_get(
        window: *mut GdkWindow,
        property: GdkAtom,
        type_: GdkAtom,
        offset: c_ulong,
        length: c_ulong,
        pdelete: c_int,
        actual_property_type: *mut GdkAtom,
        actual_format: *mut c_int,
        actual_length: *mut c_int,
        data: *mut *mut u8,
    ) -> gboolean;
    pub fn gdk_query_depths(depths: *mut *mut c_int, count: *mut c_int);
    pub fn gdk_query_visual_types(visual_types: *mut *mut GdkVisualType, count: *mut c_int);
    pub fn gdk_selection_convert(
        requestor: *mut GdkWindow,
        selection: GdkAtom,
        target: GdkAtom,
        time_: u32,
    );
    pub fn gdk_selection_owner_get(selection: GdkAtom) -> *mut GdkWindow;
    pub fn gdk_selection_owner_get_for_display(
        display: *mut GdkDisplay,
        selection: GdkAtom,
    ) -> *mut GdkWindow;
    pub fn gdk_selection_owner_set(
        owner: *mut GdkWindow,
        selection: GdkAtom,
        time_: u32,
        send_event: gboolean,
    ) -> gboolean;
    pub fn gdk_selection_owner_set_for_display(
        display: *mut GdkDisplay,
        owner: *mut GdkWindow,
        selection: GdkAtom,
        time_: u32,
        send_event: gboolean,
    ) -> gboolean;
    pub fn gdk_selection_property_get(
        requestor: *mut GdkWindow,
        data: *mut *mut u8,
        prop_type: *mut GdkAtom,
        prop_format: *mut c_int,
    ) -> c_int;
    pub fn gdk_selection_send_notify(
        requestor: *mut GdkWindow,
        selection: GdkAtom,
        target: GdkAtom,
        property: GdkAtom,
        time_: u32,
    );
    pub fn gdk_selection_send_notify_for_display(
        display: *mut GdkDisplay,
        requestor: *mut GdkWindow,
        selection: GdkAtom,
        target: GdkAtom,
        property: GdkAtom,
        time_: u32,
    );
    pub fn gdk_set_allowed_backends(backends: *const c_char);
    pub fn gdk_set_double_click_time(msec: c_uint);
    pub fn gdk_set_program_class(program_class: *const c_char);
    pub fn gdk_set_show_events(show_events: gboolean);
    pub fn gdk_setting_get(name: *const c_char, value: *mut gobject::GValue) -> gboolean;
    pub fn gdk_synthesize_window_state(
        window: *mut GdkWindow,
        unset_flags: GdkWindowState,
        set_flags: GdkWindowState,
    );
    pub fn gdk_test_render_sync(window: *mut GdkWindow);
    pub fn gdk_test_simulate_button(
        window: *mut GdkWindow,
        x: c_int,
        y: c_int,
        button: c_uint,
        modifiers: GdkModifierType,
        button_pressrelease: GdkEventType,
    ) -> gboolean;
    pub fn gdk_test_simulate_key(
        window: *mut GdkWindow,
        x: c_int,
        y: c_int,
        keyval: c_uint,
        modifiers: GdkModifierType,
        key_pressrelease: GdkEventType,
    ) -> gboolean;
    pub fn gdk_text_property_to_utf8_list_for_display(
        display: *mut GdkDisplay,
        encoding: GdkAtom,
        format: c_int,
        text: *const u8,
        length: c_int,
        list: *mut *mut *mut c_char,
    ) -> c_int;
    pub fn gdk_threads_add_idle(function: glib::GSourceFunc, data: gpointer) -> c_uint;
    pub fn gdk_threads_add_idle_full(
        priority: c_int,
        function: glib::GSourceFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
    ) -> c_uint;
    pub fn gdk_threads_add_timeout(
        interval: c_uint,
        function: glib::GSourceFunc,
        data: gpointer,
    ) -> c_uint;
    pub fn gdk_threads_add_timeout_full(
        priority: c_int,
        interval: c_uint,
        function: glib::GSourceFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
    ) -> c_uint;
    pub fn gdk_threads_add_timeout_seconds(
        interval: c_uint,
        function: glib::GSourceFunc,
        data: gpointer,
    ) -> c_uint;
    pub fn gdk_threads_add_timeout_seconds_full(
        priority: c_int,
        interval: c_uint,
        function: glib::GSourceFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
    ) -> c_uint;
    pub fn gdk_threads_enter();
    pub fn gdk_threads_init();
    pub fn gdk_threads_leave();
    pub fn gdk_threads_set_lock_functions(
        enter_fn: gobject::GCallback,
        leave_fn: gobject::GCallback,
    );
    pub fn gdk_unicode_to_keyval(wc: u32) -> c_uint;
    pub fn gdk_utf8_to_string_target(str: *const c_char) -> *mut c_char;

}
