module Okey:sig
..end
Okey interface. Convenient functions to handle key press events in Lablgtk2 widgets.
Once the lib is compiled and installed, you can use it by referencing
it with the Okey
module. You must add okey.cmo
or okey.cmx
on the commande line when you link.
typemodifier =
Gdk.Tags.modifier
val set_default_modifiers : modifier list -> unit
Set the default modifier list. The first default value is []
.
val set_default_mask : modifier list -> unit
Set the default modifier mask. The first default value is
[`MOD2 ; `MOD3 ; `MOD4 ; `MOD5 ; `LOCK]
.
The mask defines the modifiers not taken into account
when looking for the handler of a key press event.
val add : < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
event : GObj.event_ops; get_oid : int; .. > ->
?cond:(unit -> bool) ->
?mods:modifier list ->
?mask:modifier list -> Gdk.keysym -> (unit -> unit) -> unit
add widget key callback
associates the callback
function to the event
"key_press" with the given key
for the given widget
.
cond
: this function is a guard: the callback
function is not called
if the cond
function returns false
.
The default cond
function always returns true
.mods
: the list of modifiers. If not given, the default modifiers
are used.
You can set the default modifiers with function Okey.set_default_modifiers
.mask
: the list of modifiers which must not be taken
into account to trigger the given handler. mods
and mask
must not have common modifiers. If not given, the default mask
is used.
You can set the default modifiers mask with function Okey.set_default_mask
.val add_list : < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
event : GObj.event_ops; get_oid : int; .. > ->
?cond:(unit -> bool) ->
?mods:modifier list ->
?mask:modifier list -> Gdk.keysym list -> (unit -> unit) -> unit
It calls Okey.add
for each given key.
val set : < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
event : GObj.event_ops; get_oid : int; .. > ->
?cond:(unit -> bool) ->
?mods:modifier list ->
?mask:modifier list -> Gdk.keysym -> (unit -> unit) -> unit
Like Okey.add
but the previous handlers for the
given modifiers and key are not kept.
val set_list : < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
event : GObj.event_ops; get_oid : int; .. > ->
?cond:(unit -> bool) ->
?mods:modifier list ->
?mask:modifier list -> Gdk.keysym list -> (unit -> unit) -> unit
It calls Okey.set
for each given key.
val remove_widget : < connect : < destroy : callback:(unit -> unit) -> GtkSignal.id; .. >;
event : GObj.event_ops; get_oid : int; .. > ->
unit -> unit
Remove the handlers associated to the given widget. This is automatically done when a widget is destroyed but you can do it yourself.
type
handler
type
keyhit_spec
typekeyhit_state =
(modifier list * Gdk.keysym) list
val ignored_keys : Gdk.keysym list Stdlib.ref
The keys which are ignored when they are pressed alone.
type
handler_tree_node =
| |
Handler of |
| |
Node of |
type
handler_tree = {
|
mutable hst_spec : |
|
mutable hst_v : |
val set_handler_trees : ?stop:modifier list * Gdk.keysym ->
(unit -> handler_tree list) ->
?f_display_state:(after_handler:bool -> keyhit_state -> unit) ->
< event : GObj.event_ops; misc : GObj.misc_ops; .. > -> unit
val handler : ?cond:(unit -> bool) -> (unit -> unit) -> handler
val keyhit_spec : ?mods:modifier list ->
?mask:modifier list -> Gdk.keysym -> keyhit_spec
val handler_tree : ?mods:modifier list ->
?mask:modifier list ->
Gdk.keysym -> handler_tree_node -> handler_tree
val reset_state : < misc : GObj.misc_ops; .. > -> unit
val trees_of_list : (keyhit_state * (unit -> unit)) list -> handler_tree list