Commit Graph

32 Commits

Author SHA1 Message Date
Rafael Antognolli b92fc57c5a ecore/wayland: Remove list of touch points from input structure.
We already have the "Ecore_Wl_Mouse_Down_Info" list, that contains this
information.
2013-11-29 18:05:06 -02:00
Chris Michael 445f2eb206 Fix keyrepeat going crazy ;)
Previously, if you were hold down shift for 1-2 seconds and then press
a key, you would get superfluous key repeats (even tho you released
the printable key). This was because the "key repeat" code was not
checking for the same key before (re)starting the repeat timer.

This fixes the repeating key issue by checking if the key pressed is
different than the one already pressed. If so, it will (re)start the
timer. If it is not different, then the timer is already running and
we don't need to do anything.

Fixes T552

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:47:52 +00:00
Chris Michael 55c0dbb3c8 Fix ecore wayland key events to fill in Ecore_Event_Key with X11-like
values.

Previously, the keyname and key fields of the Ecore_Event_Key
structure were being filled in with the capitalized version of the
key. This is due to xkb_keysym_get_name always returning keys with the
modifier applied. There is no actual function in xkbcommon to Not do
this :/ so we have to manually check if Shift is pressed, and if so
then we need to convert the key to lowercase.

Fixes T550

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:38:00 +00:00
Chris Michael 0a32212a79 Add support for storing mulitple touch points.
Send events to properly focused surface.
Fill in missing parts of the event structures (ev->root, ev->multi).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael d96339e9bb Don't send pointer_enter events on touch_down.
Fix touch_down and touch_up to send proper button ID (ecore_x sends 0).

Fixes Phab Ticket T468

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 12:58:54 +00:00
Chris Michael 9240c2e91c Add support for additional keyboard modifiers. Fix handling of Shift
key for capitals.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Rafael Antognolli b5e6855266 ecore/wayland: Use eina_inlist instead of wl_list for inputs too. 2013-11-04 14:24:59 -02:00
Rafael Antognolli e56428f4ad ecore/wayland: Make Ecore_Wl_Input private.
It's mostly only used inside ecore_wayland library anyway.

The only bit needed outside of the library is the "seat" pointer, but a
new function was added to retrieve such pointer from Ecore_Wl_Input.
2013-10-31 21:35:13 -02:00
Chris Michael d1d0090706 Don't send mouse_up or mouse_down events unless we have a focused
surface

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-29 08:05:32 +00:00
Chris Michael 0c88d8e8ce Revert "Reduce additional call to eina_stringshare_replace."
This reverts commit f4f44c777a.
2013-09-13 07:01:06 +01:00
Chris Michael 0d0944c4cc Reduce unnecessary pointer frame callbacks
NB: We only need to do pointer frame callbacks if the pointer is using
an animated image.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:34 +01:00
Chris Michael f4f44c777a Reduce additional call to eina_stringshare_replace.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-12 15:02:34 +01:00
Chris Michael 164299e689 Rework keyboard repeat to use an ecore_timer (not a timerfd).
NB: This fixes keyboard repeat in terminology (under wayland) to be
sane again :)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 15:59:40 +01:00
Chris Michael 3cc3d0878a Convert upper-case characters to lower-case characters on keydown
events.

NB: xkbcommon automatically converts the pressed key to Upper if Shift
is pressed. this is a problem as ecore key down events expect them to
be lower-case (not converted yet).

NB: Fixes Phab Ticket T232.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-07 10:45:11 +01:00
Chris Michael f0289a1936 Check for valid input->pointer before calling wl_pointer_set_cursor.
During a pointer_enter event, if the window was assigned a custom
cursor, respect it. By default we will still set left_arrow initially,
but if the window was assigned a custom cursor, use it.

NB: Fixes Phab T230

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Chris Michael 4d05ee2d3d Check for valid xkb state before trying to update modifiers from it.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-07-17 16:53:04 +01:00
Chris Michael 3b8d6bf89a Add missing initializer for wl_seat_listener.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-26 12:39:14 +01:00
Chris Michael 2942696111 Don't crash when window is null (for mouse_down comparison)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:22:19 +01:00
Rafael Antognolli 79496745cf ecore/wayland: Translate CTRL + keys on Wayland.
The "compose" component of the ecore input events must be translated to
the correct value when CTRL keys are pressed. This implementation was
copy & pasted from the xcb backend.
2013-06-12 18:50:31 -03:00
Chris Michael 92a649e35b Modify ecore_wl_input keypress code to handle modifiers Not on every
keypress, but rather Only on they actual modifier event.

Add some printf debugging for Non-Printables like Ctrl, etc

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael b7ac7bdfd9 Add ecore_wl_input_get function
Remove global dnd object (not necessary)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 8c9353e3ec Use ecore_wl_window_surface_find to get the Ecore_Wl_Window.
NB: This is needed because some compositors like Weston are expecting
the wl_surface user_data to be a buffer, not some arbitrary data.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:49:40 +01:00
Rafael Antognolli 2a20ca4477 ecore_evas/wayland: Do not send additional mouse_in's.
If this Ecore_Evas already has a mouse inside it, there's no need to
send an additional mouse in event.

Additionally, always send a mouse_move event before a mouse_down, so the
Evas pointer position can be updated properly before the mouse down.
2013-05-08 16:56:12 -03:00
Rafael Antognolli d4b7389f3a ecore/wayland: Store the multi position per device/finger.
This will make every touch point have its position updated on
multi_move, and then it can be used to send a correct multi_up event.
2013-05-08 16:50:15 -03:00
Rafael Antognolli c18e76eb2c ecore/wayland: Report correctly the device which emitted the mouse event. 2013-05-08 16:50:15 -03:00
Rafael Antognolli de4173ee0a ecore/wayland: Add support for engine animated cursor. 2013-04-23 18:52:35 -03:00
Igor Murzov 1373f0ba4a Fix incorrect printf format usage 2013-04-16 12:07:36 +04:00
Chris Michael 6380cf1bf1 Fix formatting.
Declare variables in the proper place.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-11 06:33:30 +01:00
Rafael Antognolli 2d62ea88e5 ecore/wayland: Add support for double and triple click.
It's implemented exactly the same way as on the X11 backend. It does
handle multiple devices, though may need some adjustments when
multi-touch is added, since there's no support for multi-touch on
EFL-wayland yet.
2013-04-10 14:53:14 -03:00
Rafael Antognolli a158958267 ecore/wayland: Always send the mouse button event.
Don't send only the mouse button stored inside input->button, since more
than one button may be pressed and unset the input->button when
unpressed.

SVN revision: 83647
2013-02-05 18:21:33 +00:00
Gustavo Sverzut Barbieri 05212a3d0e efl/ecore_wayland: move docs to header.
SVN revision: 81832
2012-12-28 19:36:01 +00:00
Vincent Torri 7d6010b12c merge: add escape ecore, fix several bugs
SVN revision: 79995
2012-12-02 22:35:45 +00:00