path: root/src/lib/elput (follow)
AgeCommit message (Collapse)Author
2016-12-14elput: Add API functions to get/set touchpad click methodChris Michael
This patch adds API functions to get or set the click method used on touch devices. The click method defines when to generate software emulated buttons @feature Signed-off-by: Chris Michael <>
2016-12-14elput: Add API functions to get/set the scroll method for a touchpadChris Michael
device This patch adds API functions which can be used to get or set the scroll method used for a given device. Scroll method defines when to generate scroll axis events @feature Signed-off-by: Chris Michael <>
2016-12-14elput: Add API functions to enable/disable dwt support on touchpadsChris Michael
This patch adds API functions to get/set if dwt (disable-while-typing) is enabled on a touchpad. @feature Signed-off-by: Chris Michael <>
2016-12-14elput: Add API functions to enable/disable drag-lock on touch devicesChris Michael
This patch adds API functions to get or set if drag-lock is enabled on touch devices. @feature Signed-off-by: Chris Michael <>
2016-12-14elput: Add API functions to enable/disable tap-and-dragChris Michael
This patch adds new API functions for Elput touch devices to get or set if tap-and-drag is enabled on a touchpad device @feature Signed-off-by: Chris Michael <>
2016-12-08elput: Improve checks for keyboard & pointer devicesChris Michael
Some devices reported by libinput show up as both keyboard and mouse, even tho they are physically only just a keyboard or just a mouse. When a device gets added, we can verify if it is actually a mouse by checking if the device has BTN_LEFT (and for keyboards, check KEY_ENTER). This stops us from getting multiple mouse pointers reported when we really only have one. @fix Signed-off-by: Chris Michael <>
2016-11-02elput: Add API to allow setting pointer acceleration profileChris Michael
This patch adds an API that can be used to set a pointer acceleration profile. This API should be used when addressing T4736 ref T4736 @feature Signed-off-by: Chris Michael <>
2016-09-20ecore_con,elput: fix warningsBruno Dilly
Summary: elput: fix warning for unused write result ecore_con: fix warning for unused asprintf result Reviewers: iscaro, devilhorns, cedric Reviewed By: cedric Subscribers: cedric, seoz, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2016-08-23elput: Fix typo in doxygenJihoon Kim
Signed-off-by: Jihoon Kim <>
2016-07-26elput: Use correct filename in unlinkDerek Foreman
We switched from mkstemp to eina_file_mkstemp() but ended up unlinking the template filename, which didn't exist on the filesystem.
2016-07-25elput: Fix issue of losing mouse input when removing a deviceChris Michael
When we are adding new input devices, if we already have an existing one (keyboard, pointer, touch, etc) then we should just be incrementing the device count and returning from the init function. Previous code here would increment the device count, then continue on and create a new internal representation of the device. This was causing issues when a device gets removed. Fixes T4192 @fix Signed-off-by: Chris Michael <>
2016-07-21elput: Use proper variable typeChris Michael
The 'getenv' function returns char * ... not a const char *, so adjust variable type to match Signed-off-by: Chris Michael <>
2016-07-13elput: Cleanup erroneous errors when trying to get output nameChris Michael
When we make calls to get an Input device's output name, if the device does not have an output name it's not actually an error so just return NULL with less noise @fix Signed-off-by: Chris Michael <>
2016-07-11elput: check for a special return valueMarcel Hollerbach
sd_pid_get_session returns ENODATA or ENXIO if it was unable to fetch the session data for the given pid, reason for that is mostly that the pid is not running is a session. Adding this as the error value can help the user debugging the problem without the need of gdb´ing into the function and checking the return value.
2016-07-09elput - simplify and fix handling of string overflow with xdg runtimedirCarsten Haitzler (Rasterman)
this addresses an issue pointed to by CID 1357168
2016-07-09elput - remove pointless code in handling touch eventCarsten Haitzler (Rasterman)
i commented the pointless code out. this fixes CID 1357145
2016-07-08elput: Fix horrid typoChris Michael
Not sure how this happened, but use a ; not a : ;) Signed-off-by: Chris Michael <>
2016-07-08elput: Fix insecure temporary fileChris Michael
Fix using mkstemp directly without securely setting umask first by making use of eina_file_mkstemp which does set unmask. Fixes Coverity CID1357165 @fix Signed-off-by: Chris Michael <>
2016-07-08elput: Add API function to return output name associated with inputChris Michael
device This patch adds a new API function which we can call from Ecore_Drm2 which will return the name of an output which is associated with a given input device. This output name can then be used to find a matching output, and perform any device calibration that is needed. @feature Signed-off-by: Chris Michael <>
2016-06-30elput: Check return of read function callChris Michael
If we fail to read any bytes from the fd, then we should be returning a failure here. Fixes Coverity CID1357143 @fix Signed-off-by: Chris Michael <>
2016-06-21elput: Support suspending and resuming inputs on vt switchChris Michael
This patch fixes an issue where input would stop working when you vt-switch away and back again in a running Enlightenment Wayland session. Basically, when we vt-switch away, we need to tell libinput to suspend input event processing, and when we return to re-enable it. Signed-off-by: Chris Michael <>
2016-06-16elput: Trap for null physical seat nameChris Michael
It could be possible that libinput_seat_get_physical_name does not return a valid name, in which case searching for seats will fail. This small patch just checks for a valid name being passed in and if not, searches for a default seat name @fix Signed-off-by: Chris Michael <>
2016-06-13elput: Fix issue of VT-Switching not workingChris Michael
This patch fixes an issue where you could not VT-switch away from a running Enlightenment session by simplifying the vt switch code and passing the proper arguments to the dbus message. @fix Signed-off-by: Chris Michael <>
2016-06-07Revert "elput: Missing pointer initialization."Chris Michael
Reverting this as the initialization of char *s was already set to NULL in a previous patch, so the 'if (s)' check here is pointless really as 'man 3 free' says passing NULL to free() is ok. This reverts commit ad2e21b02399c02a748bb8b8ab0dc10f85e6662d.
2016-06-07elput: Missing pointer initialization.Benjamin Jacobs
Summary: Calling free() on an uninitialized pointer leads to crash, that can occurs when sd_session_get_seat fails. Fixes T3785. Reviewers: devilhorns Subscribers: cedric, jpeg Maniphest Tasks: T3785 Differential Revision: @fix
2016-06-06elput: Fix crash whem sd_session_get_seat failsChris Michael
If systemd fails to give us a valid session id, then any further calls to get a seat from that session are going to fail. As such, check for a valid seat return from systemd before calling any systemd functions which require session id. Fixes T3785 @fix Signed-off-by: Chris Michael <>
2016-06-02Revert "elput: Use Eeze function to get the udev to create context with"Mike Blumenkrantz
This reverts commit 7b3d20371e8095207c4bafb3684b8a30d4ca6895. using a separate context was intentional here since libudev is not threadsafe and this will crash
2016-06-02elput: Use Eeze function to get the udev to create context withChris Michael
As we already link to Eeze and use it throughout this code, there is no point in adding an extra dependency on libudev itself when we can just use Eeze functions to get what we need. This is a better fix for T3712 @fix Signed-off-by: Chris Michael <>
2016-05-27elput: Add API function to support caching of existing keymapChris Michael
@feature Signed-off-by: Chris Michael <>
2016-05-27elput: Add API function to support caching of an xkb_contextChris Michael
@feature Signed-off-by: Chris Michael <>
2016-05-26elput: Add APIs to support keyboard key remappingChris Michael
This patch adds 2 new API functions which can enable keyboard key remapping, and set which keys are to be remapped. @feature Signed-off-by: Chris Michael <>
2016-05-26elput: Add API function to calibrate input devicesChris Michael
This adds an API function that can be called to calibrate input devices based on a given output size @feature Signed-off-by: Chris Michael <>
2016-05-26elput: Remove badly named APIChris Michael
This patch removes an API function that basically "tried to do too much". This was supposed to be used for centering mouse pointer and calibrating an input device based on output size. Remove this silliness. It would be better to have one API for calibrating, and a separate API for pointer centering. These new APIs will come shortly in pending patches. @fix Signed-off-by: Chris Michael <>
2016-05-26elput: Fix issue where double/triple click was not workingChris Michael
As we use the mouse threshold for determining double/triple clicking, it would probably be a good idea if that threshold had a value @fix Signed-off-by: Chris Michael <>
2016-05-26elput: Minor formatting fixesChris Michael
NB: No functional changes, just cleanup of formatting Signed-off-by: Chris Michael <>
2016-05-25elput: Fix formattingChris Michael
NB: No functional changes, just making this readable Signed-off-by: Chris Michael <>
2016-05-25elput: use physical name of seat when finding existing seatsMike Blumenkrantz
"seat0" is used as the default internal name, and this is a physical name. using the logical name causes mismatches and allows devices to function in unintended ways
2016-05-25elput: further simplify device internalsMike Blumenkrantz
'window' and pointer max w/h attributes are set for a manager object, so let the attributes stay there. this also resolves issues where devices created at a later point would fail to be initialized with these attributes
2016-05-25elput: change some functions and internal flags to enable async input setupMike Blumenkrantz
this sets attributes on the Elput_Manager struct so that devices created at a later point can then have relevant attributes applied to them
2016-05-25elput: define and implement an async device opening interface for libinputMike Blumenkrantz
this adds an overly-complex method of removing blocking dbus calls from libinput's synchronous device initialization architecture. libinput was clearly never meant to be used in this way, but we're doing it anyway because we're efl. #SamsungFeatures
2016-05-25elput: remove 'sync' param from device managementMike Blumenkrantz
unnecessarily complicates code
2016-05-24elput: Add API function to set left-handed deviceChris Michael
This commit adds an API function which Enlightenment can call in order to set an input device to be "left-handed". Mainly used for a mouse pointer, but not specific to pointers. @feature Signed-off-by: Chris Michael <>
2016-05-20elput: Check return of calibration_get_default_matrix functionChris Michael
We should be checking the return value when we try to get the default matrix calibration for an input device so we can fail properly Signed-off-by: Chris Michael <>
2016-05-20elput: Don't calculate pointer constraints twiceChris Michael
As constraints for pointer movement are already handled in the function which sends the pointer motion event, there is no need to handle them inside the function which gets pointer position. Signed-off-by: Chris Michael <>
2016-05-14elput: Don't multiply pointer axis valueChris Michael
Reporting of mouse axis values should not be multiplied by 10. This will cause serious jumps in wheel events. Loosely based on 1a339c9e5918f6d8672755d566cac622f1d9c2d3 @fix Signed-off-by: Chris Michael <>
2016-05-10elput: Add API function to set max allowed pointer positionChris Michael
This patch adds an API function that can be used to restrict mouse movement from going outside a screen @feature Signed-off-by: Chris Michael <>
2016-05-10elput: Fix issue of NULL seat named being passed during input initChris Michael
When calling elput_input_init we need to check for a valid seat name being passed in. If no seat name is provided, we will use the default seat name. @fix Signed-off-by: Chris Michael <>
2016-05-10elput: Add API function to return a list of Elput_Devices on a givenChris Michael
seat This patch adds a new API function which can be called to retrieve a list of existing Elput_Devices on a given Elput_Seat. @feature Signed-off-by: Chris Michael <>
2016-05-10elput: Add API function to return a list of seatsChris Michael
This patch adds a new API function which can be used to return a list of existing Elput_Seat objects from a given manager. @feature Signed-off-by: Chris Michael <>
2016-05-09elput: Add code to handle keybindings for vt switchingChris Michael
This patch makes elput handle receiving the key combinations for vt switching and perform the actual switch itself. This is done so that ecore_drm2, ecore_fb, etc, etc do not each need their own code to handle vt switching. @feature Signed-off-by: Chris Michael <>