libinput won't actually give us this info, and logs an error instead.
We can't synthesize based on pointer position due to pointer
warping.
So we must track abs reports and use previous abs reports to
synthesize rel events.
Small patch to fix issue of not setting caps_lock modifier. As we
lookup this modifier index when creating keyboard info, we should be
testing for it and setting seat->modifiers accordingly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to update keyboard led(s) when caps, numlock, etc are
pressed. This patch adds some fields to internal (non-API exposed)
structures inside our private header (of a BETA-API library) and thus
should still be ok during freeze.
Fixes T5655
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this was originally intended to allow some code to be moved out of the
compositor, but the idea turned out to be unfeasible since multiple
display backends need to be supported and not all related components
will provide similar functionality
Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters. While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4953
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>
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
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
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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.
This reverts commit 2037474dc0.
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.
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.
This reverts commit 24e34e19a1.
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?
This reverts commit 95d93cb720.
Formatting change on top of a totally untested coverity fix that
breaks input for enlightenment's wayland compositor.
#TeamworkIsDeprecated
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>