-
Notifications
You must be signed in to change notification settings - Fork 132
kde(wayland)+firefox:切换虚拟桌面后输入法失效 #1323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
测试半天没法重现,你用什么操作切换的桌面?我尝试了鼠标点击,滚轮,以及 Ctrl + F1 F2 都没能触发 你的 firefox 已经在使用 wayland 输入法协议了,因此是否激活并不受 fcitx 的控制。多半是 kwin 的问题 请用 WAYLAND_DEBUG=1 启动 fcitx 并提供切换时的日志 |
我配置的快捷键是 win + 数字键切换。用鼠标滚轮也能复现,需要开启虚拟桌面切换动画才能复现,应该是kwin的问题。 |
一点新发现,关闭 show preedit 可以缓解问题,输入时候选框突然跳动到显示器左上角,但是可以继续输入检字。但是当这一次输入完毕后,仍然会变为纯英文输入,需要再次切换才能恢复正常。 |
你运行这条命令
当你描述失效,是仿佛按键完全没有发送到输入法变成了直接输入英文,还是只是单纯出于某种原因进行了切换变成了英文,是否还可以手工切换回来? |
我试了一下,发现触发问题还有另一个条件,切换过去的虚拟桌面里需要有一个应用程序,这样切换后focus会发生变化。 fcitx.wrong.2.mp4 |
好像还和kitty有关,我用konsole就没有这个问题 |
Summary
在firefox的输入框中使用中文输入法,切换到其他虚拟桌面再回来后输入法无法使用。用alt+tab切换后恢复。切换到英文再切换回来首次输入内容也会丢失。
此行为只发生在firefox不在首个虚拟桌面上且kde开启切换动画时
Screencast_20250417_124759.webm
Steps to Reproduce
Expected Behavior
输入法正常使用
Output of fcitx5-diagnose command
System Info:
uname -a
:lsb_release -a
:lsb_release -d
:/etc/lsb-release
:/etc/os-release
:Desktop Environment:
Desktop environment is
kde
.XDG SESSION TYPE:
Bash Version:
Environment:
DISPLAY:
Keyboard Layout:
setxkbmap
:xprop
:Locale:
All locales:
Current locale:
Directories:
Home:
${XDG_CONFIG_HOME}
:Environment variable
XDG_CONFIG_HOME
is not set.Current value of
XDG_CONFIG_HOME
is~/.config
(/home/dove/.config
).Fcitx5 Settings Directory:
Current fcitx5 settings directory is
~/.config/fcitx5
(/home/dove/.config/fcitx5
).Current user:
The script is run as dove (1000).
Fcitx State:
executable:
Found fcitx5 at
/usr/bin/fcitx5
.version:
Fcitx version:
5.1.12
process:
Found 3 fcitx5 processes:
fcitx5-remote
:fcitx5-remote
works properly.DBus interface:
Using
dbus-send
to check dbus.Owner of DBus name
org.fcitx.Fcitx5
is:1.27
.PID of DBus name
org.fcitx.Fcitx5
owner is1142
.Debug information from dbus:
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}
:Environment variable XMODIFIERS is set to "@im=fcitx" correctly.
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 for Emacs:
Your LC_CTYPE is set to en_US.UTF-8 instead of one of zh, ja, ko. You may not be able to use input method in emacs because of an really old emacs bug that upstream refuse to fix for years.
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:
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.
Using fcitx5-qt6-immodule-probing to check the actual im module to be used under current environment:
Qt IM module files:
Found fcitx5 im module for qt6:
/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
.Found unknown fcitx qt module:
/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so
.Found fcitx5 im module for qt:
/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
.Found fcitx5 qt5 module:
/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so
.Found fcitx5 qt6 module:
/usr/lib/fcitx5/qt6/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.
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.
Using fcitx5-gtk2-immodule-probing to check the actual im module to be used under current environment:
Using fcitx5-gtk3-immodule-probing to check the actual im module to be used under current environment:
Using fcitx5-gtk4-immodule-probing to check the actual im module to be used under current environment:
gtk-query-immodules
:gtk 2:
Found
gtk-query-immodules
for gtk2.24.33
at/usr/bin/gtk-query-immodules-2.0
.Version Line:
Found fcitx5 im modules for gtk
2.24.33
.gtk 3:
Found
gtk-query-immodules
for gtk3.24.49
at/usr/bin/gtk-query-immodules-3.0
.Version Line:
Found fcitx5 im modules for gtk
3.24.49
.Found
gtk-query-immodules
for gtk3.24.49
at/usr/bin/gtk-query-immodules-3.0-32
.Version Line:
Failed to find fcitx5 in the output of
/usr/bin/gtk-query-immodules-3.0-32
Gtk IM module cache:
gtk 2:
Found immodules cache for gtk
2.24.33
at/usr/lib/gtk-2.0/2.10.0/immodules.cache
.Version Line:
Found fcitx5 im modules for gtk
2.24.33
.gtk 3:
Found immodules cache for gtk
3.24.49
at/usr/lib/gtk-3.0/3.0.0/immodules.cache
.Version Line:
Found fcitx5 im modules for gtk
3.24.49
.Found immodules cache for gtk
3.24.49
at/usr/lib32/gtk-3.0/3.0.0/immodules.cache
.Version Line:
Failed to find fcitx5 in immodule cache at
/usr/lib32/gtk-3.0/3.0.0/immodules.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 27 enabled addons:
Found 0 disabled addons:
Addon Libraries:
All libraries for all addons are found.
User Interface:
Found 3 enabled user interface addons:
Input Methods:
/home/dove/.config/fcitx5/profile
:Log:
date
:/home/dove/.config/fcitx5/crash.log
:/home/dove/.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.
The text was updated successfully, but these errors were encountered: