mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
build: check if libinput supports high-res scroll
Starting with Linux Kernel v5.0 two new axes are available for mice that support high-resolution wheel scrolling: REL_WHEEL_HI_RES and REL_HWHEEL_HI_RES. Both axes send data in fractions of 120 where each multiple of 120 amounts to one logical scroll event. Fractions of 120 indicate a wheel movement less than one detent. Three new events are now available on libinput: LIBINPUT_EVENT_POINTER_SCROLL_WHEEL, LIBINPUT_EVENT_POINTER_SCROLL_FINGER, and LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS. These events replace the LIBINPUT_EVENT_POINTER_AXIS event, so new clients should simply ignore that event. Also, two new APIs are available to access the high-resolution data: libinput_event_pointer_get_scroll_value() and libinput_event_pointer_get_scroll_value_v120(). Add a project argument (LIBINPUT_HAS_SCROLL_VALUE120) to allow building against old versions of libinput or, where high-resolution scroll is available, support it.
This commit is contained in:
parent
c8f8ac672c
commit
c84cc660f0
1 changed files with 4 additions and 4 deletions
|
@ -28,8 +28,8 @@ wlr_files += files(
|
||||||
features += { 'libinput-backend': true }
|
features += { 'libinput-backend': true }
|
||||||
wlr_deps += libinput
|
wlr_deps += libinput
|
||||||
|
|
||||||
# libinput hold gestures are available since 1.19.0
|
# libinput hold gestures and high resolution scroll are available since 1.19.0
|
||||||
add_project_arguments(
|
add_project_arguments([
|
||||||
'-DLIBINPUT_HAS_HOLD_GESTURES=@0@'.format(libinput.version().version_compare('>=1.19.0').to_int()),
|
'-DLIBINPUT_HAS_HOLD_GESTURES=@0@'.format(libinput.version().version_compare('>=1.19.0').to_int()),
|
||||||
language: 'c',
|
'-DLIBINPUT_HAS_SCROLL_VALUE120=@0@'.format(libinput.version().version_compare('>=1.19.0').to_int()),
|
||||||
)
|
], language: 'c')
|
||||||
|
|
Loading…
Reference in a new issue