Module Incr_dom_keyboard.Keyboard_event_handler

module Condition : sig ... end
module Handler : sig ... end
module Command : sig ... end
module Action : sig ... end
type t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val empty : t
val of_action_list_exn : Action.t list -> t

of_action_list_exn and of_command_list_exn create a keyboard event handler from a list of actions. If the same key appears in multiple actions, an exception is raised.

val of_command_list_exn : Command.t list -> t
val add_action_exn : t -> Action.t -> t

add_action_exn adds a new action to a keyboard event handler. If any key from the new action already exists in the handler, an exception is raised.

val add_command_exn : t -> Command.t -> t

Like add_action_exn, but restricted to command actions

val add_disabled_key_exn : t -> Keystroke.t -> t

Like add_action_exn, but restricted to disabled key actions

val set_action : t -> Action.t -> t

Like add_action_exn, but overrides old actions in the case of a conflict.

val set_command : t -> Command.t -> t

Like set_action, but restricted to command actions

val set_disabled_key : t -> Keystroke.t -> t

Like set_action, but restricted to disabled key actions

val merge : on_dup:[ `Override_with_right | `Both | `Throw ] -> t -> t -> t

merge t1 t2 ~on_dup creates new keyboard event handlers containing the actions from t1 and t2. on_dup dictates how to deal with keys that have actions in both t1 and t2:

  • `Override_with_right uses the action from t2.
  • `Both uses both actions, and combines them into a single line if used with get_help_text. Note that if the actions belong to different groups in the help text, it will use the first group.
  • `Throw raises.
val handle_event : t -> Keyboard_event.t -> Virtual_dom.Vdom.Event.t option
val get_help_text : ?⁠include_disabled_keys:unit -> t -> Help_text.t
val get_grouped_help_text : ?⁠include_disabled_keys:unit -> ?⁠custom_group_order:Grouped_help_text.Group_name.t list -> t -> default_group:Grouped_help_text.Group_name.t -> Grouped_help_text.t
val get_grouped_help_text_exn : ?⁠include_disabled_keys:unit -> ?⁠custom_group_order:Grouped_help_text.Group_name.t list -> t -> Grouped_help_text.t