~~Title: Efl.Canvas.Object.key_grab~~
====== Efl.Canvas.Object.key_grab ======
===== Description =====
%%Requests %%''keyname''%% key events be directed to %%''obj''%%.%%
%%Key grabs allow one or more objects to receive key events for specific key strokes even if other objects have focus. Whenever a key is grabbed, only the objects grabbing it will get the events for the given keys.%%
%%%%''keyname''%% is a platform dependent symbolic name for the key pressed.%%
%%%%''modifiers''%% and %%''not_modifiers''%% are bit masks of all the modifiers that must and mustn't, respectively, be pressed along with %%''keyname''%% key in order to trigger this new key grab. Modifiers can be things such as Shift and Ctrl as well as user defined types via @ref evas_key_modifier_add. %%''exclusive''%% will make the given object the only one permitted to grab the given key. If given %%''true''%%, subsequent calls on this function with different %%''obj''%% arguments will fail, unless the key is ungrabbed again.%%
%%Providing impossible modifier sets creates undefined behavior.%%
//Since 1.22//
{{page>:develop:api-include:efl:canvas:object:method:key_grab:description&nouser&nolink&nodate}}
===== Signature =====
key_grab {
params {
@in keyname: string;
@in modifiers: Efl.Input.Modifier;
@in not_modifiers: Efl.Input.Modifier;
@in exclusive: bool;
}
return: bool @no_unused;
}
===== C signature =====
Eina_Bool efl_canvas_object_key_grab(Eo *obj, const char *keyname, Efl_Input_Modifier modifiers, Efl_Input_Modifier not_modifiers, Eina_Bool exclusive);
===== Parameters =====
* **keyname** //(in)// - %%The key to request events for.%%
* **modifiers** //(in)// - %%A combination of modifier keys that must be present to trigger the event.%%
* **not_modifiers** //(in)// - %%A combination of modifier keys that must not be present to trigger the event.%%
* **exclusive** //(in)// - %%Request that the %%''obj''%% is the only object receiving the %%''keyname''%% events.%%
===== Implemented by =====
* [[:develop:api:efl:canvas:object:method:key_grab|Efl.Canvas.Object.key_grab]]