在 18.04 Bionic Beaver 中将键盘快捷键配置为 CapsLock 和 Shift + CapsLock

在 18.04 Bionic Beaver 中将键盘快捷键配置为 CapsLock 和 Shift + CapsLock

我想配置 CapsLock 始终切换到英文键盘布局(输入源),而Shift+CapsLock始终切换到俄语 [18.04]

我一直在基于 Cinnamon 和 Ubuntu 16.04 的 Linux Mint 15 上成功使用标题中描述的设置。

我刚刚进入键盘配置并为每个键盘布局(输入源)设置组合。

我通过全新安装迁移到 Ubuntu 18.04 桌面版,但发现无法执行相同的操作。我打算使用解决方案,但在 18.04 中该CapsLock键不能用作热键:

添加自定义快捷方式窗口

在此对话框中,CapsLock 键不执行任何操作或显示“取消”按钮。只有当我同时按下修饰键和字符键时,“保存”按钮才会显示出来。

那么,如何配置 CapsLock 以切换到英语(无论按多少次)以及Shift+CapsLock以切换到俄语?

PS:请注意,gnome-tweaks这里无关紧要,因为它没有针对每种语言的配置选项。

答案1

  1. 安装Gnome 调整

    sudo apt install gnome-tweaks
    
  2. 跑步Gnome 调整:按下 Super(又名 Windows)键,输入Tweaks,按 Enter。

  3. 键盘和鼠标左侧列表中的部分。

  4. 点击附加布局选项右侧主区域中的按钮。

  5. 展开大写锁定行为部分。

  6. 选择将 Caps Lock 设为附加菜单键。这似乎是将 Caps Lock 显示为常规、非修饰、未使用的键的唯一可用选项。

  7. 关闭两个窗口。

您现在可以使用Caps Lock热键 – 独立的和带有修饰符的。


至于切换到特定的键盘布局,该gsettings set org.gnome.desktop.input-sources current 0选项已被弃用并被忽略。

该命令有效:

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

答案2

gdbus call … org.gnome.Shell.Eval …其他答案自 2024 年起不再起作用。

因此,我为此创建了自己的 GNOME Shell 扩展,它遵循通过 D-Bus 工作的相同原理,但不依赖任何其他接口,而是自己实现解决方案:

什里伍克(也可以从 GitHub 获取:madhead/shyriiwook)。

这是一个非常简单、简约的扩展。它没有任何 GUI。安装后,一个新的 D-Bus 接口将出现在您的 GNOME Shell 会话中。您可以查询当前配置或调用方法来激活所需的布局:

$ gdbus introspect \
    --session \
    --dest org.gnome.Shell \
    --object-path /me/madhead/Shyriiwook \
    --only-properties

node /me/madhead/Shyriiwook {
  interface me.madhead.Shyriiwook {
    properties:
      readonly as availableLayouts = ['us', 'de', 'jp'];
      readonly s currentLayout = 'us';
  };
};

$ gdbus call \
    --session \
    --dest org.gnome.Shell \
    --object-path /me/madhead/Shyriiwook \
    --method me.madhead.Shyriiwook.activate "de"

这很容易编写脚本,您甚至可以将此命令原始放入“设置”→“键盘”→“键盘快捷键”→“查看和自定义快捷键”→“自定义快捷键”下的自定义快捷键中。

相关内容