UNPKG

@react-gnome/gjs-esm-types

Version:

TypeScript module declarations for GJS ESM modules.

1,914 lines (1,883 loc) 422 kB
/* * 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_