SDB:Wayland 输入法

跳转到:导航搜索


在 openSUSE 上测试

推荐文章

Icon-manual.png
  • N/A

相关文章

Icon-help.png
  • N/A


情况

在 Wayland 会话中配置输入法的方式与 X11 不同。在 Wayland 下,输入法由合成器(即桌面环境)处理,因此配置因环境而异。

此外,Wayland 下的输入法支持存在某些限制。本文档介绍了如何在 Wayland 上使用输入法,并为需要额外步骤才能正常运行的应用程序提供了解决方法。


按桌面环境配置输入法

以下部分介绍了如何在常用的支持 Wayland 的桌面环境中启用输入法。

KDE Plasma Wayland

在 KDE Plasma Wayland 下,KWin 管理并启动输入法,这些输入法被称为虚拟键盘。它们的配置存储在 ~/.config/kwinrc 中。可用的虚拟键盘在桌面条目文件中列出,这些文件包含键 X-KDE-Wayland-VirtualKeyboard=true,位于 /usr/share/applications/ 中。

如何配置

  1. 打开系统设置
  2. 点击键盘,然后选择虚拟键盘
  3. 选择要使用的输入法
    • IBus Wayland
    • Fcitx 5

Fcitx 的候选窗口始终显示在左上角 (boo#1085778)

KDE 输入法面板 (KIM Panel) 目前不支持 Wayland。请从您的 Plasma 面板中删除 KIM Panel 部件。之后,Fcitx 5 将使用其支持 Wayland 输入法协议的候选窗口。

默认虚拟键盘

openSUSE 提供了虚拟键盘的初始设置脚本 (/usr/etc/xdg/plasma-workspace/env/20-*-plasma-setup.sh)。首次登录时,如果没有启用虚拟键盘,它们将配置虚拟键盘并启用系统上安装的输入法。如果同时安装了 IBus 和 Fcitx,它们可能会根据字母顺序启用 Fcitx(但未确定)。

GNOME Wayland

如何配置 IBus

IBus 是 GNOME 中的默认输入法。

  1. 打开设置
  2. 转到键盘
  3. 输入源下,点击+ 添加输入源以添加新的输入法。
  4. 选择您喜欢的语言和输入法(例如,日语(Mozc))。

Mozc 的候选窗口在 Qt 应用程序中放置在左上角 (1248592)

解决方法 1:在您的 ~/.profile 或其他合适的配置文件中设置 QT_IM_MODULES 环境变量

export QT_IM_MODULES="wayland;ibus"

解决方法 2:通过从 ~/.config/ibus_config.textproto 中的 compatible_wayland_desktop_names 中删除“GNOME”来禁用 Mozc Renderer 并使用 GNOME 的候选窗口

  compatible_wayland_desktop_names : []

如何配置 Fcitx

进行中


应用程序的解决方法

Chromium 及其衍生版本

自 v140 以来,Wayland 检测应默认启用;以下配置可能不再必要。
  1. 在 URL 框中键入 chrome:flags,并访问 Experiments 页面。
  2. 设置以下选项
    • 首选 Ozone 平台:自动
    • Wayland text-input-v3:已启用

Slack(从 Flatpak 安装)

为了允许与当前的 Wayland 会话进行通信,您需要使用以下命令运行 Slack

% flatpak run com.slack.Slack --socket=wayland --ozone-platform=wayland


Visual Studio Code(作为 RPM 包安装)

要使用 Wayland 及其输入法协议,请在您的 ~/.profile 或其他合适的配置文件中设置以下环境变量

export ELECTRON_OZONE_PLATFORM_HINT=auto

从 X11 迁移

INPUT_METHOD 和 /etc/sysconfig/language

在 X11 会话中,INPUT_METHOD 环境变量(可通过 /etc/sysconfig/language 配置)用于在输入法之间切换并通过 XDG autostart 启动它们。在 Wayland 会话下,除非用户在他们的配置文件中手动定义它,否则此变量不会设置,因为输入法由上面描述的 Wayland 合成器管理。

要迁移到 Wayland,请确保取消设置 INPUT_METHOD(如果您已手动定义它)。


外部链接