fcitx / fcitx5

maybe a new fcitx.
1.63k stars 117 forks source link

fcitx5启动时会重置键盘布局 #346

Closed tusooa closed 3 years ago

tusooa commented 3 years ago

Describe the bug If the problem is about you can not use fcitx in certain application, or the input window is placed in wrong place, be sure to include which application is being typed, and the output of fcitx5-diagnose command.

不知道 https://github.com/fcitx/fcitx5/issues/245 讲的是不是这个。

启动fcitx5的时候,键盘布局就会被重置成 fcitx 设置 里头的布局。

To Reproduce Steps to reproduce the behavior:

  1. 在 fcitx设置里添加一个键盘布局us(dvorak),放到最上面
  2. 在 kde systemsettings 里头把键盘布局调成qwerty
  3. pkill fcitx5 && fcitx5

Expected behavior A clear and concise description of what you expected to happen. 键盘布局应该不变。或者有一个设置让键盘布局在启动的时候保持不变。

Desktop (please complete the following information):

] fcitx5-diagnose
# System Info:
1.  `uname -a`:

        Linux tusooa-yoga 5.10.61-gentoo-x86_64 #1 SMP Tue Sep 7 23:39:49 EDT 2021 x86_64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz GenuineIntel GNU/Linux

2.  `lsb_release -a`:

        LSB Version:    n/a
        Distributor ID: Gentoo
        Description:    Gentoo Base System release 2.7
        Release:        2.7
        Codename:       n/a

3.  `lsb_release -d`:

        Description:    Gentoo Base System release 2.7

4.  `/etc/lsb-release`:

        DISTRIB_ID="Gentoo"

5.  `/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/"

6.  Desktop Environment:

    Desktop environment is `kde`.

7.  Bash Version:

        BASH_VERSION='5.1.8(1)-release'

# Environment:
1.  DISPLAY:

        DISPLAY=':0'

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(dvorak)+us:2+inet(evdev)+capslock(none)+ctrl(menu_rctrl)"        };
                xkb_geometry  { include "pc(pc101)"     };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc101", "us,us", "dvorak,", "caps:none,ctrl:menu_rctrl"

3.  Locale:

    1.  All locale:

            C
            cmn_TW.utf8
            C.utf8
            en_CA.utf8
            en_US.utf8
            fr_FR.utf8
            POSIX
            zh_CN.utf8
            zh_HK.utf8
            zh_TW.utf8

    2.  Current locale:

            LANG=en_CA.UTF-8
            LC_CTYPE=zh_CN.UTF-8
            LC_NUMERIC="en_CA.UTF-8"
            LC_TIME="en_CA.UTF-8"
            LC_COLLATE="en_CA.UTF-8"
            LC_MONETARY="en_CA.UTF-8"
            LC_MESSAGES="en_CA.UTF-8"
            LC_PAPER="en_CA.UTF-8"
            LC_NAME="en_CA.UTF-8"
            LC_ADDRESS="en_CA.UTF-8"
            LC_TELEPHONE="en_CA.UTF-8"
            LC_MEASUREMENT="en_CA.UTF-8"
            LC_IDENTIFICATION="en_CA.UTF-8"
            LC_ALL=

4.  Directories:

    1.  Home:

            /home/tusooa

    2.  `${XDG_CONFIG_HOME}`:

        Environment variable `XDG_CONFIG_HOME` is not set.

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

    3.  Fcitx5 Settings Directory:

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

5.  Current user:

    The script is run as tusooa (1000).

# Fcitx State:
1.  executable:

    Found fcitx5 at `/usr/bin/fcitx5`.

2.  version:

    Fcitx version: `5.0.9`

3.  process:

    Found 1 fcitx5 process:

         8354 fcitx5

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.130`.

    PID of DBus name `org.fcitx.Fcitx5` owner is `8354`.

# 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 unknown fcitx qt module: `/usr/lib64/qt5/plugins/kcms/kcm_fcitx5.so`.
    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`.
    **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:

        Found `gtk-query-immodules` for gtk `2.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

        Found fcitx5 im modules for gtk `2.24.33`.

            "/usr/lib64/gtk-2.0/2.10.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:*"

    2.  gtk 3:

        Found `gtk-query-immodules` for gtk `3.24.29` at `/usr/bin/gtk-query-immodules-3.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.29

        Found fcitx5 im modules for gtk `3.24.29`.

            "/usr/lib64/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 IM module cache:

    1.  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

        Found fcitx5 im modules for gtk `2.24.33`.

            "/usr/lib64/gtk-2.0/2.10.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:*"

    2.  gtk 3:

        Found immodules cache for gtk `3.24.29` 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.29

        Found fcitx5 im modules for gtk `3.24.29`.

            "/usr/lib64/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 27 enabled addons:

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

    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

    Kimpanel process:

         5045 /usr/bin/plasmashell

# Log:
1.  `date`:

        Fri 01 Oct 2021 08:48:13 PM EDT

2.  `/home/tusooa/.config/fcitx5/crash.log`:

        =========================
        Fcitx 5.0.9 -- Get Signal No.: 6
        Date: try "date -d @1633133017" if you are using GNU date ***
        ProcessID: 10427
        /usr/bin/fcitx5(+0xcb95)[0x55561f8a4b95]
        /lib64/libc.so.6(+0x38790)[0x7f2a2176e790]
        /lib64/libc.so.6(gsignal+0x141)[0x7f2a2176e711]
        /lib64/libc.so.6(abort+0x112)[0x7f2a21758546]
        /usr/lib64/libFcitx5Utils.so.2(+0x2f916)[0x7f2a21b56916]
        /usr/lib64/libdbus-1.so.3(dbus_connection_dispatch+0x455)[0x7f2a21650965]
        /usr/lib64/libFcitx5Utils.so.2(+0x3fb69)[0x7f2a21b66b69]
        /usr/lib64/libFcitx5Utils.so.2(+0x5320c)[0x7f2a21b7a20c]
        /usr/lib64/libevent_core-2.1.so.7(+0x1d640)[0x7f2a216a2640]
        /usr/lib64/libevent_core-2.1.so.7(event_base_loop+0x57f)[0x7f2a216a320f]
        /usr/lib64/libFcitx5Utils.so.2(_ZN5fcitx9EventLoop4execEv+0x3a)[0x7f2a21b7a46a]
        /usr/lib64/libFcitx5Core.so.7(_ZN5fcitx8Instance4execEv+0x54)[0x7f2a21c4f164]
        /usr/bin/fcitx5(+0xb7c6)[0x55561f8a37c6]
        /lib64/libc.so.6(__libc_start_main+0xcd)[0x7f2a2175980d]
        /usr/bin/fcitx5(+0xbd4a)[0x55561f8a3d4a]

Additional context Add any other context about the problem here. 没得

wengxt commented 3 years ago

你需要设置一下分组的布局,这就是 fcitx 的功能。