On Wed, Mar 11, 2015 at 04:12:58PM -0400, Benjamin Tissoires wrote: > On Tue, Mar 10, 2015 at 1:03 AM, Peter Hutterer > <peter.hutte...@who-t.net> wrote: > > Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> > > --- > > configure.ac | 2 +- > > src/evdev-tablet.c | 56 > > +++++++++++++++++++++++++----------------------------- > > 2 files changed, 27 insertions(+), 31 deletions(-) > > > > diff --git a/configure.ac b/configure.ac > > index 85db1fd..038022e 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -172,7 +172,7 @@ AC_ARG_ENABLE(libwacom, > > [use_libwacom="$enableval"], > > [use_libwacom="yes"]) > > if test "x$use_libwacom" = "xyes"; then > > - PKG_CHECK_MODULES(LIBWACOM, [libwacom], [HAVE_LIBWACOM="yes"]) > > + PKG_CHECK_MODULES(LIBWACOM, [libwacom >= 0.12], > > [HAVE_LIBWACOM="yes"]) > > AC_DEFINE(HAVE_LIBWACOM, 1, [Build with libwacom]) > > fi > > > > diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c > > index 3e3924c..c4b4154 100644 > > --- a/src/evdev-tablet.c > > +++ b/src/evdev-tablet.c > > @@ -592,6 +592,7 @@ tool_set_bits_from_libwacom(const struct > > tablet_dispatch *tablet, > > const WacomStylus *s = NULL; > > int code; > > WacomStylusType type; > > + WacomAxisTypeFlags axes; > > > > db = libwacom_database_new(); > > if (!db) { > > @@ -617,38 +618,33 @@ tool_set_bits_from_libwacom(const struct > > tablet_dispatch *tablet, > > copy_button_cap(tablet, tool, BTN_TOUCH); > > } > > > > - /* Eventually we want libwacom to tell us each axis on each device > > - separately. */ > > - switch(type) { > > - case WSTYLUS_AIRBRUSH: > > + if (libwacom_stylus_has_wheel(s)) > > + copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_REL_WHEEL); > > + > > + axes = libwacom_stylus_get_axes(s); > > + > > + if (axes & WACOM_AXIS_TYPE_TILT) { > > + /* tilt on the puck is converted to rotation */ > > + if (type == WSTYLUS_PUCK) { > > + set_bit(tool->axis_caps, > > + LIBINPUT_TABLET_AXIS_ROTATION_Z); > > + } else { > > + copy_axis_cap(tablet, > > + tool, > > + LIBINPUT_TABLET_AXIS_TILT_X); > > + copy_axis_cap(tablet, > > + tool, > > + LIBINPUT_TABLET_AXIS_TILT_Y); > > + } > > + } > > + if (axes & WACOM_AXIS_TYPE_ROTATION_Z) > > + copy_axis_cap(tablet, tool, > > LIBINPUT_TABLET_AXIS_ROTATION_Z); > > + if (axes & WACOM_AXIS_TYPE_DISTANCE) > > + copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_DISTANCE); > > + if (axes & WACOM_AXIS_TYPE_SLIDER) > > copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_SLIDER); > > - /* fall-through */ > > - case WSTYLUS_MARKER: > > - if (type == WSTYLUS_MARKER) > > - copy_axis_cap(tablet, tool, > > - LIBINPUT_TABLET_AXIS_ROTATION_Z); > > - /* fallthrough */ > > - case WSTYLUS_GENERAL: > > - case WSTYLUS_INKING: > > - case WSTYLUS_CLASSIC: > > - case WSTYLUS_STROKE: > > + if (axes & WACOM_AXIS_TYPE_PRESSURE) > > copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_PRESSURE); > > - copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_DISTANCE); > > - copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_TILT_X); > > - copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_TILT_Y); > > - break; > > - case WSTYLUS_PUCK: > > - copy_axis_cap(tablet, tool, > > LIBINPUT_TABLET_AXIS_ROTATION_Z); > > - copy_axis_cap(tablet, tool, LIBINPUT_TABLET_AXIS_DISTANCE); > > - /* lens cursors don't have a wheel */ > > - if (!libwacom_stylus_has_lens(s)) > > - copy_axis_cap(tablet, > > - tool, > > - LIBINPUT_TABLET_AXIS_REL_WHEEL); > > We are missing the REL_WHEEL axis with this change. But this should be > addressed in libwacom.
isn't that adressed by the has_wheel() call a few lines above? Before the tilt check? > For the series, > Reviewed-by: Benjamin Tissoires <benjamin.tissoi...@gmail.com> thanks. Cheers, Peter _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel