Ubuntu 14.04 中的无状态布局切换

Ubuntu 14.04 中的无状态布局切换

截屏

我广泛使用两种键盘布局(拉丁字母用于英语,西里尔字母用于乌克兰语和俄语),我的模式错误由于额外的 UI 状态:当前布局

我曾经用以下方法彻底消除它们无国籍者布局切换,因此无需执行next layout任何操作(因为这种操作基于当前状态,这对用户来说很容易忘记,从而导致错误),而只需要两个操作:

  1. 启用拉丁布局;
  2. 启用西里尔字母布局。

这在 Saucy 之前的版本中很容易实现。如上面的屏幕截图所示。

但是,该设置窗口被摧毁了在 Saucy 中。

我现在如何实现无状态切换?

答案1

Ubuntu 和 GNOME 中的键盘选项只不过是 X 键盘扩展 (XKB) 的前端。如果您不介意手动配置,则可以使用命令行轻松重新启用所有现在缺失的选项setxkbmap

例如,要设置俄语和英语键盘布局之间的非模态切换,您可以使用以下命令:

setxkbmap -layout us,ru -option grp:shift_caps_switch

这将为当前会话启用这些 XKB 设置。如果要使更改永久生效,您必须将上述命令添加到您的启动应用程序中

如果您对可以使用 控制的各种其他设置感兴趣setxkbmap,我建议您阅读手册 ( man setxkbmap) 并查看/usr/share/X11/xkb/rules/base.lst。后者记录了配置撰写键、键盘布局切换等的所有不同方法。

以下是base.lst有关键盘布局切换的部分:

! option
  grp                  Key(s) to change layout
  grp:switch           Right Alt (while pressed)
  grp:lswitch          Left Alt (while pressed)
  grp:lwin_switch      Left Win (while pressed)
  grp:rwin_switch      Right Win (while pressed)
  grp:win_switch       Any Win key (while pressed)
  grp:caps_switch      Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
  grp:rctrl_switch     Right Ctrl (while pressed)
  grp:toggle           Right Alt
  grp:lalt_toggle      Left Alt
  grp:caps_toggle      Caps Lock
  grp:shift_caps_toggle Shift+Caps Lock
  grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
  grp:win_menu_switch  Left Win (to first layout), Right Win/Menu (to last layout)
  grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
  grp:alt_caps_toggle  Alt+Caps Lock
  grp:shifts_toggle    Both Shift keys together
  grp:alts_toggle      Both Alt keys together
  grp:ctrls_toggle     Both Ctrl keys together
  grp:ctrl_shift_toggle Ctrl+Shift
  grp:lctrl_lshift_toggle Left Ctrl+Left Shift
  grp:rctrl_rshift_toggle Right Ctrl+Right Shift
  grp:ctrl_alt_toggle  Alt+Ctrl
  grp:alt_shift_toggle Alt+Shift
  grp:lalt_lshift_toggle Left Alt+Left Shift
  grp:alt_space_toggle Alt+Space
  grp:menu_toggle      Menu
  grp:lwin_toggle      Left Win
  grp:rwin_toggle      Right Win
  grp:lshift_toggle    Left Shift
  grp:rshift_toggle    Right Shift
  grp:lctrl_toggle     Left Ctrl
  grp:rctrl_toggle     Right Ctrl
  grp:sclk_toggle      Scroll Lock
  grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)

各种 XKB 设置也记录在 下man 7 xkeyboard-config


如果setxkbmap不起作用,您可以尝试通过dconf以下方式设置 XKB 选项:

  1. 安装dconf-editorsudo apt-get install dconf-editor
  2. 从仪表盘打开 dconf 编辑器并导航至组织侏儒桌面输入源
  3. xkb-options以数组形式添加您的 XKB 设置。例如:['grp:shift_caps_switch']

来源:使 setxkbmap 首选项在启动时设置

答案2

此命令将布局设置为第一个(它与 Unity/Gnome Indicator、Ubuntu 13.10/14.04 配合良好):

gsettings set org.gnome.desktop.input-sources current 0

您可以使用调整工具、gnome 操作、compiz 操作插件等为其创建键盘快捷键。

布局从 0 开始索引。因此,您可以为列表中的任何布局创建快捷方式。

您可以使用它来为最后的布局创建复杂的脚本,而无需提供索引:

 gsettings get org.gnome.desktop.input-sources sources

喜欢:

 gsettings set org.gnome.desktop.input-sources current $(($(gsettings get org.gnome.desktop.input-sources sources | grep -Po "'[[:alpha:]]+'\)" | wc -l)-1))

答案3

也许只需使用调整工具:

在此处输入图片描述

高血压

答案4

事实证明肉桂桌面仍有该选项!很好。

相关内容