sig
  type modifier = Gdk.Tags.modifier
  val set_default_modifiers : Okey.modifier list -> unit
  val set_default_mask : Okey.modifier list -> unit
  val add :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_id : int; .. > ->
    ?cond:(unit -> bool) ->
    ?mods:Okey.modifier list ->
    ?mask:Okey.modifier list -> Gdk.keysym -> (unit -> unit) -> unit
  val add_list :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_id : int; .. > ->
    ?cond:(unit -> bool) ->
    ?mods:Okey.modifier list ->
    ?mask:Okey.modifier list -> Gdk.keysym list -> (unit -> unit) -> unit
  val set :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_id : int; .. > ->
    ?cond:(unit -> bool) ->
    ?mods:Okey.modifier list ->
    ?mask:Okey.modifier list -> Gdk.keysym -> (unit -> unit) -> unit
  val set_list :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_id : int; .. > ->
    ?cond:(unit -> bool) ->
    ?mods:Okey.modifier list ->
    ?mask:Okey.modifier list -> Gdk.keysym list -> (unit -> unit) -> unit
  val remove_widget :
    < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
      event : GObj.event_ops; get_id : int; .. > ->
    unit -> unit
end