From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.bugs Subject: bug#57526: 29.0.50; Precise pixel-scrolling works great with touchpad but not with mouse wheel Date: Thu, 01 Sep 2022 15:48:43 +0200 Message-ID: <87edwvqi16.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16451"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.9.0; emacs 29.0.50 To: 57526@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Sep 01 16:53:13 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oTlZB-00042T-88 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 01 Sep 2022 16:53:13 +0200 Original-Received: from localhost ([::1]:34810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTlZA-00080x-6i for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 01 Sep 2022 10:53:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTlUA-0002a4-Tm for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:48:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54090) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTlUA-0001Az-Ji for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oTlUA-0003iE-Fj for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:48:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tassilo Horn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Sep 2022 14:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57526 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166204362214062 (code B ref -1); Thu, 01 Sep 2022 14:48:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 1 Sep 2022 14:47:02 +0000 Original-Received: from localhost ([127.0.0.1]:43832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oTlTC-0003eV-19 for submit@debbugs.gnu.org; Thu, 01 Sep 2022 10:47:02 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:60910) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oTlT7-0003eI-RZ for submit@debbugs.gnu.org; Thu, 01 Sep 2022 10:47:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTlT7-0001Bt-Kx for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:46:57 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35756) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTlI9-0007Jd-Sf for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:35:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=kIK+48OT6LUJhAE6B9YJsQ49As3TB4AwQy17IF+D5jA=; b=nSqJgUs7eMl7HZ nCRE9QxECTCbm81kv13JjPkW21X3bsNwKvuJ3O5n5WSfOS1XGD7OX0+v8rsRl0v1Zw/MTUrsEk3cx XPoFQVFAQw8y3X7M1N3sgQWaoSZ3dWognWENYWwZob4dgMRZrkMx/EhFXP9mTJLrLP1grJqzoM4uz ONgbAMH89Ac68YIXwqu/32i3W+L4nltzJK9N5bZ/1Gc3tCPPz554QT1IRWOpYvosOhY7AEXGU4eY+ B5JP7qqZ4whg17aEvR4dI1L4TW139myNiSDykXpUJC3miFAUvSBk5xkBgD6AKM3aY8u0+J9nn3zEl r70estNxlDlcFuIvX48Q==; Original-Received: from auth2-smtp.messagingengine.com ([66.111.4.228]:51891) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTlI9-0000nq-KW for bug-gnu-emacs@gnu.org; Thu, 01 Sep 2022 10:35:37 -0400 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailauth.nyi.internal (Postfix) with ESMTP id 81B8F27C005A for ; Thu, 1 Sep 2022 10:35:36 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 01 Sep 2022 10:35:36 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdekkedgjeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegfhffvufffkfggtgesthdtredttd ertdenucfhrhhomhepvfgrshhsihhlohcujfhorhhnuceothhsughhsehgnhhurdhorhhg qeenucggtffrrghtthgvrhhnpeduvdeuveejfeekueffieffhfethfdviedutddtgfeivd dvhfevffelgfdujeetveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpehthhhorhhnodhmvghsmhhtphgruhhthhhpvghrshhonhgrlhhithihqd ekieejfeekjeekgedqieefhedvleekqdhtshguhheppehgnhhurdhorhhgsehfrghsthhm rghilhdrfhhm X-ME-Proxy: Feedback-ID: ib2b94485:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Thu, 1 Sep 2022 10:35:35 -0400 (EDT) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:241265 Archived-At: 1. emacs -Q 2. In *scratch* evaluate (pixel-scroll-mode 1) (setq pixel-scroll-precision-use-momentum t) (pixel-scroll-precision-mode 1) The result for me is that scrolling with my notebook's touchpad is precise and uses momentum. But scrolling with the mouse wheel seems to scroll about 8 lines with each "click" of the wheel in one redisplay (so it's not smooth at all) and there seems to be no momentum (which is probably correct because the wheel doesn't give the ability to stop momentum scrolling). C-h k reports that wheel-down/up are bound to pixel-scroll-precision. On the touchpad it seems next to wheel-down/up events a final touch-end event is generated starting the momentum scrolling. The reason for the difference is that the EVENTs passed to pixel-scroll-precision have very different delta values. The touchpad events command emacs to scroll about 20 pixels, the mouse wheel events command it to scroll 150 pixels. I see there's some interpolation feature which might be relevant but I don't get into that code path because (device-class last-event-frame last-event-device) returns core-keyboard instead of mouse. I get that value in both the case where I scrolled using touchpad as well as mouse. When I typed something with the real keyboard, it says just keyboard. In GNU Emacs 29.0.50 (build 13, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, cairo version 1.17.6) of 2022-09-01 built on thinkpad-t440p Repository revision: 67b85decc7702c24f2904e60e3eecfc2bfca5ab6 Repository branch: master System Description: Arch Linux Configured using: 'configure --with-pgtk --with-native-compilation --with-xinput2' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: de_DE.utf8 value of $LC_NUMERIC: de_DE.utf8 value of $LC_TIME: de_DE.utf8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: symbol-overlay-mode: t display-fill-column-indicator-mode: t editorconfig-mode: t debbugs-browse-mode: t hl-todo-mode: t global-aggressive-indent-mode: t aggressive-indent-mode: t pdf-occur-global-minor-mode: t dirvish-override-dired-mode: t diredfl-global-mode: t which-key-mode: t highlight-parentheses-mode: t global-corfu-mode: t corfu-mode: t yas-global-mode: t yas-minor-mode: t outline-minor-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t bug-reference-prog-mode: t vertico-mode: t marginalia-mode: t minibuffer-depth-indicate-mode: t electric-pair-mode: t recentf-mode: t pixel-scroll-precision-mode: t pixel-scroll-mode: t override-global-mode: t save-place-mode: t savehist-mode: t shell-dirtrack-mode: t puni-global-mode: t puni-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: ~/Repos/el/mu/build/mu4e/mu4e hides ~/Repos/el/mu/mu4e/mu4e ~/Repos/el/mu/build/mu4e/mu4e-main hides ~/Repos/el/mu/mu4e/mu4e-main ~/Repos/el/mu/build/mu4e/mu4e-view hides ~/Repos/el/mu/mu4e/mu4e-view ~/Repos/el/mu/build/mu4e/mu4e-org hides ~/Repos/el/mu/mu4e/mu4e-org ~/Repos/el/mu/build/mu4e/mu4e-lists hides ~/Repos/el/mu/mu4e/mu4e-lists ~/Repos/el/mu/build/mu4e/mu4e-actions hides ~/Repos/el/mu/mu4e/mu4e-actions ~/Repos/el/mu/build/mu4e/mu4e-helpers hides ~/Repos/el/mu/mu4e/mu4e-helpers ~/Repos/el/mu/build/mu4e/mu4e-search hides ~/Repos/el/mu/mu4e/mu4e-search ~/Repos/el/mu/build/mu4e/mu4e-server hides ~/Repos/el/mu/mu4e/mu4e-server ~/Repos/el/mu/build/mu4e/mu4e-obsolete hides ~/Repos/el/mu/mu4e/mu4e-obsolete ~/Repos/el/mu/build/mu4e/mu4e-update hides ~/Repos/el/mu/mu4e/mu4e-update ~/Repos/el/mu/build/mu4e/mu4e-context hides ~/Repos/el/mu/mu4e/mu4e-context ~/Repos/el/mu/build/mu4e/mu4e-draft hides ~/Repos/el/mu/mu4e/mu4e-draft ~/Repos/el/mu/build/mu4e/mu4e-bookmarks hides ~/Repos/el/mu/mu4e/mu4e-bookmarks ~/Repos/el/mu/build/mu4e/mu4e-message hides ~/Repos/el/mu/mu4e/mu4e-message ~/Repos/el/mu/build/mu4e/mu4e-compose hides ~/Repos/el/mu/mu4e/mu4e-compose ~/Repos/el/mu/build/mu4e/mu4e-headers hides ~/Repos/el/mu/mu4e/mu4e-headers ~/Repos/el/mu/build/mu4e/mu4e-mark hides ~/Repos/el/mu/mu4e/mu4e-mark ~/Repos/el/mu/build/mu4e/mu4e-contacts hides ~/Repos/el/mu/mu4e/mu4e-contacts ~/Repos/el/mu/build/mu4e/mu4e-icalendar hides ~/Repos/el/mu/mu4e/mu4e-icalendar ~/Repos/el/mu/build/mu4e/mu4e-folders hides ~/Repos/el/mu/mu4e/mu4e-folders ~/Repos/el/mu/build/mu4e/mu4e-speedbar hides ~/Repos/el/mu/mu4e/mu4e-speedbar ~/Repos/el/mu/build/mu4e/mu4e-contrib hides ~/Repos/el/mu/mu4e/mu4e-contrib ~/Repos/el/mu/build/mu4e/mu4e-vars hides ~/Repos/el/mu/mu4e/mu4e-vars /home/horn/.emacs.d/elpa/transient-20220806.2224/transient hides /home/horn/Repos/el/emacs/lisp/transient Features: (shadow emacsbug xref gnus-fun dabbrev cursor-sensor cape-keyword cape shortdoc rect delsel executable symbol-overlay misearch multi-isearch editorconfig-core editorconfig-core-handle editorconfig-fnmatch project consult-vertico consult-icomplete consult compat-28 cl-print sort gnus-cite mm-archive mail-extr qp textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check view puni pulse display-fill-column-indicator generic yaml-mode fish-mode cargo cargo-process rust-utils rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo web-mode disp-table preview-latex tex-site editorconfig elfeed-show elfeed-search vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view debbugs-browse elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree generator url-queue xml-query socks elpher hl-todo aggressive-indent rainbow-mode pdf-occur tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch pdf-misc pdf-tools pdf-view jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode exif vc-git vc-dir ewoc epa-file rdictcc dirvish so-long diredfl dired-x mu4e-icalendar gnus-icalendar org-capture org-refile icalendar diary-lib diary-loaddefs mu4e mu4e-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs mu4e-main mu4e-view cal-menu calendar cal-loaddefs mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message flow-fill mule-util hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-server mu4e-context mu4e-obsolete mu4e-vars mu4e-helpers mu4e-config magit-bookmark bookmark ido ecomplete auto-dictionary flyspell ispell tramp-smb which-key highlight-parentheses restclient kind-icon svg-lib corfu yasnippet forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub let-alist forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml forge-post markdown-mode color thingatpt noutline outline forge-repo forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu edebug debug backtrace find-func magit-diff smerge-mode diff diff-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor server magit-mode magit-git magit-base magit-section crm dash compat-27 compat-26 pcase visual-filename-abbrev rg vc vc-dispatcher rg-info-hack advice rg-menu transient comp comp-cstr compat compat-macs rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header ibuf-ext ibuffer ibuffer-loaddefs grep compile debbugs soap-client url-http url-auth url-gw nsm warnings rng-xsd rng-dt rng-util xsd-regexp bug-reference vertico marginalia icomplete mb-depth use-package-diminish ace-window avy elec-pair recentf tree-widget pixel-scroll cua-base edmacro kmacro use-package-bind-key bind-key diminish saveplace savehist smiley gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util text-property-search mail-utils range doom-themes-ext-org doom-themes-ext-visual-bell face-remap doom-Iosvkem-theme doom-themes doom-themes-base use-package-ensure quelpa-use-package cl-extra use-package-core quelpa mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr lisp-mnt help-fns radix-tree help-mode finder-inf tramp rx tramp-loaddefs trampver tramp-integration cus-edit pp cus-load icons wid-edit files-x tramp-compat shell pcomplete comint ansi-color ring parse-time iso8601 time-date ls-lisp format-spec aggressive-indent-autoloads cape-autoloads cargo-autoloads clojure-mode-autoloads consult-eglot-autoloads consult-autoloads corfu-autoloads csv-mode-autoloads debbugs-autoloads diredfl-autoloads dirvish-autoloads doom-themes-autoloads editorconfig-autoloads eglot-autoloads elfeed-autoloads elpher-autoloads ement-autoloads expand-region-autoloads fish-mode-autoloads forge-autoloads closql-autoloads ghub-autoloads hl-todo-autoloads magit-autoloads git-commit-autoloads marginalia-autoloads markdown-mode-autoloads pdf-tools-autoloads plz-autoloads puni-autoloads easy-mmode quelpa-autoloads rainbow-mode-autoloads rcirc-color-autoloads rust-mode-autoloads symbol-overlay-autoloads tablist-autoloads taxy-magit-section-autoloads taxy-autoloads magit-section-autoloads transient-autoloads use-package-autoloads bind-key-autoloads vertico-autoloads web-mode-autoloads which-key-autoloads with-editor-autoloads info compat-autoloads yaml-autoloads yaml-mode-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1145563 194767) (symbols 48 53673 11) (strings 32 285446 22601) (string-bytes 1 8850372) (vectors 16 150139) (vector-slots 8 3141153 227342) (floats 8 1206 1149) (intervals 56 28710 8078) (buffers 1000 40))