Bug 2256267 - Unable to input in Firefox with fcitx5 under Fedora KDE 39
Summary: Unable to input in Firefox with fcitx5 under Fedora KDE 39
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: fcitx5
Version: 39
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Qiyu Yan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-12-30 15:26 UTC by jackyzy823
Modified: 2024-01-06 19:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description jackyzy823 2023-12-30 15:26:57 UTC
Unable to input in Firefox with fcitx5 under Fedora KDE 39

Reproducible: Always

Steps to Reproduce:
1. Install Fedora 39 KDE spin
2. Install fcitx5 fcitx5-mozc and config fcitx5 to add mozc as a input method.
3. Use "Input Method Selecor" to configure to use fcitx5 and log out and log in
4. Test input with Kwrite
5. Test input with Firefox
Actual Results:  
Input in kwrite with fcitx5 successfully.
Failed to input in Firefox with fcitx5.



Expected Results:  
Input in Firefox with fcitx5 successfully.

with maually start firefox with `GTK_IM_MODULE=fcitx firefox`, i could input with fcitx in firefox.

-----

So it looks related to the change in https://bugzilla.redhat.com/show_bug.cgi?id=2232064

---------

in imsettings.log GTK_IM_MODULE is empty.


XINPUTRC: /home/xx/.config/imsettings/xinputrc
          File: /home/xx/.config/imsettings/xinputrc -> /etc/X11/xinit/xinput.d/fcitx5.conf
          Size: 35              Blocks: 8          IO Block: 4096   symbolic link
        Device: 0,38    Inode: 7257        Links: 1 
        Access: (0777/lrwxrwxrwx)  Uid: ( 1000/xx)   Gid: ( 1001/xx)
        Context: unconfined_u:object_r:config_home_t:s0
        Access: 2023-12-30 20:01:07.645109258 +0800   
        Modify: 2022-10-24 00:47:02.011820102 +0800   
        Change: 2022-10-24 00:47:02.011820102 +0800   
         Birth: 2022-10-24 00:47:02.011820102 +0800
Is DBus enabled: yes 
Is imsettings enabled: yes
Is GTK+ supported: yes
Is Qt supported: yes
Is Action needed: yes
DESKTOP: KDE-wayland 
GUESS_DESKTOP: $XDG_SESSION_TYPE
DISABLE_IMSETTINGS:  
IMSETTINGS_DISABLE_DESKTOP_CHECK: 
DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1000/bus
GTK_IM_MODULE: 
QT_IM_MODULE: fcitx
XMODIFIERS: @im=fcitx5
IMSETTINGS_MODULE: fcitx5
IMSETTINGS_INTEGRATE_DESKTOP: yes
IMSETTINGS_DISABLE_SYS_XINPUTRC: no
IMSETTINGS_DISABLE_USER_XINPUTRC: no
IMSETTINGS_IGNORE_SESSION:

Comment 1 Jens Petersen 2024-01-04 08:22:39 UTC
Did you enable fcitx as a virtual keyboard in KDE settings? (this aspect of KDE is not very natural...)

Comment 2 jackyzy823 2024-01-04 12:10:22 UTC
Hello,  Jens Petersen .

Thanks for the information. I could input with setting fcitx5 as a virtual keyboard in KDE. 

For anyone who may interested , https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma


However there's still a problem.  If i both set input method to fcitx in virtual keyboard and "Input Method Selecor" , after rebooting , fcitx will crash . 

I found the fcitx's popup message:

#: src/modules/wayland/waylandmodule.cpp:464
msgid ""
"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland "
"input method frontend. This can improve the experience when using Fcitx on "
"Wayland. To configure this, you need to go to \"System Settings\" -> "
"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to "
"disable tools that launches input method, such as imsettings on Fedora, or "
"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/"
"Using_Fcitx_5_on_Wayland#KDE_Plasma"
msgstr ""

------------------
So could imsettings automatically set to none when detecting that virtual keyboard is set ?

Comment 3 Akira TAGOH 2024-01-06 19:11:46 UTC
imsettings doesn't support desktops on wayland session. This isn't a bug.

For a crash, We need to add a line of:

IMSETTINGS_IGNORE_SESSION=*-wayland

in /etc/X11/xinit/xinput.d/fcitx5.conf; the wildcard will works after imsettings 1.8.8.

Reassigning to fcitx5.


Note You need to log in before you can comment on or make changes to this bug.