系统忽略选定的键盘布局

系统忽略选定的键盘布局

经过我对键盘布局的实验(以实现东西)我失去了切换它们的能力。唯一可用的布局是 En(us)。我可以切换它,顶部栏中的图标会发生变化,但不会影响实际布局。

我已经编写了这个脚本来恢复 cirillic 脚本。

#!/bin/bash

declare -a layout_set=('us' 'ru(winkeys)' 'ua(winkeys)');

curr_layout=`setxkbmap -query | grep "layout" | awk '{print $2}'`;

layout_count=${#layout_set[@]};
for (( i=0; i<$layout_count; i++ ));
do
  if [ ${layout_set[$i]} == $curr_layout ]
  then
    cur_layout_num=$i;
  fi
done

next_layout_num=$(($cur_layout_num + 1));

if [ $next_layout_num -eq $layout_count ]
then
  next_layout_num=0;
fi

setxkbmap -layout ${layout_set[$next_layout_num]};

它运行良好,但 Ubuntu 不允许我将其分配给 Ctrl+Shift 热键,我应该使用另一个 (Super+Space)。此外,我无法在顶部栏显示当前布局。

那么,有人能帮我解决我的问题或至少改进我的脚本吗?使用来宾帐户我没有遇到任何问题,但我认为创建新的用户帐户并不是一个好的解决方案。

相关内容