Skip to content

Need to hit hotkey twice to switch input method for certain pages in Firefox #1428

@jchai01

Description

@jchai01

Summary

OS: Ubuntu 22
Mozilla Firefox 143.0.1
fcitx5 version: 5.0.14 (from apt)

As described in title, more info in "Reproduce"

Steps to Reproduce

My hotkey is set to super + space as shown:

Image

Default Ubuntu input source switch is disabled:

Image

Certain web pages in Firefox requires hitting the hotkey twice to switch input method (super+space+space quickly). These problems does not exist in Chrome as well as native apps (for e.g. Obsidian, vim, terminal)

Example of pages with issue:
https://www.google.com/ (in the search box)
https://translate.google.com/?sl=auto&tl=en&op=translate
Whatsapp Web (when chatting)

What I have tried

Disabling super+space in fcitx5 config, setting custom shortcut in Ubuntu to run fcitx5-remote -t instead.
However, the hotkey does not work in Firefox at all, but works in other application.

I have also tried:
sh -c "fcitx5-remote -t"
bash -c "fcitx5-remote -t"

Workaround

Create 2 different keyboard groups, one for each language (It is named "Default" and "chinese" in my case):

Image Image

Create this script:

#!/bin/bash
CURR=$(fcitx5-remote -q)

if [[ "$CURR" == "Default" ]]; then
   $(fcitx5-remote -g chinese)
else
   $(fcitx5-remote -g Default)
fi

Set custom shortcut "super+space" in Ubuntu to run this script:

Image

Expected Behavior

Hotkey set in fcitx5 configuration "trigger input method" should only be pressed once to switch input, regardless of the application.

Output of fcitx5-diagnose command

System Info:

  1. uname -a:

    Linux insight132 6.8.0-84-generic #84~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Sep  9 14:29:36 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
    
  2. lsb_release -a:

    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 22.04.5 LTS
    Release:	22.04
    Codename:	jammy
    
  3. lsb_release -d:

    Description:	Ubuntu 22.04.5 LTS
    
  4. /etc/lsb-release:

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=22.04
    DISTRIB_CODENAME=jammy
    DISTRIB_DESCRIPTION="Ubuntu 22.04.5 LTS"
    
  5. /etc/os-release:

    PRETTY_NAME="Ubuntu 22.04.5 LTS"
    NAME="Ubuntu"
    VERSION_ID="22.04"
    VERSION="22.04.5 LTS (Jammy Jellyfish)"
    VERSION_CODENAME=jammy
    ID=ubuntu
    ID_LIKE=debian
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    UBUNTU_CODENAME=jammy
    
  6. Desktop Environment:

    Desktop environment is gnome3.

  7. XDG SESSION TYPE:

    XDG_SESSION_TYPE='x11'
    
  8. Bash Version:

    BASH_VERSION='5.1.16(1)-release'
    

Environment:

  1. DISPLAY:

    DISPLAY=':0'
    
    
    WAYLAND_DISPLAY=''
    
  2. Keyboard Layout:

    1. setxkbmap:

      xkb_keymap {
      	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
      	xkb_types     { include "complete"	};
      	xkb_compat    { include "complete"	};
      	xkb_symbols   { include "pc+us+inet(evdev)"	};
      	xkb_geometry  { include "pc(pc105)"	};
      };
      
    2. xprop:

      _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
      
  3. Locale:

    1. All locales:

      C
      C.utf8
      en_AG
      en_AG.utf8
      en_AU.utf8
      en_BW.utf8
      en_CA.utf8
      en_DK.utf8
      en_GB.utf8
      en_HK.utf8
      en_IE.utf8
      en_IL
      en_IL.utf8
      en_IN
      en_IN.utf8
      en_NG
      en_NG.utf8
      en_NZ.utf8
      en_PH.utf8
      en_SG.utf8
      en_US
      en_US.iso88591
      en_US.utf8
      en_ZA.utf8
      en_ZM
      en_ZM.utf8
      en_ZW.utf8
      POSIX
      zh_CN.utf8
      zh_SG.utf8
      
    2. Current locale:

      LANG=en_US.UTF-8
      LANGUAGE=en_US:en
      LC_CTYPE="en_US.UTF-8"
      LC_NUMERIC="en_US.UTF-8"
      LC_TIME="en_US.UTF-8"
      LC_COLLATE="en_US.UTF-8"
      LC_MONETARY="en_US.UTF-8"
      LC_MESSAGES="en_US.UTF-8"
      LC_PAPER="en_US.UTF-8"
      LC_NAME="en_US.UTF-8"
      LC_ADDRESS="en_US.UTF-8"
      LC_TELEPHONE="en_US.UTF-8"
      LC_MEASUREMENT="en_US.UTF-8"
      LC_IDENTIFICATION="en_US.UTF-8"
      LC_ALL=en_US.UTF-8
      
  4. Directories:

    1. Home:

      /home/jchai
      
    2. ${XDG_CONFIG_HOME}:

      Environment variable XDG_CONFIG_HOME is not set.

      Current value of XDG_CONFIG_HOME is ~/.config (/home/jchai/.config).

    3. Fcitx5 Settings Directory:

      Current fcitx5 settings directory is ~/.config/fcitx5 (/home/jchai/.config/fcitx5).

  5. Current user:

    The script is run as jchai (1000).

Fcitx State:

  1. executable:

    Found fcitx5 at /usr/bin/fcitx5.

  2. version:

    Fcitx version: 5.0.14

  3. process:

    Found 5 fcitx5 processes:

       1814 fcitx5
       4429 fcitx5-config-q
      18784 fcitx5-config-q
      19195 fcitx5-config-q
      19641 fcitx5-config-q
    
  4. fcitx5-remote:

    fcitx5-remote works properly.

  5. DBus interface:

    Using dbus-send to check dbus.

    Owner of DBus name org.fcitx.Fcitx5 is :1.80.

    PID of DBus name org.fcitx.Fcitx5 owner is 1814.

    Debug information from dbus:

       Group [x11::0] has 18 InputContext(s)
      IC [0100ce93fc63464785ec583429cbe3d5] program:gnome-control-c frontend:fcitx4 cap:12 focus:0
      IC [cba672b4c43145ebb088163c318a2d1e] program:gnome-control-c frontend:fcitx4 cap:12 focus:0
      IC [4cca0f7199a3412daf04bedfdf27827d] program:gnome-control-c frontend:fcitx4 cap:52 focus:0
      IC [d87a8073d50f42c0a17137df2d338c3f] program:gnome-control-c frontend:fcitx4 cap:12 focus:0
      IC [acfa0814b3ec450eb0dda870fec92e87] program:gnome-control-c frontend:fcitx4 cap:12 focus:0
      IC [a6b2612373e74b188d0d72e9c25ef72c] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [6c08a27b8de941caa105cd44655d577e] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [3b26d19d2d7243fab588887af62b5f26] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [5afbab4c051a49be96c7226e63b793ee] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [b1a811cdf6cc4930863a1f13419547b9] program:alacritty frontend:xim cap:4000000000 focus:1
      IC [c47da95dda2947919e21d53fc5e46609] program: frontend:ibus cap:52 focus:0
      IC [36a799f8ec564ded992b8ff526793b82] program:obsidian frontend:fcitx4 cap:12 focus:0
      IC [b5d616650a894473923598dfcad51f73] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [5c23f8051a8d48778583ffc95192534b] program:firefox-bin frontend:fcitx4 cap:52 focus:0
      IC [d159e03bb0f7430eb07fea6901ddb1d2] program:firefox-bin frontend:fcitx4 cap:12 focus:0
      IC [7616e991627243d69672213a1f2b5d94] program:alacritty frontend:xim cap:4000000000 focus:0
      IC [6d52757e3dc147088a18d2135f67773d] program:fcitx5-config-qt frontend:dbus cap:6000800072 focus:0
      IC [b6553e13c79b412a9b3e082d955f7181] program:alacritty frontend:xim cap:4000000000 focus:0
    Input Context without group
    

Fcitx Configure UI:

  1. Config Tool Wrapper:

    Found fcitx5-configtool at /usr/bin/fcitx5-configtool.

  2. Config GUI for qt:

    Found fcitx5-config-qt at /usr/bin/fcitx5-config-qt.

  3. Config GUI for kde:

    Found fcitx5 kcm module.

    kcm_fcitx5       - Configure Input Method
    

Frontends setup:

Xim:

  1. ${XMODIFIERS}:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly.
    Xim Server Name from Environment variable is fcitx.

  2. XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

Qt:

  1. qt4 - ${QT4_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

  2. qt5 - ${QT_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

  3. Qt IM module files:

    Found fcitx5 qt5 module: /lib/x86_64-linux-gnu/fcitx5/qt5/libfcitx-quickphrase-editor5.so.
    Found unknown fcitx qt module: /lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_fcitx5.so.
    Found fcitx5 im module for qt5: /lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so.
    Found unknown fcitx qt module: /lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so.
    Found unknown fcitx qt module: /lib/x86_64-linux-gnu/fcitx/qt/libfcitx-quickphrase-editor5.so.
    Cannot find fcitx5 input method module for Qt4.

Gtk:

  1. gtk - ${GTK_IM_MODULE}:

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

  2. gtk-query-immodules:

    1. gtk 2:

      Cannot find gtk-query-immodules for gtk 2

      Cannot find fcitx5 im module for gtk 2.

    2. gtk 3:

      Cannot find gtk-query-immodules for gtk 3

      Cannot find fcitx5 im module for gtk 3.

  3. Gtk IM module cache:

    1. gtk 2:

      Found immodules cache for gtk 2.24.33 at /lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache.
      Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0 from gtk+-2.24.33
      

      Failed to find fcitx5 in immodule cache at /lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache

      Cannot find fcitx5 im module for gtk 2 in cache.

    2. gtk 3:

      Found immodules cache for gtk 3.24.33 at /lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache.
      Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 from gtk+-3.24.33
      

      Found fcitx5 im modules for gtk 3.24.33.

      "/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
      "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
      "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
      
    3. gtk 4:

      Cannot find immodules cache for gtk 4

      Cannot find fcitx5 im module for gtk 4 in cache.

  4. Gtk IM module files:

    1. gtk 2:

      All found Gtk 2 immodule files exist.

    2. gtk 3:

      All found Gtk 3 immodule files exist.

    3. gtk 4:

      All found Gtk 4 immodule files exist.

Configuration:

Fcitx Addons:

  1. Addon Config Dir:

    Found fcitx5 addon config directory: /usr/share/fcitx5/addon.

  2. Addon List:

    1. Found 26 enabled addons:

      Simplified and Traditional Chinese Translation 5.0.11
      Classic User Inteface 5.0.14
      Clipboard 5.0.14
      Cloud Pinyin 5.0.11
      DBus 5.0.14
      DBus Frontend 5.0.14
      Emoji 5.0.14
      Fcitx4 Frontend 5.0.14
      Full width character 5.0.11
      IBus Frontend 5.0.14
      Input method selector 5.0.14
      Keyboard 5.0.14
      KDE Input Method Panel 5.0.14
      Status Notifier 5.0.14
      Notification 5.0.14
      Pinyin 5.0.11
      Extra Pinyin functionality 5.0.11
      Punctuation 5.0.11
      Quick Phrase 5.0.14
      Spell 5.0.14
      Table 5.0.11
      Unicode 5.0.14
      Wayland 5.0.14
      Wayland Input method frontend 5.0.14
      XCB 5.0.14
      X Input Method Frontend 5.0.14
      
    2. Found 0 disabled addons:

  3. Addon Libraries:

    All libraries for all addons are found.

  4. User Interface:

    Found 2 enabled user interface addons:

    Classic User Inteface
    KDE Input Method Panel
    

Input Methods:

  1. /home/jchai/.config/fcitx5/profile:

    [Groups/0]
    # Group Name
    Name=Default
    # Layout
    Default Layout=us
    # Default Input Method
    DefaultIM=pinyin
    
    [Groups/0/Items/0]
    # Name
    Name=keyboard-us
    # Layout
    Layout=
    
    [Groups/0/Items/1]
    # Name
    Name=pinyin
    # Layout
    Layout=
    
    [GroupOrder]
    0=Default
    

Log:

  1. date:

    Mon Sep 29 03:28:48 PM IST 2025
    
  2. /home/jchai/.config/fcitx5/crash.log:

    /home/jchai/.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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions