Merge lp:~andreas-pokorny/mir/contact-info-as-extension into lp:mir
Proposed by
Andreas Pokorny
Status: | Merged |
---|---|
Approved by: | Daniel van Vugt |
Approved revision: | no longer in the source branch. |
Merged at revision: | 4159 |
Proposed branch: | lp:~andreas-pokorny/mir/contact-info-as-extension |
Merge into: | lp:mir |
Diff against target: |
153 lines (+74/-10) 3 files modified
src/platforms/evdev/libinput_device.cpp (+65/-4) src/platforms/evdev/libinput_device.h (+3/-0) tests/mir_test_doubles/mock_libinput.cpp (+6/-6) |
To merge this branch: | bzr merge lp:~andreas-pokorny/mir/contact-info-as-extension |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Approve | |
Daniel van Vugt | Approve | ||
Review via email: mp+323410@code.launchpad.net |
Commit message
Allow the evdev platform to run on non-Ubuntu systems.
The Ubuntu version of libinput provides additional symbols, allowing to
access touch information. This is an intermediate solution until the
patch to libinput gets accepted upstream.
Description of the change
This loads the touch contact functions via dlsym - so evdev platform will compile and run on fedora or debian.
This is only meant as an intermediate step until the change in libinput gets upstreamed.
To post a comment you must log in.
Sounds like a plan...
(1) This is a bit weird though: dlsym(nullptr, "main"), &exec_info); event_touch_ get_major_ transformed" ) to search the current process instead? You shouldn't need the Dl_info either... Just search for the functions using RTLD_DEFAULT.
dladdr(
Why not use dlsym(RTLD_DEFAULT, "libinput_
Alternatively, just provide a raw implementation of the relevant functions, and check to see if there is a (second) system-provided version to use by searching RTLD_NEXT.
(2) Why would the fallback touch_major and touch_minor functions return different values?