GNU bug report logs - #55411
29.0.50; handle_one_xevent (xterm.c) incorrectly considers button 8 as a wheel

Previous Next

Package: emacs;

Reported by: Derek Upham <derek_upham <at> mailfence.com>

Date: Sat, 14 May 2022 15:29:01 UTC

Severity: normal

Found in version 29.0.50

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55411 in the body.
You can then email your comments to 55411 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#55411; Package emacs. (Sat, 14 May 2022 15:29:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Derek Upham <derek_upham <at> mailfence.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 14 May 2022 15:29:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Derek Upham <derek_upham <at> mailfence.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; handle_one_xevent (xterm.c) incorrectly considers button 8
 as a wheel
Date: Sat, 14 May 2022 08:28:26 -0700
The handle_one_xevent function in xterm.c has code to re-interpret
X11 button events as wheel events:

    if (xev->detail >= 4 && xev->detail <= 8)
      {
        if (xev->evtype == XI_ButtonRelease)
          {
            if (xev->detail <= 5)
              inev.ie.kind = WHEEL_EVENT;
            else
              inev.ie.kind = HORIZ_WHEEL_EVENT;

The current logic assigns buttons 4 and 5 to WHEEL_EVENT, and buttons 6, 7,
*and* 8 as horizontal wheel events.

The libinput(4) manual says the following in its section "BUTTON
MAPPING":

  X clients receive events with logical button numbers, where 1, 2, 3 are
  usually interpreted as left, middle, right and logical buttons 4, 5, 6,
  7 are usually interpreted as scroll up, down, left, right.  The fourth
  and fifth physical buttons on a device will thus send logical buttons 8
  and 9.

This means Emacs doesn't follow the X11 conventions around scroll
buttons.  My particular failure mode is with a Perfit Contour Mouse,
which has three standard buttons (1, 2, 3), a vertical wheel (4, 5) and
a hat switch (8, 9).  Emacs interprets one hat switch direction as a
horizontal wheel event (button 8), while the other switch direction is a
normal button (button 9).

The GTK code has a comparable bug, with different numbers and comparison
operators:

    if (xev->detail > 3 && xev->detail < 9 && f)
      {
        if (xev->evtype == XI_ButtonRelease)
          {
            if (FRAME_X_WINDOW (f) != xev->event)
              XTranslateCoordinates (dpyinfo->display, xev->event,
                                     FRAME_X_WINDOW (f), real_x,
                                     real_y, &real_x, &real_y, &child);

            if (xev->detail <= 5)
              inev.ie.kind = WHEEL_EVENT;
            else
              inev.ie.kind = HORIZ_WHEEL_EVENT;



In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0)
 of 2022-05-09, unofficial emacs-snapshot build: http://emacs.secretsauce.net built on lilbastard
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-native-compilation
 --with-pop=yes
 --enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/29.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.0.50/site-lisp:/usr/share/emacs/site-lisp
 --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-native-compilation --with-pop=yes
 --enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/29.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.0.50/site-lisp:/usr/share/emacs/site-lisp
 --with-x=yes --with-imagemagick --with-x-toolkit=gtk3
 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/emacs-snapshot-Bw8doU/emacs-snapshot-20220509+emacs-28.1-155718-g6fc54786c3b=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall -fno-omit-frame-pointer'
 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3
ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: C/*lahw

Minor modes in effect:
  bug-reference-prog-mode: t
  which-function-mode: t
  subword-mode: t
  amx-mode: t
  shell-dirtrack-mode: t
  global-corfu-mode: t
  corfu-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  minibuffer-depth-indicate-mode: t
  minibuffer-electric-default-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
~/.elisp-local/slime-autoloads hides /home/sand/.emacs.d/elpa/slime-20220302.1215/slime-autoloads
~/.elisp-local/slime hides /home/sand/.emacs.d/elpa/slime-20220302.1215/slime
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-vm-aux hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-vm-aux
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-snarf hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-snarf
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-pgp hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-pgp
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-gnus hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-gnus
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-anniv hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-anniv
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-migrate hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-migrate
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-message hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-message
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-gnus-aux hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-gnus-aux
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-wl hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-wl
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-pkg hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-pkg
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-ispell hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-ispell
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-mua hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-mua
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-sc hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-sc
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-mhe hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-mhe
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-site hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-site
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-com hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-com
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-rmail hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-rmail
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-tex hides /usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-tex
/home/sand/.emacs.d/elpa/miniedit-20100419.1745/miniedit hides /usr/share/emacs/29.0.50/site-lisp/emacs-goodies-el/miniedit
/home/sand/.emacs.d/elpa/htmlize-20210825.2150/htmlize hides /usr/share/emacs/29.0.50/site-lisp/emacs-goodies-el/htmlize
/home/sand/src/x11/sawfish-git/sawfish hides /usr/share/emacs/29.0.50/site-lisp/sawfish/sawfish
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-pkg hides /usr/share/emacs/29.0.50/site-lisp/elpa/slime-2.27/slime-pkg
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-tests hides /usr/share/emacs/29.0.50/site-lisp/elpa/slime-2.27/slime-tests
~/.elisp-local/slime-autoloads hides /usr/share/emacs/29.0.50/site-lisp/elpa/slime-2.27/slime-autoloads
~/.elisp-local/slime hides /usr/share/emacs/29.0.50/site-lisp/elpa/slime-2.27/slime
~/.elisp-local/slime-repl hides /usr/share/emacs/29.0.50/site-lisp/elpa/slime-2.27/contrib/slime-repl
/usr/share/emacs/29.0.50/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-pgp hides /usr/share/emacs/site-lisp/bbdb3/bbdb-pgp
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-anniv hides /usr/share/emacs/site-lisp/bbdb3/bbdb-anniv
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-message hides /usr/share/emacs/site-lisp/bbdb3/bbdb-message
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-gnus-aux hides /usr/share/emacs/site-lisp/bbdb3/bbdb-gnus-aux
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-pkg hides /usr/share/emacs/site-lisp/bbdb3/bbdb-pkg
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-mua hides /usr/share/emacs/site-lisp/bbdb3/bbdb-mua
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-vm-aux hides /usr/share/emacs/site-lisp/bbdb3/bbdb-vm-aux
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-site hides /usr/share/emacs/site-lisp/bbdb3/bbdb-site
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-snarf hides /usr/share/emacs/site-lisp/bbdb3/bbdb-snarf
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-wl hides /usr/share/emacs/site-lisp/bbdb3/bbdb-wl
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-ispell hides /usr/share/emacs/site-lisp/bbdb3/bbdb-ispell
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-mhe hides /usr/share/emacs/site-lisp/bbdb3/bbdb-mhe
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-sc hides /usr/share/emacs/site-lisp/bbdb3/bbdb-sc
/usr/share/emacs/29.0.50/site-lisp/bbdb3/bbdb-loaddefs hides /usr/share/emacs/site-lisp/bbdb3/bbdb-loaddefs
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-vm hides /usr/share/emacs/site-lisp/bbdb3/bbdb-vm
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-mu4e hides /usr/share/emacs/site-lisp/bbdb3/bbdb-mu4e
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-com hides /usr/share/emacs/site-lisp/bbdb3/bbdb-com
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-rmail hides /usr/share/emacs/site-lisp/bbdb3/bbdb-rmail
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-gnus hides /usr/share/emacs/site-lisp/bbdb3/bbdb-gnus
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb hides /usr/share/emacs/site-lisp/bbdb3/bbdb
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-migrate hides /usr/share/emacs/site-lisp/bbdb3/bbdb-migrate
/home/sand/.emacs.d/elpa/bbdb-20220416.405/bbdb-tex hides /usr/share/emacs/site-lisp/bbdb3/bbdb-tex
/home/sand/src/x11/sawfish-git/sawfish hides /usr/share/emacs/site-lisp/sawfish/sawfish
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-pkg hides /usr/share/emacs/site-lisp/elpa/slime-2.27/slime-pkg
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-tests hides /usr/share/emacs/site-lisp/elpa/slime-2.27/slime-tests
~/.elisp-local/slime-autoloads hides /usr/share/emacs/site-lisp/elpa/slime-2.27/slime-autoloads
~/.elisp-local/slime hides /usr/share/emacs/site-lisp/elpa/slime-2.27/slime
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-pkg hides /usr/share/emacs/site-lisp/elpa-src/slime-2.27/slime-pkg
/home/sand/.emacs.d/elpa/slime-20220302.1215/slime-tests hides /usr/share/emacs/site-lisp/elpa-src/slime-2.27/slime-tests
~/.elisp-local/slime-autoloads hides /usr/share/emacs/site-lisp/elpa-src/slime-2.27/slime-autoloads
~/.elisp-local/slime hides /usr/share/emacs/site-lisp/elpa-src/slime-2.27/slime
/home/sand/.emacs.d/elpa/transient-20220503.1118/transient hides /usr/share/emacs/29.0.50/lisp/transient
/home/sand/.emacs.d/elpa/org-20210913/ob-sed hides /usr/share/emacs/29.0.50/lisp/org/ob-sed
/home/sand/.emacs.d/elpa/org-20210913/org-duration hides /usr/share/emacs/29.0.50/lisp/org/org-duration
/home/sand/.emacs.d/elpa/org-20210913/ob-tangle hides /usr/share/emacs/29.0.50/lisp/org/ob-tangle
/home/sand/.emacs.d/elpa/org-20210913/ol-eww hides /usr/share/emacs/29.0.50/lisp/org/ol-eww
/home/sand/.emacs.d/elpa/org-20210913/org-macro hides /usr/share/emacs/29.0.50/lisp/org/org-macro
/home/sand/.emacs.d/elpa/org-20210913/org-colview hides /usr/share/emacs/29.0.50/lisp/org/org-colview
/home/sand/.emacs.d/elpa/org-20210913/org-datetree hides /usr/share/emacs/29.0.50/lisp/org/org-datetree
/home/sand/.emacs.d/elpa/org-20210913/ox-icalendar hides /usr/share/emacs/29.0.50/lisp/org/ox-icalendar
/home/sand/.emacs.d/elpa/org-20210913/ob-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-lisp
/home/sand/.emacs.d/elpa/org-20210913/ol-irc hides /usr/share/emacs/29.0.50/lisp/org/ol-irc
/home/sand/.emacs.d/elpa/org-20210913/org-pcomplete hides /usr/share/emacs/29.0.50/lisp/org/org-pcomplete
/home/sand/.emacs.d/elpa/org-20210913/ob-lilypond hides /usr/share/emacs/29.0.50/lisp/org/ob-lilypond
/home/sand/.emacs.d/elpa/org-20210913/org-num hides /usr/share/emacs/29.0.50/lisp/org/org-num
/home/sand/.emacs.d/elpa/org-20210913/org-mobile hides /usr/share/emacs/29.0.50/lisp/org/org-mobile
/home/sand/.emacs.d/elpa/org-20210913/org-crypt hides /usr/share/emacs/29.0.50/lisp/org/org-crypt
/home/sand/.emacs.d/elpa/org-20210913/ob-forth hides /usr/share/emacs/29.0.50/lisp/org/ob-forth
/home/sand/.emacs.d/elpa/org-20210913/ox-man hides /usr/share/emacs/29.0.50/lisp/org/ox-man
/home/sand/.emacs.d/elpa/org-20210913/org-attach-git hides /usr/share/emacs/29.0.50/lisp/org/org-attach-git
/home/sand/.emacs.d/elpa/org-20210913/ob-js hides /usr/share/emacs/29.0.50/lisp/org/ob-js
/home/sand/.emacs.d/elpa/org-20210913/ob-eshell hides /usr/share/emacs/29.0.50/lisp/org/ob-eshell
/home/sand/.emacs.d/elpa/org-20210913/ob-gnuplot hides /usr/share/emacs/29.0.50/lisp/org/ob-gnuplot
/home/sand/.emacs.d/elpa/org-20210913/org-keys hides /usr/share/emacs/29.0.50/lisp/org/org-keys
/home/sand/.emacs.d/elpa/org-20210913/ob-dot hides /usr/share/emacs/29.0.50/lisp/org/ob-dot
/home/sand/.emacs.d/elpa/org-20210913/org-protocol hides /usr/share/emacs/29.0.50/lisp/org/org-protocol
/home/sand/.emacs.d/elpa/org-20210913/ol-bibtex hides /usr/share/emacs/29.0.50/lisp/org/ol-bibtex
/home/sand/.emacs.d/elpa/org-20210913/ob-latex hides /usr/share/emacs/29.0.50/lisp/org/ob-latex
/home/sand/.emacs.d/elpa/org-20210913/org-attach hides /usr/share/emacs/29.0.50/lisp/org/org-attach
/home/sand/.emacs.d/elpa/org-20210913/org-tempo hides /usr/share/emacs/29.0.50/lisp/org/org-tempo
/home/sand/.emacs.d/elpa/org-20210913/ob-maxima hides /usr/share/emacs/29.0.50/lisp/org/ob-maxima
/home/sand/.emacs.d/elpa/org-20210913/ob-css hides /usr/share/emacs/29.0.50/lisp/org/ob-css
/home/sand/.emacs.d/elpa/org-20210913/ob-haskell hides /usr/share/emacs/29.0.50/lisp/org/ob-haskell
/home/sand/.emacs.d/elpa/org-20210913/ob-matlab hides /usr/share/emacs/29.0.50/lisp/org/ob-matlab
/home/sand/.emacs.d/elpa/org-20210913/org-compat hides /usr/share/emacs/29.0.50/lisp/org/org-compat
/home/sand/.emacs.d/elpa/org-20210913/ob-awk hides /usr/share/emacs/29.0.50/lisp/org/ob-awk
/home/sand/.emacs.d/elpa/org-20210913/ol-gnus hides /usr/share/emacs/29.0.50/lisp/org/ol-gnus
/home/sand/.emacs.d/elpa/org-20210913/ox-html hides /usr/share/emacs/29.0.50/lisp/org/ox-html
/home/sand/.emacs.d/elpa/org-20210913/ol-mhe hides /usr/share/emacs/29.0.50/lisp/org/ol-mhe
/home/sand/.emacs.d/elpa/org-20210913/ob-org hides /usr/share/emacs/29.0.50/lisp/org/ob-org
/home/sand/.emacs.d/elpa/org-20210913/ob-sass hides /usr/share/emacs/29.0.50/lisp/org/ob-sass
/home/sand/.emacs.d/elpa/org-20210913/org-faces hides /usr/share/emacs/29.0.50/lisp/org/org-faces
/home/sand/.emacs.d/elpa/org-20210913/org-entities hides /usr/share/emacs/29.0.50/lisp/org/org-entities
/home/sand/.emacs.d/elpa/org-20210913/ob-C hides /usr/share/emacs/29.0.50/lisp/org/ob-C
/home/sand/.emacs.d/elpa/org-20210913/ob-java hides /usr/share/emacs/29.0.50/lisp/org/ob-java
/home/sand/.emacs.d/elpa/org-20210913/ob-makefile hides /usr/share/emacs/29.0.50/lisp/org/ob-makefile
/home/sand/.emacs.d/elpa/org-20210913/ob-shell hides /usr/share/emacs/29.0.50/lisp/org/ob-shell
/home/sand/.emacs.d/elpa/org-20210913/ob-sqlite hides /usr/share/emacs/29.0.50/lisp/org/ob-sqlite
/home/sand/.emacs.d/elpa/org-20210913/ob-screen hides /usr/share/emacs/29.0.50/lisp/org/ob-screen
/home/sand/.emacs.d/elpa/org-20210913/org hides /usr/share/emacs/29.0.50/lisp/org/org
/home/sand/.emacs.d/elpa/org-20210913/ox hides /usr/share/emacs/29.0.50/lisp/org/ox
/home/sand/.emacs.d/elpa/org-20210913/ox-texinfo hides /usr/share/emacs/29.0.50/lisp/org/ox-texinfo
/home/sand/.emacs.d/elpa/org-20210913/ol-bbdb hides /usr/share/emacs/29.0.50/lisp/org/ol-bbdb
/home/sand/.emacs.d/elpa/org-20210913/org-loaddefs hides /usr/share/emacs/29.0.50/lisp/org/org-loaddefs
/home/sand/.emacs.d/elpa/org-20210913/ob-perl hides /usr/share/emacs/29.0.50/lisp/org/ob-perl
/home/sand/.emacs.d/elpa/org-20210913/org-lint hides /usr/share/emacs/29.0.50/lisp/org/org-lint
/home/sand/.emacs.d/elpa/org-20210913/org-goto hides /usr/share/emacs/29.0.50/lisp/org/org-goto
/home/sand/.emacs.d/elpa/org-20210913/org-timer hides /usr/share/emacs/29.0.50/lisp/org/org-timer
/home/sand/.emacs.d/elpa/org-20210913/ol hides /usr/share/emacs/29.0.50/lisp/org/ol
/home/sand/.emacs.d/elpa/org-20210913/ob-ref hides /usr/share/emacs/29.0.50/lisp/org/ob-ref
/home/sand/.emacs.d/elpa/org-20210913/org-clock hides /usr/share/emacs/29.0.50/lisp/org/org-clock
/home/sand/.emacs.d/elpa/org-20210913/ox-odt hides /usr/share/emacs/29.0.50/lisp/org/ox-odt
/home/sand/.emacs.d/elpa/org-20210913/ol-rmail hides /usr/share/emacs/29.0.50/lisp/org/ol-rmail
/home/sand/.emacs.d/elpa/org-20210913/ob-processing hides /usr/share/emacs/29.0.50/lisp/org/ob-processing
/home/sand/.emacs.d/elpa/org-20210913/org-src hides /usr/share/emacs/29.0.50/lisp/org/org-src
/home/sand/.emacs.d/elpa/org-20210913/ob-eval hides /usr/share/emacs/29.0.50/lisp/org/ob-eval
/home/sand/.emacs.d/elpa/org-20210913/org-habit hides /usr/share/emacs/29.0.50/lisp/org/org-habit
/home/sand/.emacs.d/elpa/org-20210913/ox-beamer hides /usr/share/emacs/29.0.50/lisp/org/ox-beamer
/home/sand/.emacs.d/elpa/org-20210913/ob-core hides /usr/share/emacs/29.0.50/lisp/org/ob-core
/home/sand/.emacs.d/elpa/org-20210913/ox-md hides /usr/share/emacs/29.0.50/lisp/org/ox-md
/home/sand/.emacs.d/elpa/org-20210913/ob-emacs-lisp hides /usr/share/emacs/29.0.50/lisp/org/ob-emacs-lisp
/home/sand/.emacs.d/elpa/org-20210913/ox-latex hides /usr/share/emacs/29.0.50/lisp/org/ox-latex
/home/sand/.emacs.d/elpa/org-20210913/ob-lob hides /usr/share/emacs/29.0.50/lisp/org/ob-lob
/home/sand/.emacs.d/elpa/org-20210913/ob hides /usr/share/emacs/29.0.50/lisp/org/ob
/home/sand/.emacs.d/elpa/org-20210913/ob-python hides /usr/share/emacs/29.0.50/lisp/org/ob-python
/home/sand/.emacs.d/elpa/org-20210913/ob-groovy hides /usr/share/emacs/29.0.50/lisp/org/ob-groovy
/home/sand/.emacs.d/elpa/org-20210913/org-version hides /usr/share/emacs/29.0.50/lisp/org/org-version
/home/sand/.emacs.d/elpa/org-20210913/org-ctags hides /usr/share/emacs/29.0.50/lisp/org/org-ctags
/home/sand/.emacs.d/elpa/org-20210913/org-inlinetask hides /usr/share/emacs/29.0.50/lisp/org/org-inlinetask
/home/sand/.emacs.d/elpa/org-20210913/ob-ruby hides /usr/share/emacs/29.0.50/lisp/org/ob-ruby
/home/sand/.emacs.d/elpa/org-20210913/ob-plantuml hides /usr/share/emacs/29.0.50/lisp/org/ob-plantuml
/home/sand/.emacs.d/elpa/org-20210913/ob-scheme hides /usr/share/emacs/29.0.50/lisp/org/ob-scheme
/home/sand/.emacs.d/elpa/org-20210913/ob-comint hides /usr/share/emacs/29.0.50/lisp/org/ob-comint
/home/sand/.emacs.d/elpa/org-20210913/ob-calc hides /usr/share/emacs/29.0.50/lisp/org/ob-calc
/home/sand/.emacs.d/elpa/org-20210913/org-list hides /usr/share/emacs/29.0.50/lisp/org/org-list
/home/sand/.emacs.d/elpa/org-20210913/ob-R hides /usr/share/emacs/29.0.50/lisp/org/ob-R
/home/sand/.emacs.d/elpa/org-20210913/org-agenda hides /usr/share/emacs/29.0.50/lisp/org/org-agenda
/home/sand/.emacs.d/elpa/org-20210913/ob-table hides /usr/share/emacs/29.0.50/lisp/org/ob-table
/home/sand/.emacs.d/elpa/org-20210913/ol-eshell hides /usr/share/emacs/29.0.50/lisp/org/ol-eshell
/home/sand/.emacs.d/elpa/org-20210913/org-element hides /usr/share/emacs/29.0.50/lisp/org/org-element
/home/sand/.emacs.d/elpa/org-20210913/ob-exp hides /usr/share/emacs/29.0.50/lisp/org/ob-exp
/home/sand/.emacs.d/elpa/org-20210913/ob-clojure hides /usr/share/emacs/29.0.50/lisp/org/ob-clojure
/home/sand/.emacs.d/elpa/org-20210913/ol-w3m hides /usr/share/emacs/29.0.50/lisp/org/ol-w3m
/home/sand/.emacs.d/elpa/org-20210913/ol-docview hides /usr/share/emacs/29.0.50/lisp/org/ol-docview
/home/sand/.emacs.d/elpa/org-20210913/ob-ocaml hides /usr/share/emacs/29.0.50/lisp/org/ob-ocaml
/home/sand/.emacs.d/elpa/org-20210913/org-feed hides /usr/share/emacs/29.0.50/lisp/org/org-feed
/home/sand/.emacs.d/elpa/org-20210913/org-archive hides /usr/share/emacs/29.0.50/lisp/org/org-archive
/home/sand/.emacs.d/elpa/org-20210913/org-indent hides /usr/share/emacs/29.0.50/lisp/org/org-indent
/home/sand/.emacs.d/elpa/org-20210913/org-mouse hides /usr/share/emacs/29.0.50/lisp/org/org-mouse
/home/sand/.emacs.d/elpa/org-20210913/org-table hides /usr/share/emacs/29.0.50/lisp/org/org-table
/home/sand/.emacs.d/elpa/org-20210913/ob-lua hides /usr/share/emacs/29.0.50/lisp/org/ob-lua
/home/sand/.emacs.d/elpa/org-20210913/ox-ascii hides /usr/share/emacs/29.0.50/lisp/org/ox-ascii
/home/sand/.emacs.d/elpa/org-20210913/org-footnote hides /usr/share/emacs/29.0.50/lisp/org/org-footnote
/home/sand/.emacs.d/elpa/org-20210913/ob-sql hides /usr/share/emacs/29.0.50/lisp/org/ob-sql
/home/sand/.emacs.d/elpa/org-20210913/org-id hides /usr/share/emacs/29.0.50/lisp/org/org-id
/home/sand/.emacs.d/elpa/org-20210913/ol-info hides /usr/share/emacs/29.0.50/lisp/org/ol-info
/home/sand/.emacs.d/elpa/org-20210913/org-capture hides /usr/share/emacs/29.0.50/lisp/org/org-capture
/home/sand/.emacs.d/elpa/org-20210913/ob-fortran hides /usr/share/emacs/29.0.50/lisp/org/ob-fortran
/home/sand/.emacs.d/elpa/org-20210913/ox-org hides /usr/share/emacs/29.0.50/lisp/org/ox-org
/home/sand/.emacs.d/elpa/org-20210913/ox-publish hides /usr/share/emacs/29.0.50/lisp/org/ox-publish
/home/sand/.emacs.d/elpa/org-20210913/ob-octave hides /usr/share/emacs/29.0.50/lisp/org/ob-octave
/home/sand/.emacs.d/elpa/org-20210913/org-refile hides /usr/share/emacs/29.0.50/lisp/org/org-refile
/home/sand/.emacs.d/elpa/org-20210913/org-macs hides /usr/share/emacs/29.0.50/lisp/org/org-macs
/home/sand/.emacs.d/elpa/org-20210913/org-plot hides /usr/share/emacs/29.0.50/lisp/org/org-plot
/home/sand/.emacs.d/elpa/org-20210913/ob-ditaa hides /usr/share/emacs/29.0.50/lisp/org/ob-ditaa
/home/sand/.emacs.d/elpa/org-20210913/org-install hides /usr/share/emacs/29.0.50/lisp/org/org-install

Features:
(shadow sort rfc1345 quail mail-extr emacsbug message yank-media rmc
puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils xref project pulse color files-x grep compile
cl-print thingatpt magit-base magit-section format-spec crm dash
compat-27 compat-26 compat mule-util jka-compr aggressive-indent
paredit-menu paredit edmacro misearch multi-isearch add-log vc-git
diff-mode vc vc-dispatcher bug-reference macrostep-c cmacexp macrostep
which-func imenu cap-words superword subword cedet cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
two-column kmacro amx shell pcomplete comint ansi-color dired-aux
dired-x dired dired-loaddefs shortdoc text-property-search
ido-completing-read+ memoize cus-edit pp cus-start cus-load wid-edit ido
modus-operandi-theme corfu org-install bbdb bbdb-site timezone
bbdb-autoloads emacs-env-desktop-mu4e emacs-macros emacs-common thunk
org-loaddefs icomplete image-file image-converter mb-depth minibuf-eldef
modus-themes pcase s emacs-utils library-init geiser-impl help-fns
radix-tree geiser-custom geiser-base ring comp comp-cstr warnings rx
cl-extra help-mode easy-mmode slime-autoloads info package browse-url
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-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
simple cl-generic 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 lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 428510 26938)
 (symbols 48 23100 0)
 (strings 32 79197 7603)
 (string-bytes 1 2970873)
 (vectors 16 38001)
 (vector-slots 8 689549 19033)
 (floats 8 261 448)
 (intervals 56 13369 0)
 (buffers 992 21))

-- 
Derek Upham
derek_upham <at> mailfence.com




Reply sent to Po Lu <luangruo <at> yahoo.com>:
You have taken responsibility. (Sun, 15 May 2022 01:04:02 GMT) Full text and rfc822 format available.

Notification sent to Derek Upham <derek_upham <at> mailfence.com>:
bug acknowledged by developer. (Sun, 15 May 2022 01:04:02 GMT) Full text and rfc822 format available.

Message #10 received at 55411-done <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Derek Upham <derek_upham <at> mailfence.com>
Cc: 55411-done <at> debbugs.gnu.org
Subject: Re: bug#55411: 29.0.50; handle_one_xevent (xterm.c) incorrectly
 considers button 8 as a wheel
Date: Sun, 15 May 2022 09:03:32 +0800
Derek Upham <derek_upham <at> mailfence.com> writes:

> The handle_one_xevent function in xterm.c has code to re-interpret
> X11 button events as wheel events:
>
>     if (xev->detail >= 4 && xev->detail <= 8)
>       {
>         if (xev->evtype == XI_ButtonRelease)
>           {
>             if (xev->detail <= 5)
>               inev.ie.kind = WHEEL_EVENT;
>             else
>               inev.ie.kind = HORIZ_WHEEL_EVENT;
>
> The current logic assigns buttons 4 and 5 to WHEEL_EVENT, and buttons 6, 7,
> *and* 8 as horizontal wheel events.

Should be fixed now, thanks.  (Also thanks for proving to me that people
still use mice with more than 7 buttons.)




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 290 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.