data Modifiers = Shift | Lock | Control | Mod1 | Mod2 | Mod3 | Mod4 | Mod5 | Button1 | Button2 | Button3 | Button4 | Button5 | Mod13 | Mod14 | Any instance Bounded Modifiers instance Enum Modifiers instance Eq Modifiers instance Ord Modifiers instance Read Modifiers instance Show Modifiers type ModState = [Modifiers] data EventMask = 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 instance Bounded EventMask instance Enum EventMask instance Eq EventMask instance Ord EventMask instance Read EventMask instance Show EventMask data Button = AnyButton | Button Int instance Eq Button instance Ord Button instance Read Button instance Show Button data GrabPointerResult = GrabSuccess | AlreadyGrabbed | GrabInvalidTime | GrabNotViewable | GrabFrozen instance Bounded GrabPointerResult instance Enum GrabPointerResult instance Eq GrabPointerResult instance Ord GrabPointerResult instance Read GrabPointerResult instance Show GrabPointerResult