Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=dex77stuff.git;a=commitdiff;h=9e5266af2282728642227c08c0aecfbba93656ef
commit 9e5266af2282728642227c08c0aecfbba93656ef Author: Baste <[email protected]> Date: Mon Feb 23 10:38:25 2015 +0100 clutter-1.20.0-2-x86_64 - Add patch for libinput diff --git a/source/xlib/clutter/FrugalBuild b/source/xlib/clutter/FrugalBuild index c8607e2..5d5d717 100644 --- a/source/xlib/clutter/FrugalBuild +++ b/source/xlib/clutter/FrugalBuild @@ -14,7 +14,7 @@ pkgdesc="A GObject based library for creating fast, visually rich graphical user depends=('libxdamage' 'libxcomposite' 'libgl' 'freetype2' 'libxau>=1.0.4' 'libxdmcp' \ 'gdk-pixbuf2>=2.31.1' 'libxml2>=2.7.8' 'atk>=2.14.0' 'pango>=1.36.6' 'cairo' 'json-glib' \ 'cogl>=1.18.2' 'libxkbcommon' 'wayland' 'libinput') -makedepends=('gobject-introspection') +makedepends=('gobject-introspection' 'autoconf' 'automake') _F_gnome_devel="n" _F_gnome_ext=".tar.xz" Finclude gnome @@ -24,7 +24,9 @@ replaces=('clutter-cairo') provides=('clutter-cairo') unset MAKEFLAGS Fconfopts="$Fconfopts --enable-xinput --enable-wayland-backend --enable-egl-backend --enable-evdev-input --enable-wayland-compositor" -sha1sums=('9939b90268e44c5500f44f3b11665eafabe8193e') +source=($source libinput.patch) +sha1sums=('9939b90268e44c5500f44f3b11665eafabe8193e' \ + '9210cdc0a6e35f50d8f4c28c48cf6863218c5303') if Fuse $USE_DOC; then makedepends=("${makedepends[@]}" 'gtk-doc>=1.20') @@ -37,7 +39,11 @@ if Fuse $USE_DOC; then fi build() { - Fbuild + Fpatchall + Fautoreconf + Fmake + Fmakeinstall + if Fuse $USE_DOC; then Fsplit $pkgname-docs usr/share/gtk-doc fi diff --git a/source/xlib/clutter/libinput.patch b/source/xlib/clutter/libinput.patch new file mode 100644 index 0000000..280b7e5 --- /dev/null +++ b/source/xlib/clutter/libinput.patch @@ -0,0 +1,91 @@ +From 358039182478140c8dcb7bcd077fff855d836bac Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <[email protected]> +Date: Fri, 16 Jan 2015 01:03:52 +0100 +Subject: [PATCH] evdev: use libinput's new merged scroll events + +libinput's API changed from separate scroll events for vert/horiz scrolling to +a single event that contains both axes if they changed. + +Updated by Armin K. to use the discrete axis value for wheel events as done +in Weston. +--- + clutter/evdev/clutter-device-manager-evdev.c | 40 +++++++++++++++++++--------- + configure.ac | 2 +- + 2 files changed, 28 insertions(+), 14 deletions(-) + +diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c +index 7b48481..2b3828a 100644 +--- a/clutter/evdev/clutter-device-manager-evdev.c ++++ b/clutter/evdev/clutter-device-manager-evdev.c +@@ -1191,29 +1191,43 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev, + + case LIBINPUT_EVENT_POINTER_AXIS: + { +- gdouble value, dx = 0.0, dy = 0.0; ++ gdouble dx = 0.0, dy = 0.0; + guint32 time; ++ gboolean wheel = FALSE; + enum libinput_pointer_axis axis; ++ enum libinput_pointer_axis_source source; + struct libinput_event_pointer *axis_event = + libinput_event_get_pointer_event (event); ++ + device = libinput_device_get_user_data (libinput_device); + + time = libinput_event_pointer_get_time (axis_event); +- value = libinput_event_pointer_get_axis_value (axis_event); +- axis = libinput_event_pointer_get_axis (axis_event); ++ source = libinput_event_pointer_get_axis_source (axis_event); + +- switch (axis) +- { +- case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL: +- dx = 0; +- dy = value; +- break; ++ /* libinput < 0.8 sent wheel click events with value 10. Since 0.8 ++ the value is the angle of the click in degrees. To keep ++ backwards-compat with existing clients, we just send multiples of ++ the click count. */ ++ ++ if (source == LIBINPUT_POINTER_AXIS_SOURCE_WHEEL) ++ wheel = TRUE; + +- case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL: +- dx = value; +- dy = 0; +- break; ++ axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL; ++ if (libinput_event_pointer_has_axis (axis_event, axis)) ++ { ++ if (wheel) ++ dy = 10 * libinput_event_pointer_get_axis_value_discrete (axis_event, axis); ++ else ++ dy = libinput_event_pointer_get_axis_value (axis_event, axis); ++ } + ++ axis = LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL; ++ if (libinput_event_pointer_has_axis (axis_event, axis)) ++ { ++ if (wheel) ++ dx = 10 * libinput_event_pointer_get_axis_value_discrete (axis_event, axis); ++ else ++ dx = libinput_event_pointer_get_axis_value (axis_event, axis); + } + + notify_scroll (device, time, dx, dy); +diff --git a/configure.ac b/configure.ac +index 0a9a580..2a47744 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -146,7 +146,7 @@ m4_define([uprof_req_version], [0.3]) + m4_define([gtk_doc_req_version], [1.20]) + m4_define([xcomposite_req_version], [0.4]) + m4_define([gdk_req_version], [3.3.18]) +-m4_define([libinput_req_version], [0.4.0]) ++m4_define([libinput_req_version], [0.8.0]) + m4_define([libudev_req_version], [136]) + + AC_SUBST([GLIB_REQ_VERSION], [glib_req_version]) +-- +2.2.2 _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
