Package: xfce4 Version: 4.12.4 Severity: normal Dear Maintainer,
When running emacs on the XFCE desktop I discovered that hitting the PageUp key did not scroll up the text by a page as expected and instead invoked the edt help page that normally you get in emacs edt mode by hitting the keypad key that is marked "/", i.e., the first row second column keypad key. Also, other uses of the PageUp key under XFCE (e.g., scrolling up in a browser window, scrolling up in the less command) did not work. Further investigation with xev showed the following near identical results between these two keys with the XFCE desktop: PageUp key KeyPress event, serial 37, synthetic NO, window 0x3800001, root 0x4ae, subw 0x0, time 1022442481, (-430,494), root:(201,852), state 0x0, keycode 112 (keysym 0xff92, KP_F2), same_screen YES, XKeysymToKeycode returns keycode: 106 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 37, synthetic NO, window 0x3800001, root 0x4ae, subw 0x0, time 1022442561, (-430,494), root:(201,852), state 0x0, keycode 112 (keysym 0xff92, KP_F2), same_screen YES, XKeysymToKeycode returns keycode: 106 XLookupString gives 0 bytes: XFilterEvent returns: False Keypad "/" key KeyPress event, serial 37, synthetic NO, window 0x3800001, root 0x4ae, subw 0x0, time 1022455529, (-430,494), root:(201,852), state 0x0, keycode 106 (keysym 0xff92, KP_F2), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 37, synthetic NO, window 0x3800001, root 0x4ae, subw 0x0, time 1022455601, (-430,494), root:(201,852), state 0x0, keycode 106 (keysym 0xff92, KP_F2), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False In constrast, here are the corresponding xev results for the KDE desktop where the two keys are clearly distinguished: PageUp key KeyPress event, serial 37, synthetic NO, window 0x2e00001, root 0x4ae, subw 0x0, time 953810335, (-945,110), root:(317,139), state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 40, synthetic NO, window 0x2e00001, root 0x4ae, subw 0x0, time 953810407, (-945,110), root:(317,139), state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False Keypad "/" key KeyPress event, serial 40, synthetic NO, window 0x2e00001, root 0x4ae, subw 0x0, time 953822366, (-945,110), root:(317,139), state 0x0, keycode 106 (keysym 0xff92, KP_F2), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 40, synthetic NO, window 0x2e00001, root 0x4ae, subw 0x0, time 953822438, (-945,110), root:(317,139), state 0x0, keycode 106 (keysym 0xff92, KP_F2), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False Also, the PageUp key works properly for the KDE desktop in emacs, browser scrolling, less scrolling, etc. So clearly the XKB setup of the PageUp key is correct for the KDE desktop but not correct for the XFCE desktop. Note that because of <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900087> I currently cannot run this fast box (Ryzen 7 1700, 8 cores, 64GB) very long with direct X display before it locks up. So until that bug is fixed (likely when kernel 4.17 propagates to Debian Buster) I run the XFCE and KDE desktops on this fast box with xdm installed and configured in such a way that I can actively manage and display those desktop results on a slow box (connected to the fast box via a 1Gb/s LAN implemented with approprate ethernet hardware on both ends plus a crossover cable) where I execute "X -query <fast_box_name>" to start the X server on the slow "X-terminal" box. I launch the XFCE desktop with a .xsession file configured as follows on the fast box: #!/bin/sh # load the keyboard definitions XKBDIR="$HOME/.xkb" XKBMAPFILE="$XKBDIR/keymap/xmodmap_replace" # DISPLAY should be defined at this point by X. # The POSIX pattern removal %%.* removes a trailing "." followed by # any number of characters from the DISPLAY value. So one invocation # we saw was # xkbcomp -I"$XKBDIR" "$XKBMAPFILE" "${DISPLAY%%.*}" # But that screws up remote DISPLAY values which are typically # FQDN:0, i.e., meadowlark.mylan.home:0 Therefore just use the # exact $DISPLAY with no changes. xkbcomp -I"$XKBDIR" "$XKBMAPFILE" "$DISPLAY" unset XKBDIR XKBMAPFILE # The keyboard definitions have now been loaded. xfce4-session and I launch KDE exactly the same way except that xfce4-session is replaced at the end by bash --login startkde The xkbcomp boilerplate that I use in both cases was set up a long time ago so that xjed and jed work properly under xterm. The only two files in $HOME/.xkb have the following contents. cat .xkb/symbols/xmodmap_replace partial alphanumeric_keys xkb_symbols "redefine_keypad" { replace key <NMLK> { [ KP_F1 ] }; replace key <KPDV> { [ KP_F2 ] }; replace key <KPMU> { [ KP_F3 ] }; replace key <KPSU> { [ KP_F4 ] }; replace key <KP7> { [ KP_7 ] }; replace key <KP8> { [ KP_8 ] }; replace key <KP9> { [ KP_9 ] }; replace key <KPAD> { [ KP_Separator ] }; replace key <KP4> { [ KP_4 ] }; replace key <KP5> { [ KP_5 ] }; replace key <KP6> { [ KP_6 ] }; replace key <KP1> { [ KP_1 ] }; replace key <KP2> { [ KP_2 ] }; replace key <KP3> { [ KP_3 ] }; replace key <KPEN> { [ KP_Enter ] }; replace key <KP0> { [ KP_0 ] }; replace key <KPDL> { [ KP_Decimal ] }; }; partial modifier_keys xkb_symbols "no_numlock_modifier" { replace key <NMLK> { [ VoidSymbol ] }; }; cat .xkb/keymap/xmodmap_replace xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)+xmodmap_replace(no_numlock_modifier)+xmodmap_replace(redefine_keypad)" }; xkb_geometry { include "pc(pc105)" }; }; So that first file explains why the keypad "/" key is identified as KP_F2 by xev for both the KDE and XFCE desktops. But there is no mention of the PageUp key in either of these two files so I doubt my above personal XKB configuration is the reason why the PageUp key is incorrectly interpreted as identical to the keypad "/" key for the XFCE desktop. I used dpkg --list |grep -i xfce |sed -e 's? *? ?g' |cut --delimiter=" " --fields=2 |sort to determine which XFCE-related packages I had installed on this fast box. Those results are the following: gtk2-engines-xfce libexo-1-0:amd64 libexo-2-0:amd64 libgarcon-1-0 libxfce4panel-2.0-4 libxfce4ui-1-0:amd64 libxfce4ui-2-0:amd64 libxfce4ui-common libxfce4ui-utils libxfce4util7:amd64 libxfce4util-bin libxfce4util-common libxfconf-0-2 mousepad orage ristretto thunar xfburn xfce4 xfce4-appfinder xfce4-battery-plugin xfce4-clipman xfce4-clipman-plugin xfce4-cpufreq-plugin xfce4-cpugraph-plugin xfce4-datetime-plugin xfce4-dict xfce4-diskperf-plugin xfce4-fsguard-plugin xfce4-genmon-plugin xfce4-mailwatch-plugin xfce4-mount-plugin xfce4-netload-plugin xfce4-notes xfce4-notes-plugin xfce4-notifyd xfce4-panel xfce4-places-plugin xfce4-power-manager xfce4-power-manager-data xfce4-power-manager-plugins xfce4-pulseaudio-plugin:amd64 xfce4-screenshooter xfce4-sensors-plugin xfce4-session xfce4-settings xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-taskmanager xfce4-terminal xfce4-timer-plugin xfce4-verve-plugin xfce4-wavelan-plugin xfce4-weather-plugin xfce4-whiskermenu-plugin xfconf xfdesktop4 xfdesktop4-data xfwm4 Presumably it is one of those packages that is interfering with the XKB interpretation of the PageUp key, but I don't know which one so I have reported this XFCE bug against the xfce4 package. Let me know if there is any further test or modified version of one of the above XFCE-related packages that you would like me to try. Alan -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.16.0-2-amd64 (SMP w/16 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages xfce4 depends on: ii gtk2-engines-xfce 3.2.0-3 ii libxfce4ui-utils 4.12.1-3 ii orage 4.12.1-4 ii thunar 1.6.15-1 ii xfce4-appfinder 4.12.0-2 ii xfce4-panel 4.12.2-1 ii xfce4-pulseaudio-plugin 0.4.1-1 ii xfce4-session 4.12.1-6 ii xfce4-settings 4.12.3-1 ii xfconf 4.12.1-1 ii xfdesktop4 4.12.4-1 ii xfwm4 4.12.4-1 Versions of packages xfce4 recommends: ii desktop-base 9.0.7 ii tango-icon-theme 0.8.90-7 ii thunar-volman 0.8.1-2 ii xfce4-notifyd 0.4.2-1 ii xorg 1:7.7+19 Versions of packages xfce4 suggests: pn gtk3-engines-xfce <none> pn xfce4-goodies <none> ii xfce4-power-manager 1.6.1-1 -- no debconf information