我想配置 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
安装Gnome 调整:
sudo apt install gnome-tweaks
跑步Gnome 调整:按下 Super(又名 Windows)键,输入
Tweaks
,按 Enter。去键盘和鼠标左侧列表中的部分。
点击附加布局选项右侧主区域中的按钮。
展开大写锁定行为部分。
选择将 Caps Lock 设为附加菜单键。这似乎是将 Caps Lock 显示为常规、非修饰、未使用的键的唯一可用选项。
关闭两个窗口。
您现在可以使用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"
这很容易编写脚本,您甚至可以将此命令原始放入“设置”→“键盘”→“键盘快捷键”→“查看和自定义快捷键”→“自定义快捷键”下的自定义快捷键中。