2019-02-14 08:37:02 -08:00
|
|
|
interface @beta Efl.Input.Interface
|
2016-05-30 04:53:07 -07:00
|
|
|
{
|
|
|
|
[[An object implementing this interface can send pointer events.
|
|
|
|
|
|
|
|
Windows and canvas objects may send input events.
|
2016-08-18 22:22:15 -07:00
|
|
|
|
|
|
|
A "pointer" refers to the main pointing device, which could be a mouse,
|
|
|
|
trackpad, finger, pen, etc... In other words, the finger id in any
|
|
|
|
pointer event will always be 0.
|
|
|
|
|
|
|
|
A "finger" refers to a single point of input, usually in an absolute
|
|
|
|
coordinates input device, and that can support more than one input
|
|
|
|
position at at time (think multi-touch screens). The first finger (id 0)
|
|
|
|
is sent along with a pointer event, so be careful to not handle those
|
|
|
|
events twice. Note that if the input device can support "hovering", it
|
|
|
|
is entirely possible to receive move events without down coming first.
|
|
|
|
|
|
|
|
A "key" is a key press from a keyboard or equivalent type of input device.
|
|
|
|
Long, repeated, key presses will always happen like this:
|
|
|
|
down...up,down...up,down...up (not down...up or down...down...down...up).
|
2016-05-30 04:53:07 -07:00
|
|
|
]]
|
2016-08-30 22:24:14 -07:00
|
|
|
eo_prefix: efl_input;
|
2016-05-30 04:53:07 -07:00
|
|
|
event_prefix: efl;
|
2016-08-30 22:24:14 -07:00
|
|
|
methods {
|
2019-03-11 08:00:03 -07:00
|
|
|
@property seat_event_filter @beta {
|
2016-12-06 06:42:30 -08:00
|
|
|
set {
|
|
|
|
[[Add or remove a given seat to the filter list. If the filter list is empty this object
|
|
|
|
will report mouse, keyboard and focus events from any seat, otherwise those events will
|
|
|
|
only be reported if the event comes from a seat that is in the list.]]
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
[[Check if input events from a given seat is enabled.]]
|
|
|
|
}
|
|
|
|
keys {
|
|
|
|
seat: Efl.Input.Device; [[The seat to act on.]]
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
enable: bool; [[$true to enable events for a seat or $false otherwise.]]
|
|
|
|
}
|
|
|
|
}
|
2016-08-30 22:24:14 -07:00
|
|
|
}
|
2016-05-30 04:53:07 -07:00
|
|
|
events {
|
2016-08-25 03:20:10 -07:00
|
|
|
pointer,move: Efl.Input.Pointer; [[Main pointer move (current and previous positions are known).]]
|
|
|
|
pointer,down: Efl.Input.Pointer; [[Main pointer button pressed (button id is known).]]
|
|
|
|
pointer,up: Efl.Input.Pointer; [[Main pointer button released (button id is known).]]
|
|
|
|
pointer,cancel: Efl.Input.Pointer; [[Main pointer button press was cancelled (button id is known).
|
2016-08-18 22:22:15 -07:00
|
|
|
This can happen in rare cases when the window manager passes
|
|
|
|
the focus to a more urgent window, for instance. You probably
|
|
|
|
don't need to listen to this event, as it will be accompanied
|
|
|
|
by an up event.]]
|
2016-08-25 03:20:10 -07:00
|
|
|
pointer,in: Efl.Input.Pointer; [[Pointer entered a window or a widget.]]
|
|
|
|
pointer,out: Efl.Input.Pointer; [[Pointer left a window or a widget.]]
|
|
|
|
pointer,wheel: Efl.Input.Pointer; [[Mouse wheel event.]]
|
|
|
|
pointer,axis: Efl.Input.Pointer; [[Pen or other axis event update.]]
|
|
|
|
finger,move: Efl.Input.Pointer; [[Finger moved (current and previous positions are known).]]
|
|
|
|
finger,down: Efl.Input.Pointer; [[Finger pressed (finger id is known).]]
|
|
|
|
finger,up: Efl.Input.Pointer; [[Finger released (finger id is known).]]
|
|
|
|
key,down: Efl.Input.Key; [[Keyboard key press.]]
|
|
|
|
key,up: Efl.Input.Key; [[Keyboard key release.]]
|
2016-11-15 02:39:53 -08:00
|
|
|
hold: Efl.Input.Hold; [[All input events are on hold or resumed.]]
|
2016-11-17 11:29:58 -08:00
|
|
|
focus,in: Efl.Input.Focus; [[A focus in event.]]
|
|
|
|
focus,out: Efl.Input.Focus; [[A focus out event.]]
|
2016-05-30 04:53:07 -07:00
|
|
|
}
|
|
|
|
}
|