uli*_*tko 4 keyboard keyboard-layout gnome-settings-daemon 13.10 14.04
我广泛使用两种键盘布局(英语为拉丁文,乌克兰语和俄语为西里尔文),并且由于 UI 状态的额外位:当前布局而使我感到模式错误。
我曾经通过使用无状态布局切换来完全消除它们,其中一个没有next layout
动作(因为这样的动作基于当前状态,用户很容易忘记,因此会导致错误),而只有两个动作:
这在 Saucy 之前的版本中是可以轻松实现的。如上图所示。
但是,该设置窗口在 Saucy 中被破坏了。
我现在如何进行无状态切换?
此命令会将布局设置为第一个(它与 Unity/Gnome Indicator、Ubuntu 13.10/14.04 配合良好):
gsettings set org.gnome.desktop.input-sources current 0
Run Code Online (Sandbox Code Playgroud)
您可以使用调整工具、gnome 操作、compiz 操作插件等来为其创建键盘快捷键。
布局从 0 开始索引。因此您可以为列表中的任何布局创建快捷方式。
您可以使用它为最后一个布局创建复杂的脚本,而无需提供索引:
gsettings get org.gnome.desktop.input-sources sources
Run Code Online (Sandbox Code Playgroud)
喜欢:
gsettings set org.gnome.desktop.input-sources current $(($(gsettings get org.gnome.desktop.input-sources sources | grep -Po "'[[:alpha:]]+'\)" | wc -l)-1))
Run Code Online (Sandbox Code Playgroud)
Ubuntu 和 GNOME 中的键盘选项只不过是 X 键盘扩展 (XKB) 的前端。如果您愿意手动配置,您可以使用命令行轻松地重新启用所有现在缺少的选项setxkbmap
。
例如,要在俄语和英语键盘布局之间设置非模式切换,可以使用以下命令:
\n\nsetxkbmap -layout us,ru -option grp:shift_caps_switch\n
Run Code Online (Sandbox Code Playgroud)\n\n这将为当前会话启用这些 XKB 设置。如果您想让更改永久生效,您必须将上面的命令添加到您的启动应用程序中。
\n\n如果您对可以控制的各种其他设置感兴趣setxkbmap
,我建议您仔细阅读手册 ( man setxkbmap
) 并查看/usr/share/X11/xkb/rules/base.lst
。后者记录了配置撰写键、键盘布局切换等的所有不同方法。
以下是base.lst
键盘布局切换部分:
! option\n grp Key(s) to change layout\n grp:switch Right Alt (while pressed)\n grp:lswitch Left Alt (while pressed)\n grp:lwin_switch Left Win (while pressed)\n grp:rwin_switch Right Win (while pressed)\n grp:win_switch Any Win key (while pressed)\n grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action\n grp:rctrl_switch Right Ctrl (while pressed)\n grp:toggle Right Alt\n grp:lalt_toggle Left Alt\n grp:caps_toggle Caps Lock\n grp:shift_caps_toggle Shift+Caps Lock\n grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)\n grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)\n grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)\n grp:alt_caps_toggle Alt+Caps Lock\n grp:shifts_toggle Both Shift keys together\n grp:alts_toggle Both Alt keys together\n grp:ctrls_toggle Both Ctrl keys together\n grp:ctrl_shift_toggle Ctrl+Shift\n grp:lctrl_lshift_toggle Left Ctrl+Left Shift\n grp:rctrl_rshift_toggle Right Ctrl+Right Shift\n grp:ctrl_alt_toggle Alt+Ctrl\n grp:alt_shift_toggle Alt+Shift\n grp:lalt_lshift_toggle Left Alt+Left Shift\n grp:alt_space_toggle Alt+Space\n grp:menu_toggle Menu\n grp:lwin_toggle Left Win\n grp:rwin_toggle Right Win\n grp:lshift_toggle Left Shift\n grp:rshift_toggle Right Shift\n grp:lctrl_toggle Left Ctrl\n grp:rctrl_toggle Right Ctrl\n grp:sclk_toggle Scroll Lock\n grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)\n
Run Code Online (Sandbox Code Playgroud)\n\n各种 XKB 设置也记录在man 7 xkeyboard-config
.
如果setxkbmap
这对您不起作用,您可以尝试通过dconf
以下方式设置 XKB 选项:
dconf-editor
(sudo apt-get install dconf-editor
)xkb-options
数组的形式添加。例如:[\'grp:shift_caps_switch\']
归档时间: |
|
查看次数: |
1469 次 |
最近记录: |