sig
  external create : unit -> Gtk.accel_group = "ml_gtk_accel_group_new"
  external lock : Gtk.accel_group -> unit = "ml_gtk_accel_group_lock"
  external unlock : Gtk.accel_group -> unit = "ml_gtk_accel_group_unlock"
  val connect :
    key:Gdk.keysym ->
    ?modi:Gdk.Tags.modifier list ->
    ?flags:Gtk.Tags.accel_flag list ->
    callback:(unit -> unit) -> Gtk.accel_group -> unit
  val disconnect :
    key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> Gtk.accel_group -> bool
  val groups_activate :
    key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> 'Gtk.obj -> bool
  external valid : key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool
    = "ml_gtk_accelerator_valid"
  external set_default_mod_mask : Gdk.Tags.modifier list option -> unit
    = "ml_gtk_accelerator_set_default_mod_mask"
  external parse : string -> Gdk.keysym * Gdk.Tags.modifier list
    = "ml_gtk_accelerator_parse"
  external name : key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> string
    = "ml_gtk_accelerator_name"
  external get_label :
    key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> string
    = "ml_gtk_accelerator_get_label"
end