path: root/src/lib/elput (follow)
AgeCommit message (Collapse)Author
2017-05-31elput: Fix logind session object pathDerek Foreman
We're supposed to query the path for a session id instead of just making up the string ourselves. Fixes all input devices being dead after a vc switch for some users.
2017-05-26elput: do not set TABLET_PAD to have POINTER capsMike Blumenkrantz
2017-05-26elput: fallback to regular device name if output_name is not availableMike Blumenkrantz
2017-05-26wayland/drm: create evas_devices and add device pointer to input eventsMike Blumenkrantz
this is still semi-broken if a seat has many pointer-ish type devices since pointer devices in ecore-evas were never correctly implemented to be 1:1 with seat:cursor relationships @feature
2017-05-26elput: store output w/h and apply to devices on creationMike Blumenkrantz
fix async device initialization for devices which need this (e.g., touchpads) @fix
2017-05-26elput: add more elput_seat accessor apisMike Blumenkrantz
2017-05-26elput: start elput_device_ and elput_seat_ namespaces, rename some functionsMike Blumenkrantz
2017-05-26elput: rename and make public Elput_Device_Caps enumMike Blumenkrantz
2017-05-26elput/drm: redo xkb context/keymap settingMike Blumenkrantz
context and keymap need to be set at the same time in order to effectively update keyboard state, and active group should be accessible through api as well preserve old function ABI to ensure old binaries don't crash
2017-05-26elput: implement compose sequencesMike Blumenkrantz
@feature fix T5006
2017-05-26elput: fix key/keyname strings in key eventsMike Blumenkrantz
todo: move all this duplicated code somewhere
2017-05-26elput: sync _keyboard_keysym_translate() with ecore-wl2 code, add copyrightMike Blumenkrantz
2017-05-26elput: add copyright from westonMike Blumenkrantz
2017-05-26elput: handle double/triple click for pen eventsMike Blumenkrantz
2017-05-26elput: send axis events for tablet toolsMike Blumenkrantz
2017-05-26elput: add initial input tablet supportMike Blumenkrantz
2017-05-26elput: use unrounded coords for subpixel struct members in eventsMike Blumenkrantz
2017-05-26elput: store device pressure for use in eventsMike Blumenkrantz
2017-05-26elput: group tablet input devices into pointer devicesMike Blumenkrantz
this is consistent with x11 behavior as well as the behavior of other toolkits under wayland @feature
2017-04-19elput: Remove specific case for pointer wheel tiltChris Michael
Since efl-jenkins does not have libinput >= 1.7.0, this commit broke the jenkins build due to missing LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT value. We should be able to get by with letting 'default' case handle it.... @fix Signed-off-by: Chris Michael <>
2017-04-19elput: Add case for wheel tilt when getting pointer axis valueChris Michael
libinput >= 1.7.0 added support for LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT, however we do not yet support that in elput, thus gcc was spilling a warning about an unhandled enumeration value here. We'll add a case for the above, plus a default to cover any future additions. Signed-off-by: Chris Michael <>
2017-04-19elput: Remove unused variableChris Michael
Gcc reports 'flags' as unused here, so remove it @fix Signed-off-by: Chris Michael <>
2017-04-18elput: use new API eina_file_close_on_exec.Cedric BAIL
2017-03-09elput: avoid crash during shutdown due to Ecore_Event queue.Cedric BAIL
2017-02-10vpath usage - simplify to bare minimum to make gustavo happyCarsten Haitzler (Rasterman)
since these are only local path resolves, the do and wait are technically not needed. also remove any other tmp strings and use the vpath string resolving feature to avoid printfs/strjoins/cats etc. etc. as well. also remember to remove old name string from evas shm code - it worked for me. i guess i was lucky and it happened to be NULL thus free was fine.
2017-02-09Revert "vpath usage - simplify to bare minimum to make gustavo happy"Derek Foreman
This reverts commit 2037474dc0fd2b360452f2a15abcbe533b57ca37. This causes the wayland_shm engine to seg fault immediately at startup when attempting to create shm buffers. Please make sure when committing changes to the wayland_shm engine to test on intel, exynos, and at least one platform without dmabuf capabilities - or using the EVAS_WAYLAND_SHM_DISABLE_DMABUF env var to disable dmabuf on intel or exynos. Anyone without the time or hardware to fully test changes to wayland_shm can submit a patch to phabricator and assign it to me so I can fully test it before landing.
2017-02-09vpath usage - simplify to bare minimum to make gustavo happyCarsten Haitzler (Rasterman)
since these are only local path resolves, the do and wait are technically not needed. also remove any other tmp strings and use the vpath string resolving feature to avoid printfs/strjoins/cats etc. etc. as well.
2017-02-09elput - use vpath to get xdg runtime to also be setuid safeCarsten Haitzler (Rasterman)
this time around... use a / at the end of the (:run:) virtual dir path to make it work.
2017-02-08Revert "elput - use vpath to get xdg runtime to also be setuid safe"Derek Foreman
This reverts commit 24e34e19a1db84cdcb6241207cb99d14ca83c41b. This broke keyboard input for the enlightenment wayland compositor, please test elput changes on at least one of the drm backends, preferably with enlightenment. The wayland compositor is hard enough to keep stable due to breakage from core changes only tested on X - but elput's main user is our wayland compositor, was this tested anywhere?
2017-02-08Revert "elput: Minor formatting fix"Derek Foreman
This reverts commit 95d93cb7208857cc89d79f3ffbbd7ee71ba1936f. Formatting change on top of a totally untested coverity fix that breaks input for enlightenment's wayland compositor. #TeamworkIsDeprecated
2017-02-08elput: Minor formatting fixChris Michael
NB: No functional changes, just some minor formatting adjustments Signed-off-by: Chris Michael <>
2017-02-08elput - use vpath to get xdg runtime to also be setuid safeCarsten Haitzler (Rasterman)
this fixes CID 1357168 in the case of setuid binaries as vpath handles setuid cases.
2017-02-07elput: Fix async input shutdown during initDerek Foreman
By only checking if the thread was cancelled *after* sending feedback to the main thread we ended up claiming all the devices libinput asked for in a way that never allowed them to be released (how the hell can a cancelled thread send feedback?)
2017-02-07elput: Delete output_name stringshare on error caseChris Michael
This actually should have been part of the previous patch which moved setting output_name to evdev, but it got missed so add it now. This ensures we cleanup the output_name stringshare on error. Signed-off-by: Chris Michael <>
2017-02-07elput: Remove dead FIXME noteChris Michael
As device calibration has already been handled via external facing API, this FIXME note is no longer needed. NB: No functional changes Signed-off-by: Chris Michael <>
2017-02-07elput: Set device output name when device is createdChris Michael
Small patch to set the output name of an Elput_Device when the device gets created. Note, this was already being done inside elput_input, but this patch moves it to when the device gets created. NB: Really no functional changes here, just moving a function call. Signed-off-by: Chris Michael <>
2017-02-03elput: add event for relative motionMike Blumenkrantz
2017-01-31elput: Improve debug output for added devicesChris Michael
Small patch which does not print out debug info for devices we do not handle, and adds the 'type' of device to the debug output (pointer, keyboard, etc). @fix Signed-off-by: Chris Michael <>
2017-01-31elput: Don't add devices which we are not going to useChris Michael
If an input device is not a pointer, keyboard, or touch device then we are not going to be handling events for it, so do not create a new Elput device for it. @fix Signed-off-by: Chris Michael <>
2017-01-31Revert "elput: Change return of device_add/remove functions"Chris Michael
Reverting this in favor of a better way to improve debug output This reverts commit cee7ee39932c31a21d3dd90e19703371a946a0c0.
2017-01-31elput: Change return of device_add/remove functionsChris Michael
Minor change on the return value of the device_add and device_remove functions so that we can avoid debug output for devices which we do not deal with. Signed-off-by: Chris Michael <>
2017-01-31elput: Add more robust debugging output for input devicesChris Michael
Signed-off-by: Chris Michael <>
2017-01-25elput: Fix resource leakChris Michael
Coverity reports that we leak 'msg' here if we fail to append arguments to the message. Fixes CID1367499 @fix Signed-off-by: Chris Michael <>
2017-01-17elput: Return touch coordinates when we have no pointerChris Michael
If a user calls elput_input_pointer_xy_get (as is done via ecore_evas_drm) and a pointer does not exist, we never return any coordinates for this function. Enlightenment is using ecore_evas_pointer_xy_get (which when using the drm ee, ends up calling elput_input_pointer_xy_get). If we have no pointer device, then no coordinates are ever returned and touch clicking does not function properly. To fix that we will check if a touch device exists and supply the coordinates from that (in the case where there is no pointer device). @fix Signed-off-by: Chris Michael <>
2017-01-12elput: Send touch motion before sending touch button eventsChris Michael
This patch sends a touch motion event before sending of touch up/down events. This allows some compositors (enlightenment) to update their internal representation of where the mouse pointer is before handling button events (as touch down/up is treated as a mouse button down/up). Fixes T5094 for the old man ;) Signed-off-by: Chris Michael <>
2017-01-12elput: Store touch timestamp and slotChris Michael
This patch adds a timestamp field to the touch structure so that we can store it and do not have to refetch the timestamp when sending touch events. Signed-off-by: Chris Michael <>
2016-12-19elput: Fix resource leakChris Michael
Coverty reports that we leak 'reply' here if we fall into the error condition. CID1367506 @fix Signed-off-by: Chris Michael <>
2016-12-19elput: Fix resource leakChris Michael
Coverity reports that 'reply' is leaked here if we fall into the error condition. CID1367507 @fix Signed-off-by: Chris Michael <>
2016-12-14elput: Properly check return values from libinput config functionsChris Michael
As libinput_config_status may contain 3 possible return values, we need to santize the return values there into Eina_Bool for use in our own functions. Signed-off-by: Chris Michael <>
2016-12-14elput: Add API functions to get/set if tap-to-click is enabledChris Michael
This patch adds API functions to get or set if tap-to-click is enabled on a touchpad device @feature Signed-off-by: Chris Michael <>