Firefox forgets modifier key is held
Closed this issue · 1 comments
Summary
In some situations, I'm seeing a modifier key get lost. The application continues to receive key events, but acts as if I've released the modifier.
I see this issue in Hyprland but not in Sway
Steps to Reproduce
- Run fcitx5
- Run firefox
- Navigate to, e.g.,
example.com
- Start holding Ctrl
- Press T (to open a new tab)
- Press Tab (to navigate to the first tab)
- Press W (to close the tab)
But the tab doesn't close. Attempting to use ctrl+tab at this point starts selecting UI elements, implying that the modifier key has been lost.
Expected Behavior
Further ctrl shortcuts should continue to work, only the second (empty) tab should remain open
Output of fcitx5-diagnose command
System Info:
-
uname -a
:Linux sledgehammer 6.6.41-gentoo-dist #1 SMP PREEMPT_DYNAMIC Thu Jul 18 14:37:53 -00 2024 x86_64 AMD Ryzen 7 2700 Eight-Core Processor AuthenticAMD GNU/Linux
-
lsb_release -a
:LSB Version: n/a Distributor ID: Gentoo Description: Gentoo Linux Release: 2.15 Codename: n/a
-
lsb_release -d
:Description: Gentoo Linux
-
/etc/lsb-release
:DISTRIB_ID="Gentoo"
-
/etc/os-release
:NAME=Gentoo ID=gentoo PRETTY_NAME="Gentoo Linux" ANSI_COLOR="1;32" HOME_URL="https://www.gentoo.org/" SUPPORT_URL="https://www.gentoo.org/support/" BUG_REPORT_URL="https://bugs.gentoo.org/" VERSION_ID="2.15"
-
Desktop Environment:
Cannot determine desktop environment.
-
XDG SESSION TYPE:
XDG_SESSION_TYPE='wayland'
-
Bash Version:
BASH_VERSION='5.2.26(1)-release'
Environment:
-
DISPLAY:
DISPLAY=':0' WAYLAND_DISPLAY='wayland-1'
-
Keyboard Layout:
-
setxkbmap
:setxkbmap
not found. -
xprop
:_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
-
-
Locale:
-
All locales:
C C.utf8 POSIX en_US.utf8
-
Current locale:
LANG=en_US.utf8 LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C
-
-
Directories:
-
Home:
/home/colin
-
${XDG_CONFIG_HOME}
:Environment variable
XDG_CONFIG_HOME
is not set.Current value of
XDG_CONFIG_HOME
is~/.config
(/home/colin/.config
). -
Fcitx5 Settings Directory:
Current fcitx5 settings directory is
~/.config/fcitx5
(/home/colin/.config/fcitx5
).
-
-
Current user:
The script is run as colin (1000).
Fcitx State:
-
executable:
Found fcitx5 at
/usr/bin/fcitx5
. -
version:
Fcitx version:
5.1.10
-
process:
Found 1 fcitx5 process:
20664 fcitx5
-
fcitx5-remote
:fcitx5-remote
works properly. -
DBus interface:
Using
dbus-send
to check dbus.Owner of DBus name
org.fcitx.Fcitx5
is:1.14
.PID of DBus name
org.fcitx.Fcitx5
owner is20664
.Debug information from dbus:
Group [wayland:] has 4 InputContext(s) IC [033c387d73a34004b48700c472593e29] program:Alacritty frontend:wayland_v2 cap:100000072 focus:1 IC [ce6fed5517c5426491e0478912feca9d] program:Alacritty frontend:wayland_v2 cap:100000072 focus:0 IC [8649be76e546486b9ccdb8f6bb62c602] program:firefox-esr frontend:wayland_v2 cap:72 focus:0 IC [616b4a30e1354870bf7959a9a17c4d22] program: frontend:wayland_v2 cap:100000072 focus:0 Group [x11::0] has 0 InputContext(s) Input Context without group
Fcitx Configure UI:
-
Config Tool Wrapper:
Found fcitx5-configtool at
/usr/bin/fcitx5-configtool
. -
Config GUI for qt:
Found
fcitx5-config-qt
at/usr/bin/fcitx5-config-qt
. -
Config GUI for kde:
kcmshell5
not found.
Frontends setup:
The environment variable checked by this script only shows the environment under current shell. It is still possible that you did not set the environment to the whole graphic desktop session. You may inspect the actual environment variable of a certain process by using xargs -0 -L1 /proc/$PID/environ
for a certain process that you find not working.
Xim:
-
${XMODIFIERS}
:XMODIFIERS is not set
Please set environment variable XMODIFIERS to "@im=fcitx" using the tool your distribution provides or add
export XMODIFIERS=@im=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: XMODIFIERS.
Xim Server Name from Environment variable is fcitx. -
XIM_SERVERS on root window:
Xim server name is the same with that set in the environment variable.
-
XIM encoding:
Your LC_CTYPE is set to C whose encoding is not UTF-8. You may have trouble committing strings using XIM.
Qt:
-
qt4 -
${QT4_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.fcitx5-qt4-immodule-probing
not found. -
qt5 -
${QT_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.It is OK to use qt5 built-in Wayland im module if your compositor fully supports text-input protocol used by qt5.
Using fcitx5-qt5-immodule-probing to check the actual im module to be used under current environment:
QT_QPA_PLATFORM=wayland QT_IM_MODULE= IM_MODULE_CLASSNAME=QComposeInputContext
-
qt6 -
${QT_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.It is OK to use qt6 built-in Wayland im module if your compositor fully supports text-input protocol used by qt6.
fcitx5-qt6-immodule-probing
not found. -
Qt IM module files:
Found fcitx5 im module for qt5:
/usr/lib64/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
.
Found fcitx5 qt5 module:/usr/lib64/fcitx5/qt5/libfcitx-quickphrase-editor5.so
.Following error may not be accurate because guessing Qt version from path depends on how your distribution packages Qt. It is not a critical error if you do not use any Qt application with certain version of Qt or you are using text-input support by Qt under Wayland.
Cannot find fcitx5 input method module for Qt4.
Cannot find fcitx5 input method module for Qt6.
Gtk:
-
gtk -
${GTK_IM_MODULE}
:Please set environment variable GTK_IM_MODULE to "fcitx" using the tool your distribution provides or add
export GTK_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: GTK_IM_MODULE.It is OK to use gtk built-in Wayland im module if your compositor fully supports text-input protocol used by gtk.
fcitx5-gtk2-immodule-probing
not found.fcitx5-gtk3-immodule-probing
not found.fcitx5-gtk4-immodule-probing
not found. -
gtk-query-immodules
:-
gtk 2:
Found
gtk-query-immodules
for gtk2.24.33
at/usr/bin/gtk-query-immodules-2.0
.
Version Line:# Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33
Failed to find fcitx5 in the output of
/usr/bin/gtk-query-immodules-2.0
Cannot find fcitx5 im module for gtk 2.
-
gtk 3:
Found
gtk-query-immodules
for gtk3.24.41
at/usr/bin/gtk-query-immodules-3.0
.
Version Line:# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.41
Failed to find fcitx5 in the output of
/usr/bin/gtk-query-immodules-3.0
Cannot find fcitx5 im module for gtk 3.
-
-
Gtk IM module cache:
-
gtk 2:
Found immodules cache for gtk
2.24.33
at/usr/lib64/gtk-2.0/2.10.0/immodules.cache
.
Version Line:# Created by /usr/bin/x86_64-pc-linux-gnu-gtk-query-immodules-2.0 from gtk+-2.24.33
Failed to find fcitx5 in immodule cache at
/usr/lib64/gtk-2.0/2.10.0/immodules.cache
Cannot find fcitx5 im module for gtk 2 in cache.
-
gtk 3:
Found immodules cache for gtk
3.24.41
at/usr/lib/gtk-3.0/3.0.0/immodules.cache
.
Version Line:# Created by /usr/bin/i686-pc-linux-gnu-gtk-query-immodules-3.0 from gtk+-3.24.41
Failed to find fcitx5 in immodule cache at
/usr/lib/gtk-3.0/3.0.0/immodules.cache
Found immodules cache for gtk
3.24.41
at/usr/lib64/gtk-3.0/3.0.0/immodules.cache
.
Version Line:# Created by /usr/bin/x86_64-pc-linux-gnu-gtk-query-immodules-3.0 from gtk+-3.24.41
Failed to find fcitx5 in immodule cache at
/usr/lib64/gtk-3.0/3.0.0/immodules.cache
Cannot find fcitx5 im module for gtk 3 in cache.
-
-
Gtk IM module files:
-
gtk 2:
All found Gtk 2 immodule files exist.
-
gtk 3:
All found Gtk 3 immodule files exist.
-
gtk 4:
All found Gtk 4 immodule files exist.
-
Configuration:
Fcitx Addons:
-
Addon Config Dir:
Found fcitx5 addon config directory:
/usr/share/fcitx5/addon
. -
Addon List:
-
Found 21 enabled addons:
Classic User Interface 5.1.10 Clipboard 5.1.10 DBus 5.1.10 DBus Frontend 5.1.10 Emoji 5.1.10 Fcitx4 Frontend 5.1.10 IBus Frontend 5.1.10 Input method selector 5.1.10 Keyboard 5.1.10 KDE Input Method Panel 5.1.10 Mozc Status Notifier 5.1.10 Notification 5.1.10 Quick Phrase 5.1.10 Spell 5.1.10 Unicode 5.1.10 DBus Virtual Keyboard 5.1.10 Wayland 5.1.10 Wayland Input method frontend 5.1.10 XCB 5.1.10 X Input Method Frontend 5.1.10
-
Found 0 disabled addons:
-
-
Addon Libraries:
All libraries for all addons are found.
-
User Interface:
Found 3 enabled user interface addons:
Classic User Interface KDE Input Method Panel DBus Virtual Keyboard
Input Methods:
-
/home/colin/.config/fcitx5/profile
:[Groups/0] # Group Name Name=Default # Layout Default Layout=us # Default Input Method DefaultIM=mozc [Groups/0/Items/0] # Name Name=keyboard-us # Layout Layout= [Groups/0/Items/1] # Name Name=mozc # Layout Layout= [GroupOrder] 0=Default
Log:
-
date
:Sat Sep 7 01:23:56 MDT 2024
-
/home/colin/.config/fcitx5/crash.log
:/home/colin/.config/fcitx5/crash.log
not found.
Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.
Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.
Feels like a hyprland issue then.