{-# INCLUDE "HsXlib.h" #-}
{-# LINE 1 "Graphics/X11/Types.hsc" #-}
-----------------------------------------------------------------------------
{-# LINE 2 "Graphics/X11/Types.hsc" #-}
-- |
-- Module      :  Graphics.X11.Types
-- Copyright   :  (c) Alastair Reid, 1999-2003
-- License     :  BSD-style (see the file libraries/base/LICENSE)
--
-- Maintainer  :  libraries@haskell.org
-- Stability   :  provisional
-- Portability :  portable
--
-- A collection of type declarations for interfacing with X11.
--
-----------------------------------------------------------------------------

module Graphics.X11.Types
	(

	XID,
	Mask,
	Atom,
	VisualID,
	Time,
	Window,
	Drawable,
	Font,
	Pixmap,
	Cursor,
	Colormap,
	GContext,
	KeyCode,

	-- * Enumeration types
	-- | These types were introduced to make function types clearer.
	-- Note that the types are synonyms for 'Int', so no extra
	-- typesafety was obtained.

	-- ** Key symbols
	KeySym,

	xK_VoidSymbol,
	xK_BackSpace,
	xK_Tab,
	xK_Linefeed,
	xK_Clear,
	xK_Return,
	xK_Pause,
	xK_Scroll_Lock,
	xK_Sys_Req,
	xK_Escape,
	xK_Delete,
	xK_Multi_key,
	xK_Home,
	xK_Left,
	xK_Up,
	xK_Right,
	xK_Down,
	xK_Prior,
	xK_Page_Up,
	xK_Next,
	xK_Page_Down,
	xK_End,
	xK_Begin,
	xK_Select,
	xK_Print,
	xK_Execute,
	xK_Insert,
	xK_Undo,
	xK_Redo,
	xK_Menu,
	xK_Find,
	xK_Cancel,
	xK_Help,
	xK_Break,
	xK_Mode_switch,
	xK_script_switch,
	xK_Num_Lock,
	xK_KP_Space,
	xK_KP_Tab,
	xK_KP_Enter,
	xK_KP_F1,
	xK_KP_F2,
	xK_KP_F3,
	xK_KP_F4,
	xK_KP_Home,
	xK_KP_Left,
	xK_KP_Up,
	xK_KP_Right,
	xK_KP_Down,
	xK_KP_Prior,
	xK_KP_Page_Up,
	xK_KP_Next,
	xK_KP_Page_Down,
	xK_KP_End,
	xK_KP_Begin,
	xK_KP_Insert,
	xK_KP_Delete,
	xK_KP_Equal,
	xK_KP_Multiply,
	xK_KP_Add,
	xK_KP_Separator,
	xK_KP_Subtract,
	xK_KP_Decimal,
	xK_KP_Divide,
	xK_KP_0,
	xK_KP_1,
	xK_KP_2,
	xK_KP_3,
	xK_KP_4,
	xK_KP_5,
	xK_KP_6,
	xK_KP_7,
	xK_KP_8,
	xK_KP_9,
	xK_F1,
	xK_F2,
	xK_F3,
	xK_F4,
	xK_F5,
	xK_F6,
	xK_F7,
	xK_F8,
	xK_F9,
	xK_F10,
	xK_F11,
	xK_L1,
	xK_F12,
	xK_L2,
	xK_F13,
	xK_L3,
	xK_F14,
	xK_L4,
	xK_F15,
	xK_L5,
	xK_F16,
	xK_L6,
	xK_F17,
	xK_L7,
	xK_F18,
	xK_L8,
	xK_F19,
	xK_L9,
	xK_F20,
	xK_L10,
	xK_F21,
	xK_R1,
	xK_F22,
	xK_R2,
	xK_F23,
	xK_R3,
	xK_F24,
	xK_R4,
	xK_F25,
	xK_R5,
	xK_F26,
	xK_R6,
	xK_F27,
	xK_R7,
	xK_F28,
	xK_R8,
	xK_F29,
	xK_R9,
	xK_F30,
	xK_R10,
	xK_F31,
	xK_R11,
	xK_F32,
	xK_R12,
	xK_F33,
	xK_R13,
	xK_F34,
	xK_R14,
	xK_F35,
	xK_R15,
	xK_Shift_L,
	xK_Shift_R,
	xK_Control_L,
	xK_Control_R,
	xK_Caps_Lock,
	xK_Shift_Lock,
	xK_Meta_L,
	xK_Meta_R,
	xK_Alt_L,
	xK_Alt_R,
	xK_Super_L,
	xK_Super_R,
	xK_Hyper_L,
	xK_Hyper_R,
	xK_space,
	xK_exclam,
	xK_quotedbl,
	xK_numbersign,
	xK_dollar,
	xK_percent,
	xK_ampersand,
	xK_apostrophe,
	xK_quoteright,
	xK_parenleft,
	xK_parenright,
	xK_asterisk,
	xK_plus,
	xK_comma,
	xK_minus,
	xK_period,
	xK_slash,
	xK_0,
	xK_1,
	xK_2,
	xK_3,
	xK_4,
	xK_5,
	xK_6,
	xK_7,
	xK_8,
	xK_9,
	xK_colon,
	xK_semicolon,
	xK_less,
	xK_equal,
	xK_greater,
	xK_question,
	xK_at,
	xK_A,
	xK_B,
	xK_C,
	xK_D,
	xK_E,
	xK_F,
	xK_G,
	xK_H,
	xK_I,
	xK_J,
	xK_K,
	xK_L,
	xK_M,
	xK_N,
	xK_O,
	xK_P,
	xK_Q,
	xK_R,
	xK_S,
	xK_T,
	xK_U,
	xK_V,
	xK_W,
	xK_X,
	xK_Y,
	xK_Z,
	xK_bracketleft,
	xK_backslash,
	xK_bracketright,
	xK_asciicircum,
	xK_underscore,
	xK_grave,
	xK_quoteleft,
	xK_a,
	xK_b,
	xK_c,
	xK_d,
	xK_e,
	xK_f,
	xK_g,
	xK_h,
	xK_i,
	xK_j,
	xK_k,
	xK_l,
	xK_m,
	xK_n,
	xK_o,
	xK_p,
	xK_q,
	xK_r,
	xK_s,
	xK_t,
	xK_u,
	xK_v,
	xK_w,
	xK_x,
	xK_y,
	xK_z,
	xK_braceleft,
	xK_bar,
	xK_braceright,
	xK_asciitilde,
	xK_nobreakspace,
	xK_exclamdown,
	xK_cent,
	xK_sterling,
	xK_currency,
	xK_yen,
	xK_brokenbar,
	xK_section,
	xK_diaeresis,
	xK_copyright,
	xK_ordfeminine,
	xK_guillemotleft,
	xK_notsign,
	xK_hyphen,
	xK_registered,
	xK_macron,
	xK_degree,
	xK_plusminus,
	xK_twosuperior,
	xK_threesuperior,
	xK_acute,
	xK_mu,
	xK_paragraph,
	xK_periodcentered,
	xK_cedilla,
	xK_onesuperior,
	xK_masculine,
	xK_guillemotright,
	xK_onequarter,
	xK_onehalf,
	xK_threequarters,
	xK_questiondown,
	xK_Agrave,
	xK_Aacute,
	xK_Acircumflex,
	xK_Atilde,
	xK_Adiaeresis,
	xK_Aring,
	xK_AE,
	xK_Ccedilla,
	xK_Egrave,
	xK_Eacute,
	xK_Ecircumflex,
	xK_Ediaeresis,
	xK_Igrave,
	xK_Iacute,
	xK_Icircumflex,
	xK_Idiaeresis,
	xK_ETH,
	xK_Eth,
	xK_Ntilde,
	xK_Ograve,
	xK_Oacute,
	xK_Ocircumflex,
	xK_Otilde,
	xK_Odiaeresis,
	xK_multiply,
	xK_Ooblique,
	xK_Ugrave,
	xK_Uacute,
	xK_Ucircumflex,
	xK_Udiaeresis,
	xK_Yacute,
	xK_THORN,
	xK_Thorn,
	xK_ssharp,
	xK_agrave,
	xK_aacute,
	xK_acircumflex,
	xK_atilde,
	xK_adiaeresis,
	xK_aring,
	xK_ae,
	xK_ccedilla,
	xK_egrave,
	xK_eacute,
	xK_ecircumflex,
	xK_ediaeresis,
	xK_igrave,
	xK_iacute,
	xK_icircumflex,
	xK_idiaeresis,
	xK_eth,
	xK_ntilde,
	xK_ograve,
	xK_oacute,
	xK_ocircumflex,
	xK_otilde,
	xK_odiaeresis,
	xK_division,
	xK_oslash,
	xK_ugrave,
	xK_uacute,
	xK_ucircumflex,
	xK_udiaeresis,
	xK_yacute,
	xK_thorn,
	xK_ydiaeresis,

	-- ** Event masks
	EventMask,
	noEventMask,
	keyPressMask,
	keyReleaseMask,
	buttonPressMask,
	buttonReleaseMask,
	enterWindowMask,
	leaveWindowMask,
	pointerMotionMask,
	pointerMotionHintMask,
	button1MotionMask,
	button2MotionMask,
	button3MotionMask,
	button4MotionMask,
	button5MotionMask,
	buttonMotionMask,
	keymapStateMask,
	exposureMask,
	visibilityChangeMask,
	structureNotifyMask,
	resizeRedirectMask,
	substructureNotifyMask,
	substructureRedirectMask,
	focusChangeMask,
	propertyChangeMask,
	colormapChangeMask,
	ownerGrabButtonMask,

	-- ** Event types
	EventType,
	keyPress,
	keyRelease,
	buttonPress,
	buttonRelease,
	motionNotify,
	enterNotify,
	leaveNotify,
	focusIn,
	focusOut,
	keymapNotify,
	expose,
	graphicsExpose,
	noExpose,
	visibilityNotify,
	createNotify,
	destroyNotify,
	unmapNotify,
	mapNotify,
	mapRequest,
	reparentNotify,
	configureNotify,
	configureRequest,
	gravityNotify,
	resizeRequest,
	circulateNotify,
	circulateRequest,
	propertyNotify,
	selectionClear,
	selectionRequest,
	selectionNotify,
	colormapNotify,
	clientMessage,
	mappingNotify,
	lASTEvent,

	-- ** Modifiers
	Modifier,
	shiftMapIndex,
	lockMapIndex,
	controlMapIndex,
	mod1MapIndex,
	mod2MapIndex,
	mod3MapIndex,
	mod4MapIndex,
	mod5MapIndex,
	anyModifier,

	-- ** Key masks
	KeyMask,
	shiftMask,
	lockMask,
	controlMask,
	mod1Mask,
	mod2Mask,
	mod3Mask,
	mod4Mask,
	mod5Mask,

	-- ** Button masks
	ButtonMask,
	button1Mask,
	button2Mask,
	button3Mask,
	button4Mask,
	button5Mask,

	-- ** Buttons
	Button,
	button1,
	button2,
	button3,
	button4,
	button5,

	-- ** Notify modes
	NotifyMode,
	notifyNormal,
	notifyGrab,
	notifyUngrab,
	notifyWhileGrabbed,
	notifyHint,

	-- ** Notify details
	NotifyDetail,
	notifyAncestor,
	notifyVirtual,
	notifyInferior,
	notifyNonlinear,
	notifyNonlinearVirtual,
	notifyPointer,
	notifyPointerRoot,
	notifyDetailNone,

	-- ** Visibility
	Visibility,
	visibilityUnobscured,
	visibilityPartiallyObscured,
	visibilityFullyObscured,

	-- ** Place of window
	Place,
	placeOnTop,
	placeOnBottom,

	-- ** Protocols
	Protocol,
	familyInternet,
	familyDECnet,
	familyChaos,

	-- ** Property notification
	PropertyNotification,
	propertyNewValue,
	propertyDelete,

	-- ** Colormap notification
	ColormapNotification,
	colormapUninstalled,
	colormapInstalled,

	-- ** Grab modes
	GrabMode,
	grabModeSync,
	grabModeAsync,

	-- ** Grab status
	GrabStatus,
	grabSuccess,
	alreadyGrabbed,
	grabInvalidTime,
	grabNotViewable,
	grabFrozen,

	-- ** Allow events
	AllowEvents,
	asyncPointer,
	syncPointer,
	replayPointer,
	asyncKeyboard,
	syncKeyboard,
	replayKeyboard,
	asyncBoth,
	syncBoth,

	-- ** Focus modes
	FocusMode,
	revertToNone,
	revertToPointerRoot,
	revertToParent,

	-- ** Error codes
	ErrorCode,
	success,
	badRequest,
	badValue,
	badWindow,
	badPixmap,
	badAtom,
	badCursor,
	badFont,
	badMatch,
	badDrawable,
	badAccess,
	badAlloc,
	badColor,
	badGC,
	badIDChoice,
	badName,
	badLength,
	badImplementation,
	firstExtensionError,
	lastExtensionError,

	-- ** Return status
	Status,
	throwIfZero,

	-- ** WindowClass
	WindowClass,
	copyFromParent,
	inputOutput,
	inputOnly,

	-- ** Attribute masks
	AttributeMask,
	cWBackPixmap,
	cWBackPixel,
	cWBorderPixmap,
	cWBorderPixel,
	cWBitGravity,
	cWWinGravity,
	cWBackingStore,
	cWBackingPlanes,
	cWBackingPixel,
	cWOverrideRedirect,
	cWSaveUnder,
	cWEventMask,
	cWDontPropagate,
	cWColormap,
	cWCursor,

	-- ** Close down modes
	CloseDownMode,
	destroyAll,
	retainPermanent,
	retainTemporary,

	-- ** QueryBestSize classes
	QueryBestSizeClass,
	cursorShape,
	tileShape,
	stippleShape,

	-- ** Graphics functions
	GXFunction,
	gXclear,
	gXand,
	gXandReverse,
	gXcopy,
	gXandInverted,
	gXnoop,
	gXxor,
	gXor,
	gXnor,
	gXequiv,
	gXinvert,
	gXorReverse,
	gXcopyInverted,
	gXorInverted,
	gXnand,
	gXset,

	-- ** Line styles
	LineStyle,
	lineSolid,
	lineOnOffDash,
	lineDoubleDash,

	-- ** Cap styles
	CapStyle,
	capNotLast,
	capButt,
	capRound,
	capProjecting,

	-- ** Join styles
	JoinStyle,
	joinMiter,
	joinRound,
	joinBevel,

	-- ** Fill styles
	FillStyle,
	fillSolid,
	fillTiled,
	fillStippled,
	fillOpaqueStippled,

	-- ** Fill rules
	FillRule,
	evenOddRule,
	windingRule,

	-- ** Subwindow modes
	SubWindowMode,
	clipByChildren,
	includeInferiors,

	-- ** Coordinate modes
	CoordinateMode,
	coordModeOrigin,
	coordModePrevious,

	-- ** Polygon shapes
	PolygonShape,
	complex,
	nonconvex,
	convex,

	-- ** Arc modes
	ArcMode,
	arcChord,
	arcPieSlice,

	-- ** GC masks
	GCMask,
	gCFunction,
	gCPlaneMask,
	gCForeground,
	gCBackground,
	gCLineWidth,
	gCLineStyle,
	gCCapStyle,
	gCJoinStyle,
	gCFillStyle,
	gCFillRule,
	gCTile,
	gCStipple,
	gCTileStipXOrigin,
	gCTileStipYOrigin,
	gCFont,
	gCSubwindowMode,
	gCGraphicsExposures,
	gCClipXOrigin,
	gCClipYOrigin,
	gCClipMask,
	gCDashOffset,
	gCDashList,
	gCArcMode,
	gCLastBit,

	-- ** Circulation direction
	CirculationDirection,
	raiseLowest,
	lowerHighest,

	-- ** Byte order
	ByteOrder,
	lSBFirst,
	mSBFirst,

	-- ** ColormapAlloc
	ColormapAlloc,
	allocNone,
	allocAll,

	-- ** Mapping requests
	MappingRequest,
	mappingModifier,
	mappingKeyboard,
	mappingPointer,

	-- ** ChangeSaveSetMode
	ChangeSaveSetMode,
	setModeInsert,
	setModeDelete,

	-- ** Bit gravity
	BitGravity,
	forgetGravity,
	northWestGravity,
	northGravity,
	northEastGravity,
	westGravity,
	centerGravity,
	eastGravity,
	southWestGravity,
	southGravity,
	southEastGravity,
	staticGravity,

	-- ** Window gravity
	WindowGravity,
	unmapGravity,

	-- ** Backing store
	BackingStore,
	notUseful,
	whenMapped,
	always,
	doRed,
	doGreen,
	doBlue,

	-- ** Font direction
	FontDirection,
	fontLeftToRight,
	fontRightToLeft,

	-- ** Image format
        ImageFormat,
	xyBitmap,
	xyPixmap,
	zPixmap
	) where

import Data.Int
import Data.Word
import Foreign.Marshal.Error
import Foreign.C.Types


{-# LINE 797 "Graphics/X11/Types.hsc" #-}

-- ToDo: use newtype
type XID      = Word32
{-# LINE 800 "Graphics/X11/Types.hsc" #-}
type Mask     = Word32
{-# LINE 801 "Graphics/X11/Types.hsc" #-}
type Atom     = Word32
{-# LINE 802 "Graphics/X11/Types.hsc" #-}
type VisualID = Word32
{-# LINE 803 "Graphics/X11/Types.hsc" #-}
type Time     = Word32
{-# LINE 804 "Graphics/X11/Types.hsc" #-}

-- end platform dependency

type Window   = XID
type Drawable = XID
type Font     = XID
type Pixmap   = XID
type Cursor   = XID
type Colormap = XID
type GContext = XID

type KeyCode  = Char

type KeySym   = XID

xK_VoidSymbol	 :: KeySym
xK_VoidSymbol	 =  16777215

{-# LINE 822 "Graphics/X11/Types.hsc" #-}

-- TTY Functions, cleverly chosen to map to ascii, for convenience of
-- programming, but could have been arbitrary (at the cost of lookup
-- tables in client code.

xK_BackSpace		 :: KeySym
xK_BackSpace		 =  65288
xK_Tab		 :: KeySym
xK_Tab		 =  65289
xK_Linefeed		 :: KeySym
xK_Linefeed		 =  65290
xK_Clear		 :: KeySym
xK_Clear		 =  65291
xK_Return		 :: KeySym
xK_Return		 =  65293
xK_Pause		 :: KeySym
xK_Pause		 =  65299
xK_Scroll_Lock	 :: KeySym
xK_Scroll_Lock	 =  65300
xK_Sys_Req		 :: KeySym
xK_Sys_Req		 =  65301
xK_Escape		 :: KeySym
xK_Escape		 =  65307
xK_Delete		 :: KeySym
xK_Delete		 =  65535

{-# LINE 839 "Graphics/X11/Types.hsc" #-}

-- International & multi-key character composition
xK_Multi_key		 :: KeySym
xK_Multi_key		 =  65312

{-# LINE 844 "Graphics/X11/Types.hsc" #-}
-- xK_Codeinput		= XK_Codeinput		-- Not defined for SunOS.
-- xK_SingleCandidate	= XK_SingleCandidate	-- Not defined for SunOS.
-- xK_MultipleCandidate	= XK_MultipleCandidate	-- Not defined for SunOS.
-- xK_PreviousCandidate	= XK_PreviousCandidate	-- Not defined for SunOS.

-- Cursor control & motion
xK_Home		 :: KeySym
xK_Home		 =  65360
xK_Left		 :: KeySym
xK_Left		 =  65361
xK_Up		 :: KeySym
xK_Up		 =  65362
xK_Right		 :: KeySym
xK_Right		 =  65363
xK_Down		 :: KeySym
xK_Down		 =  65364
xK_Prior		 :: KeySym
xK_Prior		 =  65365
xK_Page_Up		 :: KeySym
xK_Page_Up		 =  65365
xK_Next		 :: KeySym
xK_Next		 =  65366
xK_Page_Down		 :: KeySym
xK_Page_Down		 =  65366
xK_End		 :: KeySym
xK_End		 =  65367
xK_Begin		 :: KeySym
xK_Begin		 =  65368
xK_Select		 :: KeySym
xK_Select		 =  65376
xK_Print		 :: KeySym
xK_Print		 =  65377
xK_Execute		 :: KeySym
xK_Execute		 =  65378
xK_Insert		 :: KeySym
xK_Insert		 =  65379
xK_Undo		 :: KeySym
xK_Undo		 =  65381
xK_Redo		 :: KeySym
xK_Redo		 =  65382
xK_Menu		 :: KeySym
xK_Menu		 =  65383
xK_Find		 :: KeySym
xK_Find		 =  65384
xK_Cancel		 :: KeySym
xK_Cancel		 =  65385
xK_Help		 :: KeySym
xK_Help		 =  65386
xK_Break		 :: KeySym
xK_Break		 =  65387
xK_Mode_switch	 :: KeySym
xK_Mode_switch	 =  65406
xK_script_switch	 :: KeySym
xK_script_switch	 =  65406
xK_Num_Lock		 :: KeySym
xK_Num_Lock		 =  65407

{-# LINE 878 "Graphics/X11/Types.hsc" #-}

-- Keypad Functions, keypad numbers cleverly chosen to map to ascii
xK_KP_Space		 :: KeySym
xK_KP_Space		 =  65408
xK_KP_Tab		 :: KeySym
xK_KP_Tab		 =  65417
xK_KP_Enter		 :: KeySym
xK_KP_Enter		 =  65421
xK_KP_F1		 :: KeySym
xK_KP_F1		 =  65425
xK_KP_F2		 :: KeySym
xK_KP_F2		 =  65426
xK_KP_F3		 :: KeySym
xK_KP_F3		 =  65427
xK_KP_F4		 :: KeySym
xK_KP_F4		 =  65428
xK_KP_Home		 :: KeySym
xK_KP_Home		 =  65429
xK_KP_Left		 :: KeySym
xK_KP_Left		 =  65430
xK_KP_Up		 :: KeySym
xK_KP_Up		 =  65431
xK_KP_Right		 :: KeySym
xK_KP_Right		 =  65432
xK_KP_Down		 :: KeySym
xK_KP_Down		 =  65433
xK_KP_Prior		 :: KeySym
xK_KP_Prior		 =  65434
xK_KP_Page_Up	 :: KeySym
xK_KP_Page_Up	 =  65434
xK_KP_Next		 :: KeySym
xK_KP_Next		 =  65435
xK_KP_Page_Down	 :: KeySym
xK_KP_Page_Down	 =  65435
xK_KP_End		 :: KeySym
xK_KP_End		 =  65436
xK_KP_Begin		 :: KeySym
xK_KP_Begin		 =  65437
xK_KP_Insert		 :: KeySym
xK_KP_Insert		 =  65438
xK_KP_Delete		 :: KeySym
xK_KP_Delete		 =  65439
xK_KP_Equal		 :: KeySym
xK_KP_Equal		 =  65469
xK_KP_Multiply	 :: KeySym
xK_KP_Multiply	 =  65450
xK_KP_Add		 :: KeySym
xK_KP_Add		 =  65451
xK_KP_Separator	 :: KeySym
xK_KP_Separator	 =  65452
xK_KP_Subtract	 :: KeySym
xK_KP_Subtract	 =  65453
xK_KP_Decimal	 :: KeySym
xK_KP_Decimal	 =  65454
xK_KP_Divide		 :: KeySym
xK_KP_Divide		 =  65455
xK_KP_0		 :: KeySym
xK_KP_0		 =  65456
xK_KP_1		 :: KeySym
xK_KP_1		 =  65457
xK_KP_2		 :: KeySym
xK_KP_2		 =  65458
xK_KP_3		 :: KeySym
xK_KP_3		 =  65459
xK_KP_4		 :: KeySym
xK_KP_4		 =  65460
xK_KP_5		 :: KeySym
xK_KP_5		 =  65461
xK_KP_6		 :: KeySym
xK_KP_6		 =  65462
xK_KP_7		 :: KeySym
xK_KP_7		 =  65463
xK_KP_8		 :: KeySym
xK_KP_8		 =  65464
xK_KP_9		 :: KeySym
xK_KP_9		 =  65465
xK_F1		 :: KeySym
xK_F1		 =  65470
xK_F2		 :: KeySym
xK_F2		 =  65471
xK_F3		 :: KeySym
xK_F3		 =  65472
xK_F4		 :: KeySym
xK_F4		 =  65473
xK_F5		 :: KeySym
xK_F5		 =  65474
xK_F6		 :: KeySym
xK_F6		 =  65475
xK_F7		 :: KeySym
xK_F7		 =  65476
xK_F8		 :: KeySym
xK_F8		 =  65477
xK_F9		 :: KeySym
xK_F9		 =  65478
xK_F10		 :: KeySym
xK_F10		 =  65479
xK_F11		 :: KeySym
xK_F11		 =  65480
xK_L1		 :: KeySym
xK_L1		 =  65480
xK_F12		 :: KeySym
xK_F12		 =  65481
xK_L2		 :: KeySym
xK_L2		 =  65481
xK_F13		 :: KeySym
xK_F13		 =  65482
xK_L3		 :: KeySym
xK_L3		 =  65482
xK_F14		 :: KeySym
xK_F14		 =  65483
xK_L4		 :: KeySym
xK_L4		 =  65483
xK_F15		 :: KeySym
xK_F15		 =  65484
xK_L5		 :: KeySym
xK_L5		 =  65484
xK_F16		 :: KeySym
xK_F16		 =  65485
xK_L6		 :: KeySym
xK_L6		 =  65485
xK_F17		 :: KeySym
xK_F17		 =  65486
xK_L7		 :: KeySym
xK_L7		 =  65486
xK_F18		 :: KeySym
xK_F18		 =  65487
xK_L8		 :: KeySym
xK_L8		 =  65487
xK_F19		 :: KeySym
xK_F19		 =  65488
xK_L9		 :: KeySym
xK_L9		 =  65488
xK_F20		 :: KeySym
xK_F20		 =  65489
xK_L10		 :: KeySym
xK_L10		 =  65489
xK_F21		 :: KeySym
xK_F21		 =  65490
xK_R1		 :: KeySym
xK_R1		 =  65490
xK_F22		 :: KeySym
xK_F22		 =  65491
xK_R2		 :: KeySym
xK_R2		 =  65491
xK_F23		 :: KeySym
xK_F23		 =  65492
xK_R3		 :: KeySym
xK_R3		 =  65492
xK_F24		 :: KeySym
xK_F24		 =  65493
xK_R4		 :: KeySym
xK_R4		 =  65493
xK_F25		 :: KeySym
xK_F25		 =  65494
xK_R5		 :: KeySym
xK_R5		 =  65494
xK_F26		 :: KeySym
xK_F26		 =  65495
xK_R6		 :: KeySym
xK_R6		 =  65495
xK_F27		 :: KeySym
xK_F27		 =  65496
xK_R7		 :: KeySym
xK_R7		 =  65496
xK_F28		 :: KeySym
xK_F28		 =  65497
xK_R8		 :: KeySym
xK_R8		 =  65497
xK_F29		 :: KeySym
xK_F29		 =  65498
xK_R9		 :: KeySym
xK_R9		 =  65498
xK_F30		 :: KeySym
xK_F30		 =  65499
xK_R10		 :: KeySym
xK_R10		 =  65499
xK_F31		 :: KeySym
xK_F31		 =  65500
xK_R11		 :: KeySym
xK_R11		 =  65500
xK_F32		 :: KeySym
xK_F32		 =  65501
xK_R12		 :: KeySym
xK_R12		 =  65501
xK_F33		 :: KeySym
xK_F33		 =  65502
xK_R13		 :: KeySym
xK_R13		 =  65502
xK_F34		 :: KeySym
xK_F34		 =  65503
xK_R14		 :: KeySym
xK_R14		 =  65503
xK_F35		 :: KeySym
xK_F35		 =  65504
xK_R15		 :: KeySym
xK_R15		 =  65504

{-# LINE 981 "Graphics/X11/Types.hsc" #-}

xK_Shift_L		 :: KeySym
xK_Shift_L		 =  65505
xK_Shift_R		 :: KeySym
xK_Shift_R		 =  65506
xK_Control_L		 :: KeySym
xK_Control_L		 =  65507
xK_Control_R		 :: KeySym
xK_Control_R		 =  65508
xK_Caps_Lock		 :: KeySym
xK_Caps_Lock		 =  65509
xK_Shift_Lock	 :: KeySym
xK_Shift_Lock	 =  65510
xK_Meta_L		 :: KeySym
xK_Meta_L		 =  65511
xK_Meta_R		 :: KeySym
xK_Meta_R		 =  65512
xK_Alt_L		 :: KeySym
xK_Alt_L		 =  65513
xK_Alt_R		 :: KeySym
xK_Alt_R		 =  65514
xK_Super_L		 :: KeySym
xK_Super_L		 =  65515
xK_Super_R		 :: KeySym
xK_Super_R		 =  65516
xK_Hyper_L		 :: KeySym
xK_Hyper_L		 =  65517
xK_Hyper_R		 :: KeySym
xK_Hyper_R		 =  65518

{-# LINE 999 "Graphics/X11/Types.hsc" #-}

xK_space		 :: KeySym
xK_space		 =  32
xK_exclam		 :: KeySym
xK_exclam		 =  33
xK_quotedbl		 :: KeySym
xK_quotedbl		 =  34
xK_numbersign	 :: KeySym
xK_numbersign	 =  35
xK_dollar		 :: KeySym
xK_dollar		 =  36
xK_percent		 :: KeySym
xK_percent		 =  37
xK_ampersand		 :: KeySym
xK_ampersand		 =  38
xK_apostrophe	 :: KeySym
xK_apostrophe	 =  39
xK_quoteright	 :: KeySym
xK_quoteright	 =  39
xK_parenleft		 :: KeySym
xK_parenleft		 =  40
xK_parenright	 :: KeySym
xK_parenright	 =  41
xK_asterisk		 :: KeySym
xK_asterisk		 =  42
xK_plus		 :: KeySym
xK_plus		 =  43
xK_comma		 :: KeySym
xK_comma		 =  44
xK_minus		 :: KeySym
xK_minus		 =  45
xK_period		 :: KeySym
xK_period		 =  46
xK_slash		 :: KeySym
xK_slash		 =  47
xK_0			 :: KeySym
xK_0			 =  48
xK_1			 :: KeySym
xK_1			 =  49
xK_2			 :: KeySym
xK_2			 =  50
xK_3			 :: KeySym
xK_3			 =  51
xK_4			 :: KeySym
xK_4			 =  52
xK_5			 :: KeySym
xK_5			 =  53
xK_6			 :: KeySym
xK_6			 =  54
xK_7			 :: KeySym
xK_7			 =  55
xK_8			 :: KeySym
xK_8			 =  56
xK_9			 :: KeySym
xK_9			 =  57
xK_colon		 :: KeySym
xK_colon		 =  58
xK_semicolon		 :: KeySym
xK_semicolon		 =  59
xK_less		 :: KeySym
xK_less		 =  60
xK_equal		 :: KeySym
xK_equal		 =  61
xK_greater		 :: KeySym
xK_greater		 =  62
xK_question		 :: KeySym
xK_question		 =  63
xK_at		 :: KeySym
xK_at		 =  64
xK_A			 :: KeySym
xK_A			 =  65
xK_B			 :: KeySym
xK_B			 =  66
xK_C			 :: KeySym
xK_C			 =  67
xK_D			 :: KeySym
xK_D			 =  68
xK_E			 :: KeySym
xK_E			 =  69
xK_F			 :: KeySym
xK_F			 =  70
xK_G			 :: KeySym
xK_G			 =  71
xK_H			 :: KeySym
xK_H			 =  72
xK_I			 :: KeySym
xK_I			 =  73
xK_J			 :: KeySym
xK_J			 =  74
xK_K			 :: KeySym
xK_K			 =  75
xK_L			 :: KeySym
xK_L			 =  76
xK_M			 :: KeySym
xK_M			 =  77
xK_N			 :: KeySym
xK_N			 =  78
xK_O			 :: KeySym
xK_O			 =  79
xK_P			 ::