{"id":49405,"date":"2025-08-03T16:37:57","date_gmt":"2025-08-03T16:37:57","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=49405"},"modified":"2025-08-03T16:38:12","modified_gmt":"2025-08-03T16:38:12","slug":"libinput-1-29-0-released-with-new-tablet-pad-debugging-tool","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2025\/08\/libinput-1-29-0-released-with-new-tablet-pad-debugging-tool\/","title":{"rendered":"libinput 1.29.0 Released with New Tablet Pad Debugging Tool"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-49406\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/touch-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p>Libinput, the free open-source input library and driver, released new 1.29.0 version few days ago.<\/p>\n<p>Libinput is a popular input library, that&#8217;s default in Ubuntu, Fedora, and many other Linux Distributions, for handling mice, keyboards, touchpads\/touchscreens, and other input devices.<br \/>\n<!--more--><\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49407\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad-700x523.webp\" alt=\"\" width=\"610\" height=\"456\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad-700x523.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad-300x224.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad-768x574.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/08\/libinput-man-tabletpad.webp 810w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>The new release of the library introduced new <code><b>libinput debug-tablet-pad<\/b><\/code> command line tool. As you see in the screenshot above, it shows an interactive interface showing the values when you press on buttons or rotate the screen. This is useful for debugging, scripting, or even remapping purpose.<\/p>\n<p>For tablet tools with an fixed eraser button, this release added new set of configuration options, allowing to either configure that eraser button to be a regular button or even disable it.<\/p>\n<p>Libinput 1.29.0 implemented an <b>internal plugin pipeline<\/b>, preparing the way for public plugins, planned for next 1.30 version.<\/p>\n<blockquote><p><i>The biggest internal change is the implementation of an internal plugin pipeline. Kernel evdev event frames are now passed through a pipeline of plugins that can modify and\/or emulate additional events and frames in the process. This allowed us to move a few internal features to plugins, making them more self-contained and easier to maintain.<\/i><\/p><\/blockquote>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-34010\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage-600x373.jpg\" alt=\"\" width=\"600\" height=\"373\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage-600x373.jpg 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage-300x187.jpg 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage-768x478.jpg 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/touchpad-featureimage.jpg 1100w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>The release also introduced new heuristic for detecting inadvertent scroll wheel movement, resulting in better responsiveness for most devices.<\/p>\n<p>It fixed jerky motion and cursor jump issues on some Asus &#8220;ASUE&#8230;&#8221; touchpads. And, it now detects virtual devices (e.g. uinput) and disables some internal features (e.g., the scroll wheel heuristics and tablet smoothing).<\/p>\n<p>There are as well many new quirks added\/updated in the release for particular input devices. They include:<\/p>\n<ul>\n<li>touchpad quirk for ThinkBook 16 G7+ ASP.<\/li>\n<li>disable BTN_RIGHT on MS Surface Pro Flex Keyboard.<\/li>\n<li>add Contour Design RollerMouse USB Receiver.<\/li>\n<li>add quirk for Asus ROG Flow Z13 2025 (GZ302EA) tablet.<\/li>\n<li>add quirk for the RazerBladeLate2020Base keyboard.<\/li>\n<\/ul>\n<h3>Get Libinput 1.29.0<\/h3>\n<p>More details about the new release as well as the source tarball are available in the project page via the link below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/gitlab.freedesktop.org\/libinput\/libinput\/-\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Libinput Releases<\/a><\/div>\n<\/div>\n<p>For Ubuntu, besides building from the source, you may look <a href=\"https:\/\/launchpad.net\/ubuntu\/+ppas?name_filter=libinput\" target=\"_blank\" rel=\"noopener\">HERE<\/a> for community maintained packages, though they are NOT officially supported.<\/p>\n<p>And, I have an <a href=\"https:\/\/launchpad.net\/~ubuntuhandbook1\/+archive\/ubuntu\/libinput\" target=\"_blank\" rel=\"noopener\">unofficial PPA<\/a> contains 1.28.1 target for three finger drag support. I&#8217;m not going to update it, but feel free to leave comment below if you do want to try out libinput 1.29.0.<\/p>","protected":false},"excerpt":{"rendered":"<p>Libinput, the free open-source input library and driver, released new 1.29.0 version few days ago. Libinput is a popular input library, that&#8217;s default in Ubuntu, Fedora, and many other Linux Distributions, for handling mice, keyboards, touchpads\/touchscreens, and other input devices.<\/p>\n","protected":false},"author":1,"featured_media":49406,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[2236],"class_list":["post-49405","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-input"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=49405"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49405\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/49406"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=49405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=49405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=49405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}