# Module GdkEvent.Button

    module Button: sig .. end

    type types = [ `BUTTON_PRESS | `BUTTON_RELEASE | `THREE_BUTTON_PRESS | `TWO_BUTTON_PRESS ]

    type t = types Gdk.event

    val cast : any -> t

    val time : [< GdkEvent.timed ] Gdk.event -> int32

    val x : t -> float

    val y : t -> float

    val axes : t -> (float * float) option

    val state : t -> int

    val button : t -> int

    val device : t -> Gdk.device

    val x_root : t -> float

    val y_root : t -> float

    val set_type : t -> [< types ] -> unit

    val set_button : t -> int -> unit