Age | Commit message (Collapse) | Author |
|
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
|
|
Also call the mouse related events with BTN_LEFT instead of 0, otherwise
the correct button won't be assigned to the event (button 1).
|
|
The previous workaround used to send a mouse up event to the
application, using the pointer enter callback to determine when an
implicit grab has finished. This was "simulating" a mouse up event when
the surface move or resize finished.
However, this doesn't work for touch-based move. The pointer enter isn't
emitted, because the wl_touch interface doesn't have the concept of a
pointer.
Changing this code to make it more similar to what Weston's toytoolkit
does, the mouse up event is sent as soon as the move or resize grab
starts. After that, the compositor takes care of the move/resize almost
entirely.
Should fix T468.
|
|
down_info is a struct that stores some information about the current
pressed touch events. It should be used for that specific touch point,
instead of the generic input info, when sending a mouse_up event.
|
|
We already have the "Ecore_Wl_Mouse_Down_Info" list, that contains this
information.
|
|
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>
|
|
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>
|
|
The subsurface protocol was moved into Wayland Core
around v1.3.90 (i.e. v1.4.0).
Test if subsurface protocol is part of wayland-client.h.
If not, we include our own copy of the protocol header.
Also, some whitespace cleanup in ecore_wl.c.
Tested with Wayland 1.3.0 and 1.3.90 (master:360dca5).
Fixes T529
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
|
|
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>
|
|
"touch" focused surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
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>
|
|
Actually, we don't need to free this data here.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
When deleting the drag, free any dupped strings.
Hopefully this fixes Phab Ticket T471. Don't know for sure as I cannot
reproduce the crash here :/
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
them else wayland segfaults (internal wayland code does no safety
checks). Also, Fix some formatting while I am here...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
key for capitals.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
This adds support for Windows logo, caps lock, num lock, scroll lock
and AltGr as keyboard modifiers
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
|
|
|
|
Since we are allocating this list and returning it, let's make it more
EFL-like.
|
|
This is just not being used outside of ecore_wayland library, so just
move it and nothing breaks.
|
|
|
|
|
|
Instead of use direct access to the Ecore_Wl_Window structure, just use
the getter, so we can hide the internals.
|
|
|
|
We can set it from the ecore_wl_window_move() function, instead of
directly changing the attribute.
|
|
It's something specific to the ecore_evas engine/module, so there's no
need to keep this info in the Ecore_Wl_Window.
|
|
These two APIs will save the title and class_name inside
Ecore_Wl_Window, so if they are called before the shell surface is
created, the stored names will be used later when the window is finally
shown (shell surface is created).
This way we are also hiding the shell surface from ecore_evas modules.
|
|
Some attributes might have been useful in the past, but not anymore.
Just remove since they are not been used anywhere.
|
|
This is a configure event info, so put it in the right place. Some
places adding edges info were also removed, which means that they were
redundant.
Tested with <Meta> + middle click resize, and with window border resize,
on all the edges. Apparently, nothing breaks.
|
|
Use a getter for it instead, so we don't need to expose the
Ecore_Wl_Window struct just because of it.
|
|
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.
|
|
This struct is only used inside ecore_wayland itself, so there's no real
reason to expose it. Apparently, hiding it doesn't break anything,
except for the ecore_imf wayland module, which was easily fixed.
If anyone notices a breakage, please let me know.
|
|
|
|
|
|
This centralizes the place where we have to wait for the init to have
finished before first using the compositor. It's also part of the later
step of hiding Ecore_Wl_* private structs.
|
|
surface
Signed-off-by: Chris Michael <cp.michael@samsung.com>
|
|
At the end of the ecore_wl_init() function, send a sync request to the
server, and add a callback listener to the "done" event. When this event
is received, we are sure that all the registry bind requests done so
far were processed already, and that the registry and globals are
available and can be used.
Now, on the functions that request interfaces or registry, we call
_ecore_wl_init_wait(), which will check if the callback was received
already (that means that all requests inside the init were processed).
If it was not yet, then we wait until receiving that callback, before
returning the requested data.
|
|
Add output, seat, data_device_manager and subcompositor as possible
bound interfaces, on the ECORE_WL_EVENT_INTERFACES_BOUND event info.
|
|
This reverts commit b87afd1b943b260c92f8493647b7d9cae327656e.
Wrong branch, wrong commit.
|
|
|
|
Add them to the tree, so they don't need to be generated again on each
build. Also remove the autofoo code used for generating them.
|
|
Is there a title for the commiter with the longest revert of a revert list?
I screwed this one up. Had other local changes that sneaked in.
Resetting and doing it right now.
This reverts commit ee155b771ddb8f063105f013c652b65f2ff663c1.
|
|
You can bet on reverting makes people speed up the process in fixing it.
Revert the revert here now that Cedric fixed it in eina.
This reverts commit 875e7cf74de68d05f6fd28d26ad8bddab7782316.
|
|
|
|
|
|
|
|
|
|
This reverts commit 65b960f4a60442edcd66082ccc1828b80a49885c.
Conflicts:
src/lib/ecore_wayland/ecore_wl.c
|