this is needed for devices that no longer produce aspi events for
these. otherwise good luck getting any event on lid open/close or on
pressing the power button. this also stops hiding switch events from
libinput and now you can get switch events to find lid or tablet mode
switching changes.
@fix
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>
locks are not the same as modifiers, and the corresponding event flag must
be set based on whichever value(s) are set instead of yolo mixing and matching
@fix
ref T5737
Summary:
It is not necessary to specify @brief since the first line will
automatically be used, but if it is used it should be only for the brief
description, not the detailed description.
Also reformat other docs in this file to follow convention for the brief
docs.
Reviewers: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5101
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.
Our close callback tells logind we're done with a device, but it should
also actually close the fd it's passed, or we end up leaking piles of
fds on VC switch.
see weston commit 8f5acc2f3a29c3831af4ddd6bed57f703c98dc77
and subsequent regression in commit 72dea06d7952e3ce8dd8057f7106186da4fa2678
and pending fix in https://patchwork.freedesktop.org/patch/168992/
When I added the code to probe drm devices to ensure they're
modeset capable (ref 414d406b3b)
I didn't realize elput didn't allow us to open and close more than
one drm device at startup without blowing up libinput.
This is a somewhat dirty hack to rough that in.
The problem is that open/close the device during startup will
result in an async "gone" callback from logind, which then kicks
off an input shutdown. We need to try harder to only do that
shutdown when it makes sense.
Coverity CID1377539 says that we leak the eldbus reply here when we
error out, so be sure to cleanup 'reply'
Fixes CID1377539
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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>
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.
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>