您尚未登录。

#1 2025-04-18 22:25:23

jerry-xjn
会员
注册时间: 2021-11-12
帖子: 5

hyprland下只有第一个打开的chrome窗口能够获取键盘输入

如题,在启动hyprland后,如果先打开一个chrome窗口(记为窗口A),那么在A中是可以正常输入的,此时再次打开一个chrome窗口(记为窗口B),窗口B就无法获取键盘输入

再打开一个xev窗口,xev也无法获得输入。但是如果打开alacitty,那么在其中是可以正常输入的,在焦点移动到alacritty过之后也可以在窗口B、xev窗口中正常输入

但是如果将焦点移动到窗口A上,再移动到B或xev上,会发现再次输入不了了,只有将光标在alacritty中洗一遍才能够恢复输入

Google Chrome 135.0.7049.95 , 实验性功能中 Preferred Ozone platform 设置为了 Wayland

离线

#2 2025-04-19 08:52:05

jerry-xjn
会员
注册时间: 2021-11-12
帖子: 5

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

经过测试,发现如果退出fcitx5,那么这个问题就解决了

fcitx5-diagnose:

# 系统信息:
1.  `uname -a`:

        Linux archlinux 6.14.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 10 Apr 2025 18:43:59 +0000 x86_64 GNU/Linux

2.  `lsb_release -a`:

        LSB Version:	n/a
        Distributor ID:	Arch
        Description:	Arch Linux
        Release:	rolling
        Codename:	n/a

3.  `lsb_release -d`:

        Description:	Arch Linux

4.  `/etc/lsb-release`:

        DISTRIB_ID="Arch"
        DISTRIB_RELEASE="rolling"
        DISTRIB_DESCRIPTION="Arch Linux"

5.  `/etc/os-release`:

        NAME="Arch Linux"
        PRETTY_NAME="Arch Linux"
        ID=arch
        BUILD_ID=rolling
        ANSI_COLOR="38;2;23;147;209"
        HOME_URL="https://archlinux.org/"
        DOCUMENTATION_URL="https://wiki.archlinux.org/"
        SUPPORT_URL="https://bbs.archlinux.org/"
        BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
        PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
        LOGO=archlinux-logo

6.  桌面环境:

    无法确定桌面环境。

7.  XDG 会话类型:

        XDG_SESSION_TYPE='wayland'

8.  Bash 版本:

        BASH_VERSION='5.2.37(1)-release'

# 环境:
1.  DISPLAY:

        DISPLAY=':0'


        WAYLAND_DISPLAY='wayland-1'

2.  键盘布局:

    1.  `setxkbmap`:

            WARNING: Running setxkbmap against an Xwayland server
            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.  全部可用 locale:

            C
            C.utf8
            en_US.utf8
            POSIX
            zh_CN
            zh_CN.gb18030
            zh_CN.gb2312
            zh_CN.gbk
            zh_CN.utf8

    2.  当前 locale:

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

4.  目录:

    1.  主目录:

            /home/was

    2.  `${XDG_CONFIG_HOME}`:

        环境变量 `XDG_CONFIG_HOME` 没有设定。

        `XDG_CONFIG_HOME` 的当前值是 `~/.config` (`/home/was/.config`)。

    3.  Fcitx5 设置目录:

        当前 fcitx5 设置目录是 `~/.config/fcitx5` (`/home/was/.config/fcitx5`)。

5.  当前用户:

    脚本作为 was (1000) 运行。

# Fcitx 状态:
1.  可执行文件:

    在 `/usr/bin/fcitx5` 找到了 fcitx5。

2.  版本:

    Fcitx 版本: `5.1.12`

3.  进程:

    **Fcitx5 没有在运行。**
    **请访问 [入门指南]([url]http://fcitx-im.org/wiki/Beginner%27s_Guide/zh-cn[/url]) 页面上对应您发行版的配置链接查看如何配置 fcitx5 的自动启动.**

# 前端设置:
此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 `xargs -0 -L1 /proc/$PID/environ` 检查此进程的实际的环境变量。

## Xim:
1.  `${XMODIFIERS}`:

    环境变量 XMODIFIERS 已经正确地设为了“@im=fcitx”。
    从环境变量中获取的 Xim 服务名称为 fcitx.

2.  根窗口上的 XIM_SERVERS:

    Xim 服务的名称与环境变量中设置的相同。

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    **环境变量 QT_IM_MODULE 的值被设为了“fcitx5”而不是“fcitx”。请检查您是否在某个初始化文件中错误的设置了它的值。**
    **您可能会在 qt4 程序中使用 fcitx 时遇到问题.**

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE[/url])。**

    **`fcitx5-qt4-immodule-probing` 未找到.**

2.  qt5 - `${QT_IM_MODULE}`:

    **环境变量 QT_IM_MODULE 的值被设为了“fcitx5”而不是“fcitx”。请检查您是否在某个初始化文件中错误的设置了它的值。**
    **您可能会在 qt5 程序中使用 fcitx 时遇到问题.**

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE[/url])。**

    使用 fcitx5-qt5-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=fcitx5
        IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext

3.  qt6 - `${QT_IM_MODULE}`:

    **环境变量 QT_IM_MODULE 的值被设为了“fcitx5”而不是“fcitx”。请检查您是否在某个初始化文件中错误的设置了它的值。**
    **您可能会在 qt6 程序中使用 fcitx 时遇到问题.**

    **请使用您发行版提供的工具将环境变量 QT_IM_MODULE 设为 "fcitx" 或者将 `export QT_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:QT_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#QT_IM_MODULE[/url])。**

    使用 fcitx5-qt6-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=fcitx5
        IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext

4.  Qt 输入法模块文件:

    找到了 fcitx5 的 qt 输入法模块:`/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。
    找到了 fcitx5 qt5 模块:`/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`。
    找到了 fcitx5 qt6 模块:`/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so`。
    找到了未知的 fcitx qt 模块:`/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so`。
    找到了 fcitx5 的 qt6 输入法模块:`/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`。

    下列错误也许并不准确,因为对路径所对应的 Qt 版本的猜测取决于发行版如何打包 Qt。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错误也不是严重问题。
    **无法找到 Qt4 的 fcitx5 输入法模块。**

## Gtk:
1.  gtk - `${GTK_IM_MODULE}`:

    **环境变量 GTK_IM_MODULE 的值被设为了“fcitx5”而不是“fcitx”。请检查您是否在某个初始化文件中错误的设置了它的值。**
    **您可能会在 gtk 程序中使用 fcitx 时遇到问题.**

    **请使用您发行版提供的工具将环境变量 GTK_IM_MODULE 设为 "fcitx" 或者将 `export GTK_IM_MODULE=fcitx` 添加到您的 `~/.xprofile` 中。参见 [输入法相关的环境变量:GTK_IM_MODULE]([url]http://fcitx-im.org/wiki/Input_method_related_environment_variables/zh-cn#GTK_IM_MODULE[/url])。**

    使用 fcitx5-gtk2-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

        GTK_IM_MODULE=fcitx5

    使用 fcitx5-gtk3-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

        GTK_IM_MODULE=fcitx5

    使用 fcitx5-gtk4-immodule-probing 来检查在当前环境下将被实际使用的输入法模块:

        GTK_IM_MODULE=fcitx5

2.  `gtk-query-immodules`:

    1.  gtk 2:

        在 `/usr/bin/gtk-query-immodules-2.0` 找到了 gtk `2.24.33` 的 `gtk-query-immodules`。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        已找到 gtk `2.24.33` 的 fcitx5 输入法模块。

            "/usr/lib/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:

        在 `/usr/bin/gtk-query-immodules-3.0` 找到了 gtk `3.24.49` 的 `gtk-query-immodules`。
        版本行:

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

        已找到 gtk `3.24.49` 的 fcitx5 输入法模块。

            "/usr/lib/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 输入法模块缓存:

    1.  gtk 2:

        在 `/usr/lib/gtk-2.0/2.10.0/immodules.cache` 找到了 gtk `2.24.33` 的输入法模块缓存。
        版本行:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        已找到 gtk `2.24.33` 的 fcitx5 输入法模块。

            "/usr/lib/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:

        在 `/usr/lib/gtk-3.0/3.0.0/immodules.cache` 找到了 gtk `3.24.49` 的输入法模块缓存。
        版本行:

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

        已找到 gtk `3.24.49` 的 fcitx5 输入法模块。

            "/usr/lib/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:*"

4.  Gtk 输入法模块文件:

    1.  gtk 2:

        找到的全部 Gtk 2 输入法模块文件均存在。

    2.  gtk 3:

        找到的全部 Gtk 3 输入法模块文件均存在。

    3.  gtk 4:

        找到的全部 Gtk 4 输入法模块文件均存在。

# 配置:
## Fcitx 插件:
1.  插件配置文件目录:

    找到了 fcitx5 的插件配置目录:`/usr/share/fcitx5/addon`。

2.  插件列表:

    1.  找到了 21 个已启用的插件:

            Classic User Interface 5.1.12
            Clipboard 5.1.12
            DBus 5.1.12
            DBus Frontend 5.1.12
            Emoji 5.1.12
            Fcitx4 Frontend 5.1.12
            IBus Frontend 5.1.12
            Input method selector 5.1.12
            Keyboard 5.1.12
            KDE Input Method Panel 5.1.12
            Status Notifier 5.1.12
            Notification 5.1.12
            Quick Phrase 5.1.12
            Rime 5.1.10
            Spell 5.1.12
            Unicode 5.1.12
            DBus Virtual Keyboard 5.1.12
            Wayland 5.1.12
            Wayland Input method frontend 5.1.12
            XCB 5.1.12
            X Input Method Frontend 5.1.12

    2.  找到了 0 个被禁用的插件:

3.  插件库:

    所有插件所需的库都被找到。

4.  用户界面:

    找到了 3 个已启用的用户界面插件:

        Classic User Interface
        KDE Input Method Panel
        DBus Virtual Keyboard

## 输入法:
1.  `/home/was/.config/fcitx5/profile`:

        [Groups/0]
        # Group Name
        Name=Default
        # Layout
        Default Layout=us
        # Default Input Method
        DefaultIM=rime

        [Groups/0/Items/0]
        # Name
        Name=keyboard-us
        # Layout
        Layout=

        [Groups/0/Items/1]
        # Name
        Name=rime
        # Layout
        Layout=

        [GroupOrder]
        0=Default

# 日志:
1.  `date`:

        2025年 04月 19日 星期六 08:51:45 CST

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

    `/home/was/.config/fcitx5/crash.log` 未找到.

**警告:fcitx5-diagnose 的输出可能包含敏感信息,包括发行版名称,内核版本,正在运行的程序名称等。**

**尽管这些信息对于开发者诊断问题有帮助,请在公开发送到在线网站前检查并且根据需要移除的对应信息。**

最近编辑记录 jerry-xjn (2025-04-19 08:53:28)

离线

#3 2025-04-19 09:01:10

jerry-xjn
会员
注册时间: 2021-11-12
帖子: 5

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

我尝试了wiki上 在Wayland上运行原生chromium 所提供的方法,但这些对我并不生效

离线

#4 2025-04-19 09:44:25

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 9,374
个人网站

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

听起来是 hyprland 的输入法支持问题。

离线

#5 2025-04-22 15:19:59

fengxin2025
会员
注册时间: 2025-04-22
帖子: 1

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

sway brave 更新最新版本也是类似问题,我的问题相反只有最新窗口能输入中文,降级上一个版本恢复正常 Chromium 版本 135.0.7049.84 。  奇怪的这个还影响钉钉输入中文

最近编辑记录 fengxin2025 (2025-04-22 15:20:31)

离线

#6 2025-04-22 16:38:30

Yulliiiiiiiiiiil
不是猫猫
所在地: Yulliil's Delusion
注册时间: 2025-03-04
帖子: 46

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

fengxin2025 说:

sway brave 更新最新版本也是类似问题,我的问题相反只有最新窗口能输入中文,降级上一个版本恢复正常 Chromium 版本 135.0.7049.84 。  奇怪的这个还影响钉钉输入中文

我的 chromium 在 Wayland 下也有这个问题,并且候选菜单会漂到窗口左上角


犹离忧也(?)

为什么是 11 个 i 而不是两个 i

离线

#7 2025-06-02 14:55:45

BrianZH
会员
注册时间: 2025-05-30
帖子: 1

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

我的chromium也是这种情况,只要有一个打开的chromium窗口,其他窗口(例如微信)都无法输入中文

离线

#8 2025-07-07 21:18:07

khfxcc
会员
注册时间: 2025-04-14
帖子: 3

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

在无人在意的角落里,这个问题已经被悄悄解决了

hyprland 0.49.0-2
chromium 138.0.7204.92-1

刚发现()

离线

#9 2025-07-08 13:54:26

BRS5672023
会员
注册时间: 2020-07-07
帖子: 159

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

khfxcc 说:

在无人在意的角落里,这个问题已经被悄悄解决了

hyprland 0.49.0-2
chromium 138.0.7204.92-1

刚发现()

在 niri 上也没有这个问题了

离线

#10 2025-07-08 18:51:19

chrisivanovic
会员
注册时间: 2023-06-13
帖子: 99

Re: hyprland下只有第一个打开的chrome窗口能够获取键盘输入

BRS5672023 说:
khfxcc 说:

在无人在意的角落里,这个问题已经被悄悄解决了

hyprland 0.49.0-2
chromium 138.0.7204.92-1

刚发现()

在 niri 上也没有这个问题了

真的好了, 之前退格键还长按不能重复来着, 现在也修复了, 神奇

离线

页脚