Summary:
Well mostly, it seems there is an issue with multi-key events and
enlightenment. Let's merge this first before opening a ticket.
Reviewers: devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4017
@fix
so ibus module for ecore-imf likes to send an x event back to
ourselves faking a key... this works unless we are looking at
modifiers that make make for odd combos with keysyms turned into
keycodes. so actualyl use the correct original keycode plus state
unless we are having to explicitly send a keysym from ibus core.
this fixes T3703
@fix
Summary:
To ensure initialize all fields of Ecore_Event_Mouse_XXX,
use calloc() instead of malloc().
Test Plan: N/A
Reviewers: gwanglim, cedric, raster, devilhorns, ManMower, zmike
Subscribers: jpeg, input.hacker, JHyun
Differential Revision: https://phab.enlightenment.org/D3906
Summary:
the event XkbNewKeyboardNotify was never selected with
XkbSelectEventDetails so the event type could never occur.
The event is now each time emitted when a new event to the keyboard
happens. To clarify a bit: A new keyboard is always detected in x when
the set of keymaps changes.
@fix
Reviewers: raster, devilhorns, zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3867
This patch adds an xcb implementation for missing
ecore_x_randr_crtc_panning_area_set function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_interface_type_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_screen_backlight_level_set
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_off_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_dpms_standby_available_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_serial_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_ascii_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_standby_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_edid_dpms_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_manufacturer_serial_number_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for ecore_x_randr_edid_model_get
function which was missing from ecore-xcb.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for
ecore_x_randr_edid_manufacturer_model_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
ecore_x_randr_edid_manufacturer_name_get
This patch adds an implementation inside ecore-xcb for missing API
function ecore_x_randr_manufacturer_name_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an implementation for
ecore_x_randr_edid_info_has_valid_checksum which was missing in the
ecore-xcb codebase.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds definition of missing API function
ecore_x_randr_output_crtc_set.
NB: This function also has no code in the xlib implementation
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch implements missing API functions (in ecore xcb) for
ecore_x_window_keygrab_set, ecore_x_window_keygrab_unset,
ecore_x_e_keyrouter_set, ecore_x_e_keyrouter_get. These
were missing from the initial commit of keygrab/keyrouter code.
Fixes T3377
ref 5c3a08433a
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
As Ecore_X_Window is an 'int' type, we should not be initializing it
to NULL. This causes compiler warnings about initialization makes
integer from pointer without a cast.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a NULL display object,
so every function in ecore-x should likely have safety checks such as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a NULL display object,
so every function in ecore-x should likely have safety checks such as
these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This is an "oopsie" fix from my previous commit wrt adding EINA_SAFETY
checks. I made an oopsie and didn't realize that these 2 functions
were expecting int returns.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such
as these.
@ref 210b3e6c62
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
xlib immediately crashes upon being passed a null DISPLAY object,
so every function in ecore-x should likely have safety checks such as
these. an easy project for anyone who has some free time
@fix
Summary:
Without this, selection can get cleared when changing focus.
For example, if we have 2 entries:
The first entry is focused and has a selection.
When we focus the second entry, we want to select all the text.
But the old selection gets unfocused and sends a clear signal
to the new focused entry and it gets unselected.
This should fix T2739.
Reviewers: raster, tasn, devilhorns
Subscribers: herdsman, thiepha, cedric
Maniphest Tasks: T2739
Differential Revision: https://phab.enlightenment.org/D3127
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
i found that intel drm device gives BROKEN timestamps vs system clock
- it is off by about 0.3 to 0.4ms - this means the vsync event is in
the future vs when we actually wake up and do processing - this leads
to bizare timelines and likely odd event and animation handling.
fix this by detecting it and figuring out an average delay and
offsetting events by that in future, but until then, use "now" when
the drm thread wakes up as the timestamp.
@fix
Summary:
Assigning to NULL has no effect in the function calling this. So changed it to void.
Some compiler complain about this kind of construct. It is better to use the (void)
construct for silencing unused parameter with different kind of configure option.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3180
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assigned value has no effect outside the function. So removing it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3181
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3182
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assignment to size has no effect on the caller and compiler
complain about it. Do shutdown compiler complain in a more reliable
way.
Signed-off-by:
Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3156
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_ecore_x_modifiers_get() causes multiple XGetModifierMapping requests to the
server through _ecore_x_key_mask_get() function. _ecore_x_key_mask_get()
requests XModifierKeymap pointer every time it gets executed.
This can be optimized by a single XGetModifierMapping request in the
_ecore_x_modifiers_get() function itself and then passing the XModifierKeymap
pointer thus retrieved to the _ecore_x_key_mask_get() function.
Reviewers: raster, Hermet, tasn, zmike
Subscribers: yashu21985, alok25, sachin.dev, singh.amitesh, cedric
Differential Revision: https://phab.enlightenment.org/D3166
Summary:
xcb_get_modifier_mapping_reply_t *reply is obtained from
xcb_get_modifier_mapping_reply and should be freed after use.
Reviewers: raster, Hermet, tasn, zmike
Subscribers: singh.amitesh, yashu21985, alok25, sachin.dev, cedric
Differential Revision: https://phab.enlightenment.org/D3167
@fix
Summary:
The assignment of NULL will have no effect on the caller. So removed that statment.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3153
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
realwin is uninitialized and is being checked against 0 at 384. It is set at 377 only if win2 == win, else it remains uninitialized. So initializing it to NULL.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3154
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, then lst would be NULL, so assigning lst[i] only if realloc is successful, else assigning lst to previous memory location.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3155
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Xprint has been deprecated since 2008.
It's recently (August 2015) been removed from debian.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3150
Summary:
The assignment of NULL will have no effect on the caller. So removed that statment.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3095
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, it returns NULL. Then whatever the memory the ignore_list was pointing to would be leaked. So freeing it now.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3012
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
this is a less invasive solution for retrieving a keysym. X keysyms are
not portable, and so this function should not be used for any code which
is meant to run on other platforms.
@feature
Summary:
Previous implementation used mouse_handler to create mouse events from touch
events if the device was grabbed and no emulated mouse events were emitted by X server.
However the same functionality could be achieved by using multi_handler with
additional condition on grabbed devices.
Test Plan: elementary_test -> Multitouch
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2700
If ecore get the mouse cancel event(ex: display off, or window stack change) from below, we need to deal with.
Currently, evas also generates up event using evas_event_feed_mouse_cancel function when window hide is called.
if cancel event occurs, ecore also call evas_event_mouse_feed_cancel like window hide situation.
cancel event means all button or touch event should be canceled, but in the future, if we need to deal each cancel event according to touch point,
we need to add api like evas_event_feed_multi_cancel
@feature
Summary: The _ecore_x_input_grabbed_is function is only used if we
have support for XI2_2, so move the defines around a little to fix a
compiler warning.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
we can use XI_TouchXXX defines after xi2_2. So we don't need check XI_TouchXXX defines.
I think it is simple only using the ECORE_XI2_2 define instead of using XI_TouchXXX defines.
Summary:
we can use XI_TouchXXX defines after xi2_2. So we don't need check XI_TouchXXX defines.
I think it is simple only using the ECORE_XI2_2 define instead of using XI_TouchXXX defines.
Reviewers: raster, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2637
Summary:
EFL currently supports pointer grabbing. This patch introduces new API
allowing to grab all slave touch devices registered in X server
Grabbing is performed by XIGrabDevice function from XInput 2.0.
By default ecore_x_input_touch_devices_grab grabs all XISlavePointer devices,
having XITouchInfoClass. Function returns EINA_TRUE if at least one touch device
was successfully grabbed. ecore_x_input_touch_devices_ungrab ungrabs all
previously grabbed devices.
To process events correctly change has been done in x_input_handler to emulate
mouse pointer events. If XITouchEmulatingPointer flag is set on touch events and
device is grabbed framework will generate mouse events. This is required
due to X Server design in which mouse events are no longer send to client when device is
detached (grabbed) from virtual core pointer.
@feature
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2568
when using glx it's necessary to share a Display* object, and this object
may be created externally
no tests provided since they would not be run, would require direct linkage to xlib,
and is literally a 2 LoC change from regular ecore_x_init()
@feature
using a sync grab here causes the device to be frozen in the xserver,
preventing any event processing on the device until the grab ends. it also
prevents new grabs, such as the ones which would be created by xkill when
launched from a keybinding; this means that as long as the grabbed key is
held, the pointer is effectively dead to the world.
I attempted to find the reason for using sync pointer grabs here,
but the original commit message was:
aaaahmmm.. no.. this.. oops
see https://git.enlightenment.org/legacy/ecore.git/commit/?id=f62faeae288fc8211d5f97b43d3b81de87db0942
fix T2228
this frees the axis data coming in if struct alloc fails - should
basically never happen, but if it does we don't lose axis data as
caller asumes this data will be freed in the event
related to CID 1256115
Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.
These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
This was the only user of xcb-xprint and we already have a fallback in place for
it. I talked to Chris about it and he was fine with it before his morning coffee.
More serious this should be ok and we can get rid of this part which starts to
make trouble in distros by now. E.g. gentoo is disabling it completely and many
others just ship upstream which means no pc file. Arch seems to patch it in but
we are on the safe side with just using the fallback.
Summary: This ports the deprecated screensaver_suspend and new API
screensaver_suspend to work with xcb.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This deprecates the old misspelled screensaver_suspend API
function and adds a new one.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This API function is misspelled, so after speaking with
Stefan, we've decided to deprecate this function add add a properly
spelled one.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Depth is not used in the ecore_x_window_full_new function, so
add missing EINA_UNUSED
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Let's use the proper variable names when assigning return
mask values.
NB: How did all this even get Into git with someone checking it and
compiling it ??
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>