path: root/src/lib/elput (unfollow)
AgeCommit message (Collapse)Author
2018-11-29elput: Add elogind as meson optionChris Michael
2018-11-29elput: Fix ifdef check to support elogind alsoChris Michael
2018-11-29elput: Fix ifdef check to work for elogind alsoChris Michael
2018-11-29elput: Add include flie for elogind supportChris Michael
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <> Differential Revision: Depends on D7011
2018-07-17elput: Remove unused and useless event typeChris Michael
f220f08 introduced this event, however this event never gets raised or used. I believe this was an accidental inclusion. '#betabreak' Reviewed-By: Derek Foreman <>
2018-07-10ecore_wl2&elput: correctly fill the key structureMarcel Hollerbach
Summary: the key structure has two fields key and keyname, those should be identical to the keystructures from x. the method xkb_keysym_to_utf8 however returns different values for keys like "minus" thus only relying on xkb_keysym_name files this issue. Reviewers: eagleeye, devilhorns Reviewed By: eagleeye Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision:
2018-04-05elput: include Eina.h in public headerMike Blumenkrantz
Reviewed-by: Stefan Schmidt <>
2018-02-26elput - don't segv on shutdown when libinput dispatch happens to free libCarsten Haitzler (Rasterman)
2018-01-23elput: Fix null pointer dereferenceChris Michael
Coverity reports this as a null pointer dereference, so check for 'seat' existence before comparing with strcmp Fixes CID1385369 Signed-off-by: Chris Michael <>
2018-01-22ecore_drm2: Only use a virtual terminal on seat0Chris Michael
Summary: Only seat0 supports virtual terminals. Test Plan: Make sure enlightenment does not error out on non-seat0 due to a virtual terminal error. Enlightenment will not start yet on seat1 with this alone Reviewers: ManMower, devilhorns Reviewed By: devilhorns Subscribers: ManMower, devilhorns, cedric, jpeg Differential Revision:
2018-01-18all: Simplify definition of EAPIVincent Torri
This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-17elput - fix crash on shutdown where input.lib was NULLCarsten Haitzler (Rasterman)
this was null checked everywhere except in 1 place. fix. now more crash on shutdown now
2017-12-19efl: Reset ecore event types on initJean-Philippe Andre
This fixes cycles of init/shutdown/init where ecore event types would become invalid, since they are now stored in a dynamic array rather than a statically stored array. The risk here is that if a module of EFL tends to init/shutdown in a "normal" scenario then the event type array will grow in a leaking manner. This could be fixed by resetting those event ID's only when the loop actually exits (EFL_EVENT_DEL on the main loop). I'm not using EFL_EVENT_DEL in this patch as this would add too many event callbacks to the main loop object, which may result in slightly slower event calls to it, affecting the overall performance.
2017-11-20elput: Remove unreachable codeChris Michael
As we are returning the evdev above, this block is unreachable so remove it. Fixes Coverity CID1382857 @fix Signed-off-by: Chris Michael <>
2017-11-12libinput check - move up to requiring 1.6 as a minimum for libinputCarsten Haitzler (Rasterman)
2017-11-09elput - ref device that is in the event queueCarsten Haitzler (Rasterman)
2017-11-08elput - re-enable switches (power buttons, lid etc.)Carsten Haitzler (Rasterman)
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
2017-10-03elput: Fix issue of pointer rotation not being set on startupChris Michael
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 <>
2017-08-24elput: Add API to set pointer acceleration speedChris Michael
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 <>
2017-08-18wayland: fix num/caps lock handling in eventsMike Blumenkrantz
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
2017-08-17elput: Fix @brief's in docsBryce Harrington
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:
2017-07-28elput: Fix synthetic relative motion events based on abs eventsDerek Foreman
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.
2017-07-28elput: fix seat cleanupMike Blumenkrantz
ensure seat deletion does not conflict with elput shutdown @fix
2017-07-28elput: unref devices in post event cbMike Blumenkrantz
2017-07-25elput: Close fds when asked toDerek Foreman
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
2017-07-24elput: Fix multiple open/close of drm devicesDerek Foreman
When I added the code to probe drm devices to ensure they're modeset capable (ref 414d406b3b442216543cdaef112787696ae09898) 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.
2017-07-12elput: Fix resource leakChris Michael
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 <>
2017-07-10elput: Update modifers for caps lockChris Michael
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 <>
2017-07-10elput: Fix support for setting keyboard led(s)Chris Michael
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 <>
2017-07-10elput: Minor formatting fixChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-07-07elput: don't leak event pointersMike Blumenkrantz
2017-06-16elput: remove keymap mmap+eventMike Blumenkrantz
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
2017-06-09elput: Document how keyboard events are processedBryce Harrington
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 <> Reviewers: zmike Subscribers: cedric, jpeg Differential Revision:
2017-06-09elput: Fix compilation warning (GCC)Jean-Philippe Andre
Use GCC sematic {} instead of {0} as the array members are structs, thus {0} isn't valid either.
2017-06-08elput: Add API function to swap dx & dy axis from pointer motion eventChris Michael
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 <>
2017-06-08elput: Minor formatting fixesChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-06-08elput: Minor formatting fixChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-06-08elput: Get touch event slots using slot not seat_slotChris Michael
@fix Signed-off-by: Chris Michael <>
2017-06-05elput: fix sp. usefullBryce Harrington
Reviewers: cedric Reviewed By: cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-06-02elput: send extra pointer motion event on first button press after resumeMike Blumenkrantz
ensure state is reapplied by other components
2017-06-02elput: move pointer coords into seat structMike Blumenkrantz
2017-06-02elput: ref evas devices in event structsMike Blumenkrantz
2017-06-02elput: add refcounting for seats/devicesMike Blumenkrantz
ensure lifetimes persist through events @fix
2017-06-02elput: add null checks for xkb compose pointersMike Blumenkrantz
somehow these can fail to be created
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