高级键盘布局选项

我正在使用英语,俄语和亚美尼亚语键盘布局。 当我试图改变布局时,它正在改变“en” – >“am” – >“ru” – >“en”…我想使用Left Alt + Shift来切换“en”和“am”,并且右Alt + Shift切换“en”和“ru”。 你能帮助我吗?

有许多快捷方式可供选择在键盘布局之间切换 ,但没有一种适合您想要的。

无论如何,它可以使用bash脚本和两个自定义快捷方式完成。

首先,创建脚本,让我们称之为change_layouts

 #!/bin/bash #script to switch between two keyboard layouts if [ $# -ne 2 ];then echo "Usage: `basename $0` first_layout second_layout" echo " ex: change_layouts us ru" exit fi first_layout=$1 second_layout=$2 if [ -z "$(ls -l /usr/share/X11/xkb/symbols | grep ^- | awk '{print $9}' | grep $first_layout)" ]; then echo "Error: Doesn't exists ant keyboard layout called '$first_layout'." exit fi if [ -z "$(ls -l /usr/share/X11/xkb/symbols | grep ^- | awk '{print $9}' | grep $second_layout)" ]; then echo "Error: Doesn't exists ant keyboard layout called '$second_layout'." exit fi if [ "$first_layout" = "$second_layout" ]; then echo "Error: The arguments (keyboard layouts) must to be different." exit fi current_layout=$(gsettings get org.gnome.libgnomekbd.keyboard layouts) if [ "$current_layout" = "['$first_layout', '$second_layout']" ]; then gsettings set org.gnome.libgnomekbd.keyboard layouts "['$second_layout', '$first_layout']" else gsettings set org.gnome.libgnomekbd.keyboard layouts "['$first_layout', '$second_layout']" fi 

将脚本保存在~/bin目录中,不要忘记使其可执行:

 chmod +x ~/bin/change_layouts 

现在您可以在终端中测试脚本。 再运行一次以查看其工作原理。

其次,添加自定义快捷方式。 进入系统设置键盘快捷方式自定义快捷方式,然后按照下图中的说明操作:

添加自订快捷方式