elput_input_pointer_rotation_set may be getting called before input
devices are actually added, so we need to be able to set pointer
rotation when a device actually gets added.
To fix this, we will store the requested input rotation value, and
apply it at the time of input device creation.
NB: The current case is that the wl_drm module will apply existing
output rotation before Input has completely initialized, thus any
calls to set the pointer rotation there will not succeed as input
devices have not been created yet.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API which can be called to set pointer
acceleration speed under Wayland.
ref T4736
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch which adds an API function that can be called to swap x
and y axis and invert them according to rotation angle.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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
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?)
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
"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
'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
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
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
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 <cpmichael@osg.samsung.com>
Small patch to add an API function that can be used to set the current
pointer position on a given seat name. This function (typically) will
be used inside an Ecore_Evas to "pointer warp".
@feature
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Small patch to add an API function that can be used to retrieve
current pointer position on a given seat name.
@feature
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds start of code to create or remove input devices such
as keyboards, pointers, or touch devices.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>