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"
  external connect_ :
    Gtk.accel_group ->
    key:Gdk.keysym ->
    ?modi:Gdk.Tags.modifier list ->
    ?flags:Gtk.Tags.accel_flag list -> callback:Gobject.g_closure -> unit
    = "ml_gtk_accel_group_connect"
  val connect :
    key:Gdk.keysym ->
    ?modi:Gdk.Tags.modifier list ->
    ?flags:Gtk.Tags.accel_flag list ->
    callback:(unit -> unit) -> Gtk.accel_group -> unit
  external disconnect :
    Gtk.accel_group -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool
    = "ml_gtk_accel_group_disconnect_key"
  external groups_activate :
    'Gtk.obj -> key:Gdk.keysym -> ?modi:Gdk.Tags.modifier list -> bool
    = "ml_gtk_accel_groups_activate"
  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"
end