@react-gnome/gjs-esm-types
Version:
TypeScript module declarations for GJS ESM modules.
1,914 lines (1,883 loc) • 422 kB
TypeScript
/*
* Type Definitions for Gjs (https://gjs.guide/)
*
* These type definitions are automatically generated, do not edit them by hand.
* If you found a bug fix it in ts-for-gir itself or create a bug report on https://github.com/gjsify/ts-for-gjs
*/
import type cairo from "gi://cairo?version=1.0";
import type PangoCairo from "gi://PangoCairo?version=1.0";
import type Pango from "gi://Pango?version=1.0";
import type HarfBuzz from "gi://HarfBuzz?version=0.0";
import type freetype2 from "gi://freetype2?version=2.0";
import type GObject from "gi://GObject?version=2.0";
import type GLib from "gi://GLib?version=2.0";
import type Gio from "gi://Gio?version=2.0";
import type GdkPixbuf from "gi://GdkPixbuf?version=2.0";
import type GModule from "gi://GModule?version=2.0";
declare module "gi://Gdk?version=4.0" {
/**
* Defines how device axes are interpreted by GTK.
*
* Note that the X and Y axes are not really needed; pointer devices
* report their location via the x/y members of events regardless. Whether
* X and Y are present as axes depends on the GDK backend.
*/
enum AxisUse {
/**
* the axis is ignored.
*/
IGNORE,
/**
* the axis is used as the x axis.
*/
X,
/**
* the axis is used as the y axis.
*/
Y,
/**
* the axis is used as the scroll x delta
*/
DELTA_X,
/**
* the axis is used as the scroll y delta
*/
DELTA_Y,
/**
* the axis is used for pressure information.
*/
PRESSURE,
/**
* the axis is used for x tilt information.
*/
XTILT,
/**
* the axis is used for y tilt information.
*/
YTILT,
/**
* the axis is used for wheel information.
*/
WHEEL,
/**
* the axis is used for pen/tablet distance information
*/
DISTANCE,
/**
* the axis is used for pen rotation information
*/
ROTATION,
/**
* the axis is used for pen slider information
*/
SLIDER,
/**
* a constant equal to the numerically highest axis value.
*/
LAST,
}
/**
* Specifies the crossing mode for enter and leave events.
*/
enum CrossingMode {
/**
* crossing because of pointer motion.
*/
NORMAL,
/**
* crossing because a grab is activated.
*/
GRAB,
/**
* crossing because a grab is deactivated.
*/
UNGRAB,
/**
* crossing because a GTK grab is activated.
*/
GTK_GRAB,
/**
* crossing because a GTK grab is deactivated.
*/
GTK_UNGRAB,
/**
* crossing because a GTK widget changed
* state (e.g. sensitivity).
*/
STATE_CHANGED,
/**
* crossing because a touch sequence has begun,
* this event is synthetic as the pointer might have not left the surface.
*/
TOUCH_BEGIN,
/**
* crossing because a touch sequence has ended,
* this event is synthetic as the pointer might have not left the surface.
*/
TOUCH_END,
/**
* crossing because of a device switch (i.e.
* a mouse taking control of the pointer after a touch device), this event
* is synthetic as the pointer didn’t leave the surface.
*/
DEVICE_SWITCH,
}
/**
* A pad feature.
*/
enum DevicePadFeature {
/**
* a button
*/
BUTTON,
/**
* a ring-shaped interactive area
*/
RING,
/**
* a straight interactive area
*/
STRIP,
}
/**
* Indicates the specific type of tool being used being a tablet. Such as an
* airbrush, pencil, etc.
*/
enum DeviceToolType {
/**
* Tool is of an unknown type.
*/
UNKNOWN,
/**
* Tool is a standard tablet stylus.
*/
PEN,
/**
* Tool is standard tablet eraser.
*/
ERASER,
/**
* Tool is a brush stylus.
*/
BRUSH,
/**
* Tool is a pencil stylus.
*/
PENCIL,
/**
* Tool is an airbrush stylus.
*/
AIRBRUSH,
/**
* Tool is a mouse.
*/
MOUSE,
/**
* Tool is a lens cursor.
*/
LENS,
}
/**
* Used in `GdkDrag` to the reason of a cancelled DND operation.
*/
enum DragCancelReason {
/**
* There is no suitable drop target.
*/
NO_TARGET,
/**
* Drag cancelled by the user
*/
USER_CANCELLED,
/**
* Unspecified error.
*/
ERROR,
}
/**
* Specifies the type of the event.
*/
enum EventType {
/**
* the window manager has requested that the toplevel surface be
* hidden or destroyed, usually when the user clicks on a special icon in the
* title bar.
*/
DELETE,
/**
* the pointer (usually a mouse) has moved.
*/
MOTION_NOTIFY,
/**
* a mouse button has been pressed.
*/
BUTTON_PRESS,
/**
* a mouse button has been released.
*/
BUTTON_RELEASE,
/**
* a key has been pressed.
*/
KEY_PRESS,
/**
* a key has been released.
*/
KEY_RELEASE,
/**
* the pointer has entered the surface.
*/
ENTER_NOTIFY,
/**
* the pointer has left the surface.
*/
LEAVE_NOTIFY,
/**
* the keyboard focus has entered or left the surface.
*/
FOCUS_CHANGE,
/**
* an input device has moved into contact with a sensing
* surface (e.g. a touchscreen or graphics tablet).
*/
PROXIMITY_IN,
/**
* an input device has moved out of contact with a sensing
* surface.
*/
PROXIMITY_OUT,
/**
* the mouse has entered the surface while a drag is in progress.
*/
DRAG_ENTER,
/**
* the mouse has left the surface while a drag is in progress.
*/
DRAG_LEAVE,
/**
* the mouse has moved in the surface while a drag is in
* progress.
*/
DRAG_MOTION,
/**
* a drop operation onto the surface has started.
*/
DROP_START,
/**
* the scroll wheel was turned
*/
SCROLL,
/**
* a pointer or keyboard grab was broken.
*/
GRAB_BROKEN,
/**
* A new touch event sequence has just started.
*/
TOUCH_BEGIN,
/**
* A touch event sequence has been updated.
*/
TOUCH_UPDATE,
/**
* A touch event sequence has finished.
*/
TOUCH_END,
/**
* A touch event sequence has been canceled.
*/
TOUCH_CANCEL,
/**
* A touchpad swipe gesture event, the current state
* is determined by its phase field.
*/
TOUCHPAD_SWIPE,
/**
* A touchpad pinch gesture event, the current state
* is determined by its phase field.
*/
TOUCHPAD_PINCH,
/**
* A tablet pad button press event.
*/
PAD_BUTTON_PRESS,
/**
* A tablet pad button release event.
*/
PAD_BUTTON_RELEASE,
/**
* A tablet pad axis event from a "ring".
*/
PAD_RING,
/**
* A tablet pad axis event from a "strip".
*/
PAD_STRIP,
/**
* A tablet pad group mode change.
*/
PAD_GROUP_MODE,
/**
* A touchpad hold gesture event, the current state
* is determined by its phase field. Since: 4.6
*/
TOUCHPAD_HOLD,
/**
* marks the end of the GdkEventType enumeration.
*/
EVENT_LAST,
}
/**
* Indicates which monitor a surface should span over when in fullscreen mode.
*/
enum FullscreenMode {
/**
* Fullscreen on current monitor only.
*/
CURRENT_MONITOR,
/**
* Span across all monitors when fullscreen.
*/
ALL_MONITORS,
}
/**
* Error enumeration for `GdkGLContext`.
*/
enum GLError {
/**
* OpenGL support is not available
*/
NOT_AVAILABLE,
/**
* The requested visual format is not supported
*/
UNSUPPORTED_FORMAT,
/**
* The requested profile is not supported
*/
UNSUPPORTED_PROFILE,
/**
* The shader compilation failed
*/
COMPILATION_FAILED,
/**
* The shader linking failed
*/
LINK_FAILED,
}
/**
* Defines the reference point of a surface and is used in `GdkPopupLayout`.
*/
enum Gravity {
/**
* the reference point is at the top left corner.
*/
NORTH_WEST,
/**
* the reference point is in the middle of the top edge.
*/
NORTH,
/**
* the reference point is at the top right corner.
*/
NORTH_EAST,
/**
* the reference point is at the middle of the left edge.
*/
WEST,
/**
* the reference point is at the center of the surface.
*/
CENTER,
/**
* the reference point is at the middle of the right edge.
*/
EAST,
/**
* the reference point is at the lower left corner.
*/
SOUTH_WEST,
/**
* the reference point is at the middle of the lower edge.
*/
SOUTH,
/**
* the reference point is at the lower right corner.
*/
SOUTH_EAST,
/**
* the reference point is at the top left corner of the
* surface itself, ignoring window manager decorations.
*/
STATIC,
}
/**
* An enumeration describing the type of an input device in general terms.
*/
enum InputSource {
/**
* the device is a mouse. (This will be reported for the core
* pointer, even if it is something else, such as a trackball.)
*/
MOUSE,
/**
* the device is a stylus of a graphics tablet or similar device.
*/
PEN,
/**
* the device is a keyboard.
*/
KEYBOARD,
/**
* the device is a direct-input touch device, such
* as a touchscreen or tablet
*/
TOUCHSCREEN,
/**
* the device is an indirect touch device, such
* as a touchpad
*/
TOUCHPAD,
/**
* the device is a trackpoint
*/
TRACKPOINT,
/**
* the device is a "pad", a collection of buttons,
* rings and strips found in drawing tablets
*/
TABLET_PAD,
}
/**
* Describes how well an event matches a given keyval and modifiers.
*
* `GdkKeyMatch` values are returned by [method`Gdk`.KeyEvent.matches].
*/
enum KeyMatch {
/**
* The key event does not match
*/
NONE,
/**
* The key event matches if keyboard state
* (specifically, the currently active group) is ignored
*/
PARTIAL,
/**
* The key event matches
*/
EXACT,
}
/**
* `GdkMemoryFormat` describes formats that image data can have in memory.
*
* It describes formats by listing the contents of the memory passed to it.
* So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a
* byte each of red, green and blue. It is not endian-dependent, so
* CAIRO_FORMAT_ARGB32 is represented by different `GdkMemoryFormats`
* on architectures with different endiannesses.
*
* Its naming is modelled after
* [VkFormat](https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkFormat)
* for details).
*/
enum MemoryFormat {
/**
* 4 bytes; for blue, green, red, alpha.
* The color values are premultiplied with the alpha value.
*/
B8G8R8A8_PREMULTIPLIED,
/**
* 4 bytes; for alpha, red, green, blue.
* The color values are premultiplied with the alpha value.
*/
A8R8G8B8_PREMULTIPLIED,
/**
* 4 bytes; for red, green, blue, alpha
* The color values are premultiplied with the alpha value.
*/
R8G8B8A8_PREMULTIPLIED,
/**
* 4 bytes; for blue, green, red, alpha.
*/
B8G8R8A8,
/**
* 4 bytes; for alpha, red, green, blue.
*/
A8R8G8B8,
/**
* 4 bytes; for red, green, blue, alpha.
*/
R8G8B8A8,
/**
* 4 bytes; for alpha, blue, green, red.
*/
A8B8G8R8,
/**
* 3 bytes; for red, green, blue. The data is opaque.
*/
R8G8B8,
/**
* 3 bytes; for blue, green, red. The data is opaque.
*/
B8G8R8,
/**
* 3 guint16 values; for red, green, blue. Since: 4.6
*/
R16G16B16,
/**
* 4 guint16 values; for red, green,
* blue, alpha. The color values are premultiplied with the alpha value.
* Since: 4.6
*/
R16G16B16A16_PREMULTIPLIED,
/**
* 4 guint16 values; for red, green, blue, alpha.
* Since: 4.6
*/
R16G16B16A16,
/**
* 3 half-float values; for red, green, blue.
* The data is opaque. Since: 4.6
*/
R16G16B16_FLOAT,
/**
* 4 half-float values; for
* red, green, blue and alpha. The color values are premultiplied with
* the alpha value. Since: 4.6
*/
R16G16B16A16_FLOAT_PREMULTIPLIED,
/**
* 4 half-float values; for red, green,
* blue and alpha. Since: 4.6
*/
R16G16B16A16_FLOAT,
R32G32B32_FLOAT,
/**
* 4 float values; for
* red, green, blue and alpha. The color values are premultiplied with
* the alpha value. Since: 4.6
*/
R32G32B32A32_FLOAT_PREMULTIPLIED,
/**
* 4 float values; for red, green, blue and
* alpha. Since: 4.6
*/
R32G32B32A32_FLOAT,
/**
* The number of formats. This value will change as
* more formats get added, so do not rely on its concrete integer.
*/
N_FORMATS,
}
/**
* Specifies the kind of crossing for enter and leave events.
*
* See the X11 protocol specification of LeaveNotify for
* full details of crossing event generation.
*/
enum NotifyType {
/**
* the surface is entered from an ancestor or
* left towards an ancestor.
*/
ANCESTOR,
/**
* the pointer moves between an ancestor and an
* inferior of the surface.
*/
VIRTUAL,
/**
* the surface is entered from an inferior or
* left towards an inferior.
*/
INFERIOR,
/**
* the surface is entered from or left towards
* a surface which is neither an ancestor nor an inferior.
*/
NONLINEAR,
/**
* the pointer moves between two surfaces
* which are not ancestors of each other and the surface is part of
* the ancestor chain between one of these surfaces and their least
* common ancestor.
*/
NONLINEAR_VIRTUAL,
/**
* an unknown type of enter/leave event occurred.
*/
UNKNOWN,
}
/**
* Specifies the direction for scroll events.
*/
enum ScrollDirection {
/**
* the surface is scrolled up.
*/
UP,
/**
* the surface is scrolled down.
*/
DOWN,
/**
* the surface is scrolled to the left.
*/
LEFT,
/**
* the surface is scrolled to the right.
*/
RIGHT,
/**
* the scrolling is determined by the delta values
* in scroll events. See gdk_scroll_event_get_deltas()
*/
SMOOTH,
}
/**
* Specifies the unit of scroll deltas.
*
* When you get %GDK_SCROLL_UNIT_WHEEL, a delta of 1.0 means 1 wheel detent
* click in the south direction, 2.0 means 2 wheel detent clicks in the south
* direction... This is the same logic for negative values but in the north
* direction.
*
* If you get %GDK_SCROLL_UNIT_SURFACE, are managing a scrollable view and get a
* value of 123, you have to scroll 123 surface logical pixels right if it's
* `delta_x` or down if it's `delta_y`. This is the same logic for negative values
* but you have to scroll left instead of right if it's `delta_x` and up instead
* of down if it's `delta_y`.
*
* 1 surface logical pixel is equal to 1 real screen pixel multiplied by the
* final scale factor of your graphical interface (the product of the desktop
* scale factor and eventually a custom scale factor in your app).
*/
enum ScrollUnit {
/**
* The delta is in number of wheel clicks.
*/
WHEEL,
/**
* The delta is in surface pixels to scroll directly
* on screen.
*/
SURFACE,
}
/**
* This enumeration describes how the red, green and blue components
* of physical pixels on an output device are laid out.
*/
enum SubpixelLayout {
/**
* The layout is not known
*/
UNKNOWN,
/**
* Not organized in this way
*/
NONE,
/**
* The layout is horizontal, the order is RGB
*/
HORIZONTAL_RGB,
/**
* The layout is horizontal, the order is BGR
*/
HORIZONTAL_BGR,
/**
* The layout is vertical, the order is RGB
*/
VERTICAL_RGB,
/**
* The layout is vertical, the order is BGR
*/
VERTICAL_BGR,
}
/**
* Determines a surface edge or corner.
*/
enum SurfaceEdge {
/**
* the top left corner.
*/
NORTH_WEST,
/**
* the top edge.
*/
NORTH,
/**
* the top right corner.
*/
NORTH_EAST,
/**
* the left edge.
*/
WEST,
/**
* the right edge.
*/
EAST,
/**
* the lower left corner.
*/
SOUTH_WEST,
/**
* the lower edge.
*/
SOUTH,
/**
* the lower right corner.
*/
SOUTH_EAST,
}
/**
* Possible errors that can be returned by `GdkTexture` constructors.
*/
enum TextureError {
/**
* Not enough memory to handle this image
*/
TOO_LARGE,
/**
* The image data appears corrupted
*/
CORRUPT_IMAGE,
/**
* The image contains features
* that cannot be loaded
*/
UNSUPPORTED_CONTENT,
/**
* The image format is not supported
*/
UNSUPPORTED_FORMAT,
}
enum TitlebarGesture {
DOUBLE_CLICK,
RIGHT_CLICK,
MIDDLE_CLICK,
}
/**
* Specifies the current state of a touchpad gesture.
*
* All gestures are guaranteed to begin with an event with phase
* %GDK_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by 0 or several events
* with phase %GDK_TOUCHPAD_GESTURE_PHASE_UPDATE.
*
* A finished gesture may have 2 possible outcomes, an event with phase
* %GDK_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is
* considered successful, this should be used as the hint to perform any
* permanent changes.
*
* Cancelled gestures may be so for a variety of reasons, due to hardware
* or the compositor, or due to the gesture recognition layers hinting the
* gesture did not finish resolutely (eg. a 3rd finger being added during
* a pinch gesture). In these cases, the last event will report the phase
* %GDK_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint
* to undo any visible/permanent changes that were done throughout the
* progress of the gesture.
*/
enum TouchpadGesturePhase {
/**
* The gesture has begun.
*/
BEGIN,
/**
* The gesture has been updated.
*/
UPDATE,
/**
* The gesture was finished, changes
* should be permanently applied.
*/
END,
/**
* The gesture was cancelled, all
* changes should be undone.
*/
CANCEL,
}
/**
* Error enumeration for `GdkVulkanContext`.
*/
enum VulkanError {
/**
* Vulkan is not supported on this backend or has not been
* compiled in.
*/
UNSUPPORTED,
/**
* Vulkan support is not available on this Surface
*/
NOT_AVAILABLE,
}
/**
* Positioning hints for aligning a surface relative to a rectangle.
*
* These hints determine how the surface should be positioned in the case that
* the surface would fall off-screen if placed in its ideal position.
*
* For example, %GDK_ANCHOR_FLIP_X will replace %GDK_GRAVITY_NORTH_WEST with
* %GDK_GRAVITY_NORTH_EAST and vice versa if the surface extends beyond the left
* or right edges of the monitor.
*
* If %GDK_ANCHOR_SLIDE_X is set, the surface can be shifted horizontally to fit
* on-screen. If %GDK_ANCHOR_RESIZE_X is set, the surface can be shrunken
* horizontally to fit.
*
* In general, when multiple flags are set, flipping should take precedence over
* sliding, which should take precedence over resizing.
* @bitfield
*/
enum AnchorHints {
/**
* allow flipping anchors horizontally
*/
FLIP_X,
/**
* allow flipping anchors vertically
*/
FLIP_Y,
/**
* allow sliding surface horizontally
*/
SLIDE_X,
/**
* allow sliding surface vertically
*/
SLIDE_Y,
/**
* allow resizing surface horizontally
*/
RESIZE_X,
/**
* allow resizing surface vertically
*/
RESIZE_Y,
/**
* allow flipping anchors on both axes
*/
FLIP,
/**
* allow sliding surface on both axes
*/
SLIDE,
/**
* allow resizing surface on both axes
*/
RESIZE,
}
/**
* Flags describing the current capabilities of a device/tool.
* @bitfield
*/
enum AxisFlags {
/**
* X axis is present
*/
X,
/**
* Y axis is present
*/
Y,
/**
* Scroll X delta axis is present
*/
DELTA_X,
/**
* Scroll Y delta axis is present
*/
DELTA_Y,
/**
* Pressure axis is present
*/
PRESSURE,
/**
* X tilt axis is present
*/
XTILT,
/**
* Y tilt axis is present
*/
YTILT,
/**
* Wheel axis is present
*/
WHEEL,
/**
* Distance axis is present
*/
DISTANCE,
/**
* Z-axis rotation is present
*/
ROTATION,
/**
* Slider axis is present
*/
SLIDER,
}
/**
* Used in `GdkDrop` and `GdkDrag` to indicate the actions that the
* destination can and should do with the dropped data.
* @bitfield
*/
enum DragAction {
/**
* Copy the data.
*/
COPY,
/**
* Move the data, i.e. first copy it, then delete
* it from the source using the DELETE target of the X selection protocol.
*/
MOVE,
/**
* Add a link to the data. Note that this is only
* useful if source and destination agree on what it means, and is not
* supported on all platforms.
*/
LINK,
/**
* Ask the user what to do with the data.
*/
ASK,
}
/**
* Used to represent the different paint clock phases that can be requested.
*
* The elements of the enumeration correspond to the signals of `GdkFrameClock`.
* @bitfield
*/
enum FrameClockPhase {
/**
* no phase
*/
NONE,
/**
* corresponds to GdkFrameClock::flush-events. Should not be handled by applications.
*/
FLUSH_EVENTS,
/**
* corresponds to GdkFrameClock::before-paint. Should not be handled by applications.
*/
BEFORE_PAINT,
/**
* corresponds to GdkFrameClock::update.
*/
UPDATE,
/**
* corresponds to GdkFrameClock::layout. Should not be handled by applications.
*/
LAYOUT,
/**
* corresponds to GdkFrameClock::paint.
*/
PAINT,
/**
* corresponds to GdkFrameClock::resume-events. Should not be handled by applications.
*/
RESUME_EVENTS,
/**
* corresponds to GdkFrameClock::after-paint. Should not be handled by applications.
*/
AFTER_PAINT,
}
/**
* The list of the different APIs that GdkGLContext can potentially support.
* @bitfield
*/
enum GLAPI {
/**
* The OpenGL API
*/
GL,
/**
* The OpenGL ES API
*/
GLES,
}
/**
* Flags to indicate the state of modifier keys and mouse buttons
* in events.
*
* Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose,
* Apple, CapsLock or ShiftLock.
*
* Note that GDK may add internal values to events which include values outside
* of this enumeration. Your code should preserve and ignore them. You can use
* %GDK_MODIFIER_MASK to remove all private values.
* @bitfield
*/
enum ModifierType {
/**
* the Shift key.
*/
SHIFT_MASK,
/**
* a Lock key (depending on the modifier mapping of the
* X server this may either be CapsLock or ShiftLock).
*/
LOCK_MASK,
/**
* the Control key.
*/
CONTROL_MASK,
/**
* the fourth modifier key (it depends on the modifier
* mapping of the X server which key is interpreted as this modifier, but
* normally it is the Alt key).
*/
ALT_MASK,
/**
* the first mouse button.
*/
BUTTON1_MASK,
/**
* the second mouse button.
*/
BUTTON2_MASK,
/**
* the third mouse button.
*/
BUTTON3_MASK,
/**
* the fourth mouse button.
*/
BUTTON4_MASK,
/**
* the fifth mouse button.
*/
BUTTON5_MASK,
/**
* the Super modifier
*/
SUPER_MASK,
/**
* the Hyper modifier
*/
HYPER_MASK,
/**
* the Meta modifier
*/
META_MASK,
}
/**
* Flags about a paintable object.
*
* Implementations use these for optimizations such as caching.
* @bitfield
*/
enum PaintableFlags {
/**
* The size is immutable.
* The [signal`GdkPaintable:`:invalidate-size] signal will never be
* emitted.
*/
SIZE,
/**
* The content is immutable.
* The [signal`GdkPaintable:`:invalidate-contents] signal will never be
* emitted.
*/
CONTENTS,
}
/**
* Flags describing the seat capabilities.
* @bitfield
*/
enum SeatCapabilities {
/**
* No input capabilities
*/
NONE,
/**
* The seat has a pointer (e.g. mouse)
*/
POINTER,
/**
* The seat has touchscreen(s) attached
*/
TOUCH,
/**
* The seat has drawing tablet(s) attached
*/
TABLET_STYLUS,
/**
* The seat has keyboard(s) attached
*/
KEYBOARD,
/**
* The seat has drawing tablet pad(s) attached
*/
TABLET_PAD,
/**
* The union of all pointing capabilities
*/
ALL_POINTING,
/**
* The union of all capabilities
*/
ALL,
}
/**
* Specifies the state of a toplevel surface.
*
* On platforms that support information about individual edges, the
* %GDK_TOPLEVEL_STATE_TILED state will be set whenever any of the individual
* tiled states is set. On platforms that lack that support, the tiled state
* will give an indication of tiledness without any of the per-edge states
* being set.
* @bitfield
*/
enum ToplevelState {
/**
* the surface is minimized
*/
MINIMIZED,
/**
* the surface is maximized
*/
MAXIMIZED,
/**
* the surface is sticky
*/
STICKY,
/**
* the surface is maximized without decorations
*/
FULLSCREEN,
/**
* the surface is kept above other surfaces
*/
ABOVE,
/**
* the surface is kept below other surfaces
*/
BELOW,
/**
* the surface is presented as focused (with active decorations)
*/
FOCUSED,
/**
* the surface is in a tiled state
*/
TILED,
/**
* whether the top edge is tiled
*/
TOP_TILED,
/**
* whether the top edge is resizable
*/
TOP_RESIZABLE,
/**
* whether the right edge is tiled
*/
RIGHT_TILED,
/**
* whether the right edge is resizable
*/
RIGHT_RESIZABLE,
/**
* whether the bottom edge is tiled
*/
BOTTOM_TILED,
/**
* whether the bottom edge is resizable
*/
BOTTOM_RESIZABLE,
/**
* whether the left edge is tiled
*/
LEFT_TILED,
/**
* whether the left edge is resizable
*/
LEFT_RESIZABLE,
}
/**
* Defines all possible DND actions.
*
* This can be used in [method`Gdk`.Drop.status] messages when any drop
* can be accepted or a more specific drop method is not yet known.
*/
const ACTION_ALL: number;
/**
* The middle button.
*/
const BUTTON_MIDDLE: number;
/**
* The primary button. This is typically the left mouse button, or the
* right button in a left-handed setup.
*/
const BUTTON_PRIMARY: number;
/**
* The secondary button. This is typically the right mouse button, or the
* left button in a left-handed setup.
*/
const BUTTON_SECONDARY: number;
/**
* Represents the current time, and can be used anywhere a time is expected.
*/
const CURRENT_TIME: number;
/**
* Use this macro as the return value for continuing the propagation of
* an event handler.
*/
const EVENT_PROPAGATE: boolean;
/**
* Use this macro as the return value for stopping the propagation of
* an event handler.
*/
const EVENT_STOP: boolean;
const KEY_0: number;
const KEY_1: number;
const KEY_2: number;
const KEY_3: number;
const KEY_3270_AltCursor: number;
const KEY_3270_Attn: number;
const KEY_3270_BackTab: number;
const KEY_3270_ChangeScreen: number;
const KEY_3270_Copy: number;
const KEY_3270_CursorBlink: number;
const KEY_3270_CursorSelect: number;
const KEY_3270_DeleteWord: number;
const KEY_3270_Duplicate: number;
const KEY_3270_Enter: number;
const KEY_3270_EraseEOF: number;
const KEY_3270_EraseInput: number;
const KEY_3270_ExSelect: number;
const KEY_3270_FieldMark: number;
const KEY_3270_Ident: number;
const KEY_3270_Jump: number;
const KEY_3270_KeyClick: number;
const KEY_3270_Left2: number;
const KEY_3270_PA1: number;
const KEY_3270_PA2: number;
const KEY_3270_PA3: number;
const KEY_3270_Play: number;
const KEY_3270_PrintScreen: number;
const KEY_3270_Quit: number;
const KEY_3270_Record: number;
const KEY_3270_Reset: number;
const KEY_3270_Right2: number;
const KEY_3270_Rule: number;
const KEY_3270_Setup: number;
const KEY_3270_Test: number;
const KEY_4: number;
const KEY_5: number;
const KEY_6: number;
const KEY_7: number;
const KEY_8: number;
const KEY_9: number;
const KEY_A: number;
const KEY_AE: number;
const KEY_Aacute: number;
const KEY_Abelowdot: number;
const KEY_Abreve: number;
const KEY_Abreveacute: number;
const KEY_Abrevebelowdot: number;
const KEY_Abrevegrave: number;
const KEY_Abrevehook: number;
const KEY_Abrevetilde: number;
const KEY_AccessX_Enable: number;
const KEY_AccessX_Feedback_Enable: number;
const KEY_Acircumflex: number;
const KEY_Acircumflexacute: number;
const KEY_Acircumflexbelowdot: number;
const KEY_Acircumflexgrave: number;
const KEY_Acircumflexhook: number;
const KEY_Acircumflextilde: number;
const KEY_AddFavorite: number;
const KEY_Adiaeresis: number;
const KEY_Agrave: number;
const KEY_Ahook: number;
const KEY_Alt_L: number;
const KEY_Alt_R: number;
const KEY_Amacron: number;
const KEY_Aogonek: number;
const KEY_ApplicationLeft: number;
const KEY_ApplicationRight: number;
const KEY_Arabic_0: number;
const KEY_Arabic_1: number;
const KEY_Arabic_2: number;
const KEY_Arabic_3: number;
const KEY_Arabic_4: number;
const KEY_Arabic_5: number;
const KEY_Arabic_6: number;
const KEY_Arabic_7: number;
const KEY_Arabic_8: number;
const KEY_Arabic_9: number;
const KEY_Arabic_ain: number;
const KEY_Arabic_alef: number;
const KEY_Arabic_alefmaksura: number;
const KEY_Arabic_beh: number;
const KEY_Arabic_comma: number;
const KEY_Arabic_dad: number;
const KEY_Arabic_dal: number;
const KEY_Arabic_damma: number;
const KEY_Arabic_dammatan: number;
const KEY_Arabic_ddal: number;
const KEY_Arabic_farsi_yeh: number;
const KEY_Arabic_fatha: number;
const KEY_Arabic_fathatan: number;
const KEY_Arabic_feh: number;
const KEY_Arabic_fullstop: number;
const KEY_Arabic_gaf: number;
const KEY_Arabic_ghain: number;
const KEY_Arabic_ha: number;
const KEY_Arabic_hah: number;
const KEY_Arabic_hamza: number;
const KEY_Arabic_hamza_above: number;
const KEY_Arabic_hamza_below: number;
const KEY_Arabic_hamzaonalef: number;
const KEY_Arabic_hamzaonwaw: number;
const KEY_Arabic_hamzaonyeh: number;
const KEY_Arabic_hamzaunderalef: number;
const KEY_Arabic_heh: number;
const KEY_Arabic_heh_doachashmee: number;
const KEY_Arabic_heh_goal: number;
const KEY_Arabic_jeem: number;
const KEY_Arabic_jeh: number;
const KEY_Arabic_kaf: number;
const KEY_Arabic_kasra: number;
const KEY_Arabic_kasratan: number;
const KEY_Arabic_keheh: number;
const KEY_Arabic_khah: number;
const KEY_Arabic_lam: number;
const KEY_Arabic_madda_above: number;
const KEY_Arabic_maddaonalef: number;
const KEY_Arabic_meem: number;
const KEY_Arabic_noon: number;
const KEY_Arabic_noon_ghunna: number;
const KEY_Arabic_peh: number;
const KEY_Arabic_percent: number;
const KEY_Arabic_qaf: number;
const KEY_Arabic_question_mark: number;
const KEY_Arabic_ra: number;
const KEY_Arabic_rreh: number;
const KEY_Arabic_sad: number;
const KEY_Arabic_seen: number;
const KEY_Arabic_semicolon: number;
const KEY_Arabic_shadda: number;
const KEY_Arabic_sheen: number;
const KEY_Arabic_sukun: number;
const KEY_Arabic_superscript_alef: number;
const KEY_Arabic_switch: number;
const KEY_Arabic_tah: number;
const KEY_Arabic_tatweel: number;
const KEY_Arabic_tcheh: number;
const KEY_Arabic_teh: number;
const KEY_Arabic_tehmarbuta: number;
const KEY_Arabic_thal: number;
const KEY_Arabic_theh: number;
const KEY_Arabic_tteh: number;
const KEY_Arabic_veh: number;
const KEY_Arabic_waw: number;
const KEY_Arabic_yeh: number;
const KEY_Arabic_yeh_baree: number;
const KEY_Arabic_zah: number;
const KEY_Arabic_zain: number;
const KEY_Aring: number;
const KEY_Armenian_AT: number;
const KEY_Armenian_AYB: number;
const KEY_Armenian_BEN: number;
const KEY_Armenian_CHA: number;
const KEY_Armenian_DA: number;
const KEY_Armenian_DZA: number;
const KEY_Armenian_E: number;
const KEY_Armenian_FE: number;
const KEY_Armenian_GHAT: number;
const KEY_Armenian_GIM: number;
const KEY_Armenian_HI: number;
const KEY_Armenian_HO: number;
const KEY_Armenian_INI: number;
const KEY_Armenian_JE: number;
const KEY_Armenian_KE: number;
const KEY_Armenian_KEN: number;
const KEY_Armenian_KHE: number;
const KEY_Armenian_LYUN: number;
const KEY_Armenian_MEN: number;
const KEY_Armenian_NU: number;
const KEY_Armenian_O: number;
const KEY_Armenian_PE: number;
const KEY_Armenian_PYUR: number;
const KEY_Armenian_RA: number;
const KEY_Armenian_RE: number;
const KEY_Armenian_SE: number;
const KEY_Armenian_SHA: number;
const KEY_Armenian_TCHE: number;
const KEY_Armenian_TO: number;
const KEY_Armenian_TSA: number;
const KEY_Armenian_TSO: number;
const KEY_Armenian_TYUN: number;
const KEY_Armenian_VEV: number;
const KEY_Armenian_VO: number;
const KEY_Armenian_VYUN: number;
const KEY_Armenian_YECH: number;
const KEY_Armenian_ZA: number;
const KEY_Armenian_ZHE: number;
const KEY_Armenian_accent: number;
const KEY_Armenian_amanak: number;
const KEY_Armenian_apostrophe: number;
const KEY_Armenian_at: number;
const KEY_Armenian_ayb: number;
const KEY_Armenian_ben: number;
const KEY_Armenian_but: number;
const KEY_Armenian_cha: number;
const KEY_Armenian_da: number;
const KEY_Armenian_dza: number;
const KEY_Armenian_e: number;
const KEY_Armenian_exclam: number;
const KEY_Armenian_fe: number;
const KEY_Armenian_full_stop: number;
const KEY_Armenian_ghat: number;
const KEY_Armenian_gim: number;
const KEY_Armenian_hi: number;
const KEY_Armenian_ho: number;
const KEY_Armenian_hyphen: number;
const KEY_Armenian_ini: number;
const KEY_Armenian_je: number;
const KEY_Armenian_ke: number;
const KEY_Armenian_ken: number;
const KEY_Armenian_khe: number;
const KEY_Armenian_ligature_ew: number;
const KEY_Armenian_lyun: number;
const KEY_Armenian_men: number;
const KEY_Armenian_nu: number;
const KEY_Armenian_o: number;
const KEY_Armenian_paruyk: number;
const KEY_Armenian_pe: number;
const KEY_Armenian_pyur: number;
const KEY_Armenian_question: number;
const KEY_Armenian_ra: number;
const KEY_Armenian_re: number;
const KEY_Armenian_se: number;
const KEY_Armenian_separation_mark: number;
const KEY_Armenian_sha: number;
const KEY_Armenian_shesht: number;
const KEY_Armenian_tche: number;
const KEY_Armenian_to: number;
const KEY_Armenian_tsa: number;
const KEY_Armenian_tso: number;
const KEY_Armenian_tyun: number;
const KEY_Armenian_verjaket: number;
const KEY_Armenian_vev: number;
const KEY_Armenian_vo: number;
const KEY_Armenian_vyun: number;
const KEY_Armenian_yech: number;
const KEY_Armenian_yentamna: number;
const KEY_Armenian_za: number;
const KEY_Armenian_zhe: number;
const KEY_Atilde: number;
const KEY_AudibleBell_Enable: number;
const KEY_AudioCycleTrack: number;
const KEY_AudioForward: number;
const KEY_AudioLowerVolume: number;
const KEY_AudioMedia: number;
const KEY_AudioMicMute: number;
const KEY_AudioMute: number;
const KEY_AudioNext: number;
const KEY_AudioPause: number;
const KEY_AudioPlay: number;
const KEY_AudioPreset: number;
const KEY_AudioPrev: number;
const KEY_AudioRaiseVolume: number;
const KEY_AudioRandomPlay: number;
const KEY_AudioRecord: number;
const KEY_AudioRepeat: number;
const KEY_AudioRewind: number;
const KEY_AudioStop: number;
const KEY_Away: number;
const KEY_B: number;
const KEY_Babovedot: number;
const KEY_Back: number;
const KEY_BackForward: number;
const KEY_BackSpace: number;
const KEY_Battery: number;
const KEY_Begin: number;
const KEY_Blue: number;
const KEY_Bluetooth: number;
const KEY_Book: number;
const KEY_BounceKeys_Enable: number;
const KEY_Break: number;
const KEY_BrightnessAdjust: number;
const KEY_Byelorussian_SHORTU: number;
const KEY_Byelorussian_shortu: number;
const KEY_C: number;
const KEY_CD: number;
const KEY_CH: number;
const KEY_C_H: number;
const KEY_C_h: number;
const KEY_Cabovedot: number;
const KEY_Cacute: number;
const KEY_Calculator: number;
const KEY_Calendar: number;
const KEY_Cancel: number;
const KEY_Caps_Lock: number;
const KEY_Ccaron: number;
const KEY_Ccedilla: number;
const KEY_Ccircumflex: number;
const KEY_Ch: number;
const KEY_Clear: number;
const KEY_ClearGrab: number;
const KEY_Close: number;
const KEY_Codeinput: number;
const KEY_ColonSign: number;
const KEY_Community: number;
const KEY_ContrastAdjust: number;
const KEY_Control_L: number;
const KEY_Control_R: number;
const KEY_Copy: number;
const KEY_CruzeiroSign: number;
const KEY_Cut: number;
const KEY_CycleAngle: number;
const KEY_Cyrillic_A: number;
const KEY_Cyrillic_BE: number;
const KEY_Cyrillic_CHE: number;
const KEY_Cyrillic_CHE_descender: number;
const KEY_Cyrillic_CHE_vertstroke: number;
const KEY_Cyrillic_DE: number;
const KEY_Cyrillic_DZHE: number;
const KEY_Cyrillic_E: number;
const KEY_Cyrillic_EF: number;
const KEY_Cyrillic_EL: number;
const KEY_Cyrillic_EM: number;
const KEY_Cyrillic_EN: number;
const KEY_Cyrillic_EN_descender: number;
const KEY_Cyrillic_ER: number;
const KEY_Cyrillic_ES: number;
const KEY_Cyrillic_GHE: number;
const KEY_Cyrillic_GHE_bar: number;
const KEY_Cyrillic_HA: number;
const KEY_Cyrillic_HARDSIGN: number;
const KEY_Cyrillic_HA_descender: number;
const KEY_Cyrillic_I: number;
const KEY_Cyrillic_IE: number;
const KEY_Cyrillic_IO: number;
const KEY_Cyrillic_I_macron: number;
const KEY_Cyrillic_JE: number;
const KEY_Cyrillic_KA: number;
const KEY_Cyrillic_KA_descender: number;
const KEY_Cyrillic_KA_vertstroke: number;
const KEY_Cyrillic_LJE: number;
const KEY_Cyrillic_NJE: number;
const KEY_Cyrillic_O: number;
const KEY_Cyrillic_O_bar: number;
const KEY_Cyrillic_PE: number;
const KEY_Cyrillic_SCHWA: number;
const KEY_Cyrillic_SHA: number;
const KEY_Cyrillic_SHCHA: number;
const KEY_Cyrillic_SHHA: number;
const KEY_Cyrillic_SHORTI: number;
const KEY_Cyrillic_SOFTSIGN: number;
const KEY_Cyrillic_TE: number;
const KEY_Cyrillic_TSE: number;
const KEY_Cyrillic_U: number;
const KEY_Cyrillic_U_macron: number;
const KEY_Cyrillic_U_straight: number;
const KEY_Cyrillic_U_straight_bar: number;
const KEY_Cyrillic_VE: number;
const KEY_Cyrillic_YA: number;
const KEY_Cyrillic_YERU: number;
const KEY_Cyrillic_YU: number;
const KEY_Cyrillic_ZE: number;
const KEY_Cyrillic_ZHE: number;
const KEY_Cyrillic_ZHE_descender: number;
const KEY_Cyrillic_a: number;
const KEY_Cyrillic_be: number;
const KEY_Cyrillic_che: number;
const KEY_Cyrillic_che_descender: number;
const KEY_Cyrillic_che_vertstroke: number;
const KEY_Cyrillic_de: number;
const KEY_Cyrillic_dzhe: number;
const KEY_Cyrillic_e: number;
const KEY_Cyrillic_ef: number;
const KEY_Cyrillic_el: number;
const KEY_Cyrillic_em: number;
const KEY_Cyrillic_en: number;
const KEY_Cyrillic_en_descender: number;
const KEY_Cyrillic_er: number;
const KEY_Cyrillic_es: number;
const KEY_Cyrillic_ghe: number;
const KEY_Cyrillic_ghe_bar: number;
const KEY_Cyrillic_ha: number;
const KEY_Cyrillic_ha_descender: number;
const KEY_Cyrillic_hardsign: number;
const KEY_Cyrillic_i: number;
const KEY_Cyrillic_i_macron: number;
const KEY_Cyrillic_ie: number;
const KEY_Cyrillic_io: number;
const KEY_Cyrillic_je: number;
const KEY_Cyrillic_ka: number;
const KEY_Cyrillic_ka_descender: number;
const KEY_Cyrillic_ka_vertstroke: number;
const KEY_Cyrillic_lje: number;
const KEY_Cyrillic_nje: number;
const KEY_Cyrillic_o: number;
const KEY_Cyrillic_o_bar: number;
const KEY_Cyrillic_pe: number;
const KEY_Cyrillic_schwa: number;
const KEY_Cyrillic_sha: number;
const KEY_Cyrillic_shcha: number;
const KEY_Cyrillic_shha: number;
const KEY_Cyrillic_shorti: number;
const KEY_Cyrillic_softsign: number;
const KEY_Cyrillic_te: number;
const KEY_Cyrillic_tse: number;
const KEY_Cyrillic_u: number;
const KEY_Cyrillic_u_macron: number;
const KEY_Cyrillic_u_straight: number;
const KEY_Cyrillic_u_straight_bar: number;
const KEY_Cyrillic_ve: number;
const KEY_Cyrillic_ya: number;
const KEY_Cyrillic_yeru: number;
const KEY_Cyrillic_yu: number;
const KEY_Cyrillic_ze: number;
const KEY_Cyrillic_zhe: number;
const KEY_Cyrillic_zhe_descender: number;
const KEY_D: number;
const KEY_DOS: number;
const KEY_Dabovedot: number;
const KEY_Dcaron: number;
const KEY_Delete: number;
const KEY_Display: number;
const KEY_Documents: number;
const KEY_DongSign: number;
const KEY_Down: number;
const KEY_Dstroke: number;
const KEY_E: number;
const KEY_ENG: number;
const KEY_ETH: number;
const KEY_EZH: number;
const KEY_Eabovedot: number;
const KEY_Eacute: number;
const KEY_Ebelowdot: number;
const KEY_Ecaron: number;
const KEY_Ecircumflex: number;
const KEY_Ecircumflexacute: number;
const KEY_Ecircumflexbelowdot: number;
const KEY_Ecircumflexgrave: number;
const KEY_Ecircumflexhook: number;
const KEY_Ecircumflextilde: number;
const KEY_EcuSign: number;
const KEY_Ediaeresis: number;
const KEY_Egrave: number;
const KEY_Ehook: number;
const KEY_Eisu_Shift: number;
const KEY_Eisu_toggle: number;
const KEY_Eject: number;
const KEY_Emacron: number;
const KEY_End: number;
const KEY_Eogonek: number;
const KEY_Escape: number;
const KEY_Eth: number;
const KEY_Etilde: number;
const KEY_EuroSign: number;
const KEY_Excel: number;
const KEY_Execute: number;
const KEY_Explorer: number;
const KEY_F: number;
const KEY_F1: number;
const KEY_F10: number;
const KEY_F11: number;
const KEY_F12: number;
const KEY_F13: number;
const KEY_F14: number;
const KEY_F15: number;
const KEY_F16: number;
const KEY_F17: number;
const KEY_F18: number;
const KEY_F19: number;
const KEY_F2: number;
const KEY_F20: number;
const KEY_F21: number;
const KEY_F22: number;
const KEY_F23: number;
const KEY_F24: number;
const KEY_F25: number;
const KEY_F26: number;
const KEY_F27: number;
const KEY_F28: number;
const KEY_F29: number;
const KEY_F3: number;
const KEY_F30: number;
const KEY_F31: number;
const KEY_F32: number;
const KEY_F33: number;
const KEY_F34: number;
const KEY_F35: number;
const KEY_F4: number;
const KEY_F5: number;
const KEY_F6: number;
const KEY_F7: number;
const KEY_F8: number;
const KEY_F9: number;
const KEY_FFrancSign: number;
const KEY_Fabovedot: number;
const KEY_Farsi_0: number;
const KEY_Farsi_1: number;
const KEY_Farsi_2: number;
const KEY_Farsi_3: number;
const KEY_Farsi_4: number;
const KEY_Farsi_5: number;
const KEY_Farsi_6: number;
const KEY_Farsi_7: number;
const KEY_Farsi_8: number;
const KEY_Farsi_9: number;
const KEY_Farsi_yeh: number;
const KEY_Favorites: number;
const KEY_Finance: number;
const KEY_Find: number;
const KEY_First_Virtual_Screen: number;
const KEY_Forward: number;
const KEY_FrameBack: number;
const KEY_FrameForward: number;
const KEY_G: number;
const KEY_Gabovedot: number;
const KEY_Game: number;
const KEY_Gbreve: number;
const KEY_Gcaron: number;
const KEY_Gcedilla: number;
const KEY_Gcircumflex: number;
const KEY_Georgian_an: number;
const KEY_Georgian_ban: number;
const KEY_Georgian_can: number;
const KEY_Georgian_char: number;
const KEY_Georgian_chin: number;
const KEY_Georgian_cil: number;
const KEY_Georgian_don: number;
const KEY_Georgian_en: number;
const KEY_Georgian_fi: number;
const KEY_Georgian_gan: number;
const KEY_Georgian_ghan: number;
const KEY_Georgian_hae: number;
const KEY_Georgian_har: number;
const KEY_Georgian_he: number;
const KEY_Georgian_hie: number;
const KEY_Georgian_hoe: number;
const KEY_Georgian_in: number;
const KEY_Georgian_jhan: number;
const KEY_Georgian_jil: number;
const KEY_Georgian_kan: number;
const KEY_Georgian_khar: number;
const KEY_Georgian_las: number;
const KEY_Georgian_man: number;
const KEY_Georgian_nar: number;
const KEY_Georgian_on: number;
const KEY_Georgian_par: number;
const KEY_Georgian_phar: number;
const KEY_Georgian_qar: number;
const KEY_Georgian_rae: number;
const KEY_Georgian_san: number;
const KEY_Georgian_shin: number;
const KEY_Georgian_tan: number;
const KEY_Georgian_tar: number;
const KEY_Georgian_un: number;
const KEY_Georgian_vin: number;
const KEY_Georgian_we: number;
const KEY_Georgian_xan: number;
const KEY_Georgian_zen: number;
const KEY_Georgian_zhar: number;
const KEY_Go: number;
const KEY_Greek_ALPHA: number;
const KEY_Greek_ALPHAaccent: number;
const KEY_Greek_BETA: number;
const KEY_Greek_CHI: number;
const KEY_Greek_DELTA: number;
const KEY_Greek_EPSILON: number;
const KEY_Greek_EPSILONaccent: number;
const KEY_Greek_ETA: number;
const KEY_Greek_ETAaccent: number;
const KEY_Greek_GAMMA: number;
const KEY_Greek_IOTA: number;
const KEY_Greek_IOTAaccent: number;
const KEY_Greek_IOTAdiaeresis: number;
const KEY_Greek_IOTAdieresis: number;
const KEY_Greek_KAPPA: number;
const KEY_Greek_LAMBDA: number;
const KEY_Greek_LAMDA: number;
const KEY_Greek_MU: number;
const KEY_Greek_NU: number;
const KEY_Greek_OMEGA: number;
const KEY_Greek_OMEGAaccent: number;
const KEY_Greek_OMICRON: number;
const KEY_Greek_OMICRONaccent: number;
const KEY_Greek_PHI: number;
const KEY_Greek_PI: number;
const KEY_Greek_PSI: number;
const KEY_Greek_RHO: number;
const KEY_Greek_SIGMA: number;
const KEY_Greek_TAU: number;
const KEY_Greek_THETA: number;
const KEY_Greek_UPSILON: number;
const KEY_Greek_UPSILONaccent: number;
const KEY_Greek_UPSILONdieresis: number;
const KEY_Greek_XI: number;
const KEY_Greek_ZETA: number;
const KEY_Greek_accentdieresis: number;
const KEY_Greek_alpha: number;
const KEY_Greek_alphaaccent: number;
const KEY_Greek_beta: number;
const KEY_Greek_chi: number;
const KEY_Greek_delta: number;
const KEY_Greek_epsilon: number;
const KEY_Greek_epsilonaccent: number;
const KEY_Greek_eta: number;
const KEY_Greek_etaaccent: number;
const KEY_Greek_finalsmallsigma: number;
const KEY_Greek_gamma: number;
const KEY_Greek_horizbar: number;
const KEY_Greek_iota: number;
const KEY_Greek_iotaaccent: number;
const KEY_Greek_iotaaccentdieresis: number;
const KEY_Greek_iotadieresis: number;
const KEY_Greek_kappa: number;
const KEY_Greek_lambda: number;
const KEY_Greek_lamda: number;
const KEY_Greek_mu: number;
const KEY_Greek_nu: number;
const KEY_Greek_omega: number;
const KEY_Greek_omegaaccent: number;
const KEY_Greek_omicron: number;
const KEY_Greek_omicronaccent: number;
const KEY_Greek_phi: number;
const KEY_Greek_pi: number;
const KEY_Greek_psi: number;
const KEY_Greek_rho: number;
const KEY_Greek_sigma: number;
const KEY_Greek_switch: number;
const KEY_Greek_tau: number;
const KEY_Greek_theta: number;
const KEY_Greek_upsilon: number;
const KEY_Greek_upsilonaccent: number;
const KEY_Greek_upsilonaccentdieresis: number;
const KEY_Greek_upsilondieresis: number;
const KEY_Greek_xi: number;
const KEY_Greek_zeta: number;
const KEY_Green: number;
const KEY_H: number;
const KEY_Hangul: number;
const KEY_Hangul_A: number;
const KEY_Hangul_AE: number;
const KEY_Hangul_AraeA: number;
const KEY_Hangul_AraeAE: number;
const KEY_Hangul_Banja: number;
const KEY_Hangul_Cieuc: number;
const KEY_Hangul_Codeinput: number;
const KEY_Hangul_Dikeud: number;
const KEY_Hangul_E: number;
const KEY_Hangul_EO: number;
const KEY_Hangul_EU: number;
const KEY_Hangul_End: number;
const KEY_Hangul_Hanja: number;
const KEY_Hangul_Hieuh: number;
const KEY_Hangul_I: number;
const KEY_Hangul_Ieung: number;
const KEY_Hangul_J_Cieuc: number;
const KEY_Hangul_J_Dikeud: number;
const KEY_Hangul_J_Hieuh: number;
const KEY_Hangul_J_Ieung: number;
const KEY_Hangul_