libinput 1.2 is now available. Nothing significant since rc2, below is an outline of changes since 1.1. The main feature merged since 1.1 is graphics tablet tool support. Devices tagged by udev as ID_INPUT_TABLET are handled by libinput now and exposed with the LIBINPUT_DEVICE_CAP_TABLET_TOOL capability. Note that this currently only includes tablet tool support, including stylus, eraser, cursor, lens cursor, etc. The "pad" part of the tablet is not yet integrated. For documentation on tablet support see these two links: http://wayland.freedesktop.org/libinput/doc/latest/tablet-support.html http://wayland.freedesktop.org/libinput/doc/latest/group__event__tablet.html
It is now possible to disable tap-and-drag independently from tapping in general by caling libinput_device_config_tap_set_drag_enabled() We now have three-finger pinch gestures on supported hardware, but also had to disable gestures on some hardware. On that hardware the data is generally garbage for gestures but two-finger scroll gestures and multi-finger taps should work a lot more reliable now. The motion hysteresis has been deactivated by default. This provides smoother motion especially on small to tiny motions, making single-pixel elements much easier to target. On some devices, especially older touchpads the hysteresis may be required. We've enabled a bunch of those already, if you notice the pointer wobbling when hold the finger still, please file a bug so we can fix this. Disable-while-typing has seen two fixes: if a key is merely held down rather than pressed repeatedly, DWT will engage as expected now. And the pairing algorithm has been improved to avoid cases where the touchpad was paired with an external USB keyboard, despite there being a internal keyboard. Last: the mode button on the Cyborg RAT 5 is disabled. This button is special, on each press it cycles through 3 'modes', sending a release event for the current button and a down event for the next event code. This causes stuck buttons, since we have nothing in userspace that would handle that button as intended, disabling it is the current solution. As usual, the git shortlog is below. Peter Hutterer (4): touchpad: add synaptics semi-mt devices to those needing hysteresis touchpad: move the tapping exclusion zone to the top edge of the button tablet: use the tilt resolution if we have it configure.ac: libinput 1.2.0 And the git shortlog since 1.1: Caibin Chen (1): touchpad: fix DWT pairing for Macbook Pro 2015 Carlos Garnacho (6): Add LIBINPUT_DEVICE_CAP_TABLET libinput_device_capability value test: Add infrastructure for testing tablet events. test: Add Wacom Bamboo 16FG 4x5 Pen device definition test: Add Wacom Cintiq 12WX device definition test: Add Wacom Intuos5 touch M Pen device definition test: Add Wacom ISDv4 E6 Pen device definition Jason Gerecke (4): Fix normalization functions Remove spurious addition from range normalization calculation evdev: Do not mark tablet touchscreens as tablets tools: List relative wheel among axis capabilities Olivier Blin (1): gitignore: ignore compile script generated by automake >= 1.14 Peter Hutterer (338): tablet: check the button range before we use it tablet: rename flags to mask tablet: use "int32_t", not "signed" tablet: print invalid evdev types/codes as string for debugging purposes tools: print tablet axis debugging on one line Merge branch 'master' into tablet-support tablet: provide x/y by default in mm off the top/left corner tablet: normalize the distance to 0..1 tablet: ignore pad buttons Merge branch 'master' into tablet-support tools: explicitly ignore tablet event codes in the event-gui evdev: fix a broken log message for per-context logging Add a couple missing @ref tags tablet: always return 0 for axis values on non-axis events Fix address for memcpy() Update libinput_tool_ref/unref() to return the tool object tablet: copy the axis state into the tablet event test: add missing BTN_TOOL_ settings to Wacom I5 Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support test: put two warnings into the tablet tests Merge tag '0.7.0' into tablet-support tablet: initialize all unused dispatch callbacks to NULL Drop LIBINPUT_TABLET_AXIS_CNT from the public API Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Move the tablet functions to the 0.9.0 symbol table Merge tag '0.9.0' into tablet-support Fix a copy/paste error test: force the motion test to be axis events only test: fix a compiler warning about uninitialized variable Merge branch 'master' into tablet-support tools: print the tablet capability as 'T' in event-debug Clarify proximity handling for tools always in proximity Move the tablet APIs into the right library version tablet: drop LIBINPUT_TABLET_AXIS_NONE from the API tablet: spell out that we always include all values Merge branch 'master' into tablet-support Revert "tablet: Add tests for axes on proximity events" Merge branch 'master' into tablet-support cosmetic: drop double empty lines Merge branch 'master' into tablet-support test: fix two tablet tests test: replace a while loop with a litest helper test: fix double comparison macros test: add litest_assert_tablet_button_event() tablet: fix two coding style issues tablet: drop LIBINPUT_TOOL_NONE from the public API tablet: de-couple tool enum values from linux/input.h tablet: document what the tool type means tablet: add libinput_tool_get_tool_id() Keep the tablet APIs in a separate symbol version block tablet: use libwacom to identify tablets for left-handedness tablet: explicitly ignore ABS_THROTTLE, ABS_RX, ABS_RY, and ABS_RZ tablet: factor out checking a device for axes tablet: factor out setting axis bits on a tool tablet: expand the button mask to allow for BTN_LEFT, RIGHT, MIDDLE tablet: add support for libinput_tool_has_button tablet: handle mouse-buttons from a tool tablet: rely on libwacom to give us the right tablet axes tablet: support z-rotation for the mouse/lens tool tablet: support airbrush wheel as slider tablet: support artpen rotation tools: print tool capabilities on proximity tools: only print the tablet axes we have on the tool tablet: support the rel wheel on the mouse device tablet: add libinput_tablet_get_axis_delta() tablet: add libinput_event_tablet_get_axis_delta_discrete() Merge branch 'master' into tablet-support test: add REL_WHEEL to intuos tablet test: add tablet wheel test cosmetic: add missing empty line tablet: fix tool capability test doc: add missing @ref tag tablet: warn if the libwacom context fails to initalize tools: record the start time before doing anything with libinput tablet: sync tools already in proximity at startup Merge remote-tracking branch 'origin/master' into tablet-support tablet: copy distance axis for the mouse/lens cursor devices doc: document recommended handling of fake proximity events in the caller Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Move touch_notify_frame declaration back to the touch_notify group Merge branch 'master' into tablet-support Merge tag '0.13.0' into tablet-support Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Handle tablet capability in device_has_cap tablet: add missing libinput_event_tablet_get_base_event test: add tablet conversion checks Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support tools - list-devices: print "tablet" capability tablet: fix check for rotation axis test: use the litest macros in the tablet button check test: skip testing tablet buttons that don't exist on the device test: print the missing button's name on test failure test: add a waltop tablet test device test: disable pointer wheel tests on tablets Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support tablet: rely on libwacom for the list of axis capabilities tablet: use libwacom_new_from_path() to handle more tablets doc: improve the tablet documentation doc: drop a confusing note test: add test for partial tablet deltas Merge branch 'master' into tablet-support test: fix compiler warning about tablet test test: add test for udev ID_INPUT_TABLET tagging Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support tablet: add get_time_usec() for tablets, switch to usec test: add test for the tablet usec API Merge branch 'master' into tablet-support Merge branch 'master' into tablet-support evdev: whitespace fix evdev: log a bug for missing pointer accel on relative events evdev: don't handle motion events if the device isn't a pointer device evdev: init pointer acceleration for any device with pointer cap and rel x/y Fix libinput_device_group_find_group() to return NULL on failure tablet: widen the serial type to uint64_t tablet: use require_event_type instead of direct type check tablet: restrict tablet_axis_has_changed to axis/proximity events tablet: allow tablet_get_x/y_transformed for proximity events as well tools: add tablet support to event-gui tablet: rename all tool types to LIBINPUT_TOOL_TYPE_* tablet: widen the tool id to 64 bits tools: print the tool ID in event-debug test: add a device to check MOUSE_WHEEL_CLICK_ANGLE handling tools: take the start time before initializing the context test: add printing of tablet events to litest tablet: clarify tablet axis behavior in regards to proximity tablet: rename STYLUS_IN_CONTACT to TOOL_IN_CONTACT test: ensure proximity out coordinates are the ones from the last axis event tablet: split out tip handling into a separate event doc: add a link to the dwt config call to the doc configure.ac: libinput 1.1.1 tablet: hook up tip events touchpad: reduced the 2fg scroll threshold to 1mm test: use the li variable where we have it tablet: add missing event type checks for tablet events tablet: allow checking for proximity state on all tablet events tablet: allow fetching the tip state from any tablet event tablet: rename libinput_tool to libinput_tablet_tool tablet: rename libinput_tablet_axis to libinput_tablet_tool_axis tablet: rename the tablet axes to "LIBINPUT_TABLET_TOOL_AXIS_..." tablet: rename libinput_tool_type to libinput_tablet_tool_type tablet: rename TOOL_TYPE to TABLET_TOOL_TYPE tablet: rename tool_proximity_state to tablet_tool_proximity state tablet: rename TOOL_PROXIMITY_ to TABLET_TOOL_PROXIMITY tablet: rename tool_tip_state to tablet_tool_tip_state tablet: rename TOOL_TIP to TABLET_TOOL_TIP tablet: rename the tablet capability to a tablet_tool capability tablet: rename LIBINPUT_EVENT_TABLET to LIBINPUT_EVENT_TABLET_TOOL tablet: rename libinput_event_tablet to libinput_event_tablet_tool tablet: rename the libinput_tool calls to libinput_tablet_tool doc: tablet documentation updates Merge branch 'master' into tablet-support Add a missing closing ) in a comment Whitespace fix tablet: add two missing curly braces tablet: break up a condition to improve readability doc: fix double full stop test: use the double comparison macros tablet: drop the tool type 'finger' from the tablet interface test: add tablet pressure/distance test cases Ignore BTN_TOOL_* events when posting button events test: abort if we have a test that doesn't run for any devices test: if we're hovering, don't send BTN_TOUCH touchpad: don't try to position fake touches when no fingers are down tablet: drop pressure when either pressure or distance changed tablet: force the pressure/distance to 0 depending on contact state tools: print which scroll axis we have in event-debug test: always call libinput_dispatch after moving touches touchpad: don't set the axis for a 0.0 value in a scroll event evdev: make evdev_transform_absolute available within libinput tablet: enable the calibration matrix for internal tablets configure.ac: libinput 1.1.2 Merge branch 'master' into tablet-support test: use the double comparison macros test: change extra axes to take a percentage as well test: add the HUION PenTablet device test: change extra axes to take a percentage as well test: extend sendfile from 4kB to 40kB util: drop trailing semicolon from CASE_RETURN_STRING macro touchpad: add a special quirk for the Lenovo x220 with updated firmware test: set default axis values for all tablet devices tablet: add missing tip event to libinput_event_tablet_tool_get_base_event() test: fix copy/paste error in motion_delta_partial tools: print the wheel axis delta, not the axis value test: fix test for tablet rel wheel discrete deltas test: change tablet matrix test to use absolute x/y values Merge branch 'master' into tablet-support doc: add missing tablet-axes.svg tablet: drop unused condition test: add pressure axes to proximity in for the bamboo and the cintiq tablet: support tool-specific pressure offsets doc: a couple of tablet documentation fixes configure.ac: libinput 1.1.3 Merge branch 'master' into tablet-support doc: minor comment clarification test: use proper proximity events in tablet serial test test: modernise the tablet tool serial tests a bit evdev: drain any pending evdev events on a device tablet: rename axis_has_changed into an axis-specific API set tablet: rename axis_get_value into an axis-specific API set tablet: rename libinput_tablet_tool_has_axis into an axis-specific API set tablet: reduce event deltas to only apply to the wheel tablet: remove the libinput_tablet_tool_axis enum from the public API tablet: add tilt tests test: move litest_assert_ macros and helpers up to the rest of the defines doc: add missing @config tag to libinput_config_send_event_modes configure.ac: libinput 1.1.4 test: add litest_axis_set_value helper function tablet: dump deltas_discrete, replace with a single wheel_discrete variable tablet: dump deltas, replace it with a single wheel_delta variable tablet: unroll the tablet axis processing loop tablet: simplify check for testing if an axis update is needed tablet: simplify check for testing if an axis update is needed tablet: store the wheel delta in the normal axes tablet: split out axis handling into helper functions tablet: don't mark all axes changed on init tablet: simplify marking axes as changed tablet: add libinput_tablet_tool_is_unique() tablet: invert tilt axes when left-handed is enabled tablet: drop unused argument from tablet_mark_all_axes_changed tablet: handle custom proximity handling test: add two more tests for correct button sequence on proximity test: use the litest_axis_set_value helper Add event debugging to libinput_post_event tablet: split sanitize_tablet_axes up into two helpers test: fix a bunch of tablet tests to assume, rather than wait for events tablet: explicitly set the tip state on the proximity event doc: improve absolute axis documentation a bit doc: fix and improve the tablet documentation doc: add missing tip event to the allowed set of events tablet: insert "STATE" into proximity/tip states tools: print the button name too, not just the code doc: fix two grammar issues "of tablet tool" -> "of the tablet tool" tablet: whitespace fix tablet: always set the pressure offset test: fix a bunch of tablet tests for pressure threshold introduction tablet: add pressure threshold handling tablet: a tip event can replace an axis event tablet: don't set a pressure offset of 0 evdev: only reject devices with missing MT x/y if they're MT devices touchpad: drop outdated comment touchpad: whitespace fix doc: add section names to motion normalization subheaders touchpad: disable MT for elantech semi-mt touchpads tablet: allow the various get_<axis> on tablet button events tools: get pressure/distance/tilt from a tip event too tools: share the axis and tip code where appropriate tablet: use a struct rather than a double array for axis values tablet: drop delta array, provided by the tablet_axis struct now touchpad: drop the model detection - write-only value Merge branch 'master' into tablet-support test: fix compiler warning gestures: split direction check out into a helper function gestures: drop 2fg naming from the various states touchpad: constify a couple of helper functions gestures: pass the finger count into pinch events test: remove leftover debug_trace statement test: remove a wait loop from the usec gesture test test: run pinch gesture tests for 2-slot touchpads touchpad: check fake finger count for validity test: rearrange fingers for gesture tests test: change semi-mt 2fg scroll test to use two-finger movement gestures: add support for three-finger pinch gestures test: add more gesture tests gestures: if a finger is 20mm below the other one, assume a pinch gesture doc: explain the gesture ambiguity for 2-slot touchpads Merge branch 'wip/3-finger-pinch-gesture' touchpad: don't try to unhover touches if nothing changed test: when moving 2 fingers, move them in the same frame touchpad: disable MT for all semi-mt devices touchpad: disable gestures for single-finger touchpads tablet: add support for relative x/y motion deltas tablet: hook up relative motion events tools: add support for tablet relative events to the event-gui test: rename the tap tests suite name to "tap:..." test: shut up coverity warnings test: fix uninitialized variable tablet: fix potential null-pointer dereference touchpad: remove unused field multitap_last_time Merge branch 'wip/disable-semi-mt-gestures' touchpad: remove unused variable gestures: jump straight to swipe for 3+ finger gestures on ST touchpads gestures: jump straight to swipe for 3+ finger gestures on ST touchpads gestures: average motion by active touches, not moved touches Merge branch 'master' into tablet-support gestures: average motion by active touches, not moved touches touchpad: add a config option to disable tap-and-drag Merge branch 'master' into tablet-support Prepare tablet-support branch for merging Merge branch 'tablet-support' configure.ac: libinput 1.2rc1 tools: draw the pointer sprite last tools: split drawing commands into helper functions evdev: disable the mode button on the Cyborg RAT 5 test: add two gesture tests for scrolling with a thumb in the btnarea test: fix call to test_2fg_scroll doc: add the tablet support page to the related pages hierarchy doc: be more specific about tablet vs tablet tool tablet: change error message to TABLET_TOOL from TABLET test: fix printfs to say "TABLET TOOL" instead of "TABLET" test: check for BTN_TOOL_QUADTAP in the 4fg btntool tests test: exclude semi-mt devices from the normal 2fg scroll test touchpad: drop motion hysteresis by default test: fix the udev rule for the synaptics hover device test: fix leaking libevdev fd touchpad: while a key is held down, don't disable dwt touchpad: if we have a serio keyboard, override any previous dwt pairing tools: fix output to say TABLET_TOOL instead of just tablet Indentation fixes touchpad: fix dwt disabling while a key is still down tablet: change tilt axes to use degrees udev: fix ALPS firmware detection touchpad: init a default hysteresis for ALPS rushmore touchpads tablet: delay initial proximity in event until we have a serial tablet: move clearing the tilt bits up to where we reset the axes test: add test for left-handed mouse rotation on tablets tablet: fix artpen rotation on left-handed tablets Indentation fix tablet: move left-handed initialization into tablet_init test: add a simple test to guard against wrong library version changes doc: update tablet svg to show tilt as angle test: add Wacom Cintiq 24HD Pen test: add tablet test for out-of-bounds motion coordinates configure.ac: libinput 1.2rc2 touchpad: add synaptics semi-mt devices to those needing hysteresis touchpad: move the tapping exclusion zone to the top edge of the button tablet: use the tilt resolution if we have it configure.ac: libinput 1.2.0 Stephen Chandler Paul (49): Add bitfield helper functions from libdevdev-util.h and some tests evdev: Add basic support for tablet devices tools: handle TABLET_EVENT_AXIS in event-debug Add the libinput_tool object Emit LIBINPUT_TABLET_EVENT_TOOL_UPDATE events on tool changes tools: handle LIBINPUT_TABLET_EVENT_TOOL_UPDATE in event-debug Emit LIBINPUT_EVENT_TABLET_PROXIMITY_OUT when tool leaves proximity tools: Handle LIBINPUT_EVENT_TABLET_PROXIMITY_OUT in event-debug tablet: Handle button-events tools: handle tablet button events in event-debug tablet: Report and normalize distance, pressure, and tilt axes Sanitize distance and pressure axes before reporting their values tools: Handle pressure, tilt, and distance in event-debug test: Add litest_assert_double_*() macros test: Add proximity tests test: Add motion event test for tablets test: Add test for bad distance events test: Add tests for normalization tablet: remove parentheses around tablet_(un)set_status tablet: Clear pressure axis when tool loses contact with the tablet evdev: Continue updating axes internally when tool leaves proximity evdev: Add tablet_mark_all_axes_changed() evdev: Update all axes when the tool comes back into proximity test: Add tests for serial numbers on tools tablet: Fix warnings in test/tablet.c tablet: Stop redundant proximity-out events from being reported tablet: Remove tablet_notify_tool() and add tablet_get_tool() tablet: Replace tool-update with proximity-in tablet: Include tool with all events tablet: Include axes with all events tablet: Rename TILT_VERTICAL and TILT_HORIZONTAL to TILT_X and TILT_Y tablet: Don't swap X and Y in evcode_to_axis() tablet: fix get_x_transformed() and get_y_transformed() tablet: Add libinput_tool_get/set_user_data() tablet: Use separate tool objects for tools without serials tablet: Add libinput_tool_has_axis() and tests evdev.c: Return from evdev_configure_device() after configuring a device as a tablet tablet: Remove leftover-comment tablet: Set the tool as out of proximity by default when we initialize a tablet tablet: Add a left handed mode and tests tablet: Make note of filtering out events while the tool is out of proximity tablet: Merge PROXIMITY_IN and PROXIMITY_OUT into a single event event-debug: Increase spacing after the event-type tablet: Include starting values of axes in proximity events tablet: Update motion_event_state test to use litest_tablet_motion() tablet: Add tests for axes on proximity events tablet: mark all axes as unchanged before the proximity out event tablet: Add tests for axes on proximity events test: Add litest_assert_double_*() macros Tomi Leppänen (1): Documentation fixes to arrows in svg files git tag: 1.2.0 http://www.freedesktop.org/software/libinput/libinput-1.2.0.tar.xz MD5: 2f6376a44be87fe691b2bf11e51d247a libinput-1.2.0.tar.xz SHA1: ff5f43367cc3e672865484a9d0a196df068733cc libinput-1.2.0.tar.xz SHA256: 1754b917fe675507ea80445b4f2e91d76cb6a6935508fe37234807affb316e2c libinput-1.2.0.tar.xz PGP: http://www.freedesktop.org/software/libinput/libinput-1.2.0.tar.xz.sig
signature.asc
Description: PGP signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel