Xfce 键盘布局更改 Ctrl+Space

Xfce 键盘布局更改 Ctrl+Space

我已经用谷歌搜索了近一周,但毫无结果。当我打开键盘设置窗格时,选项(其中包含“空格”的选项)仅限于Alt+SpaceSuper+ Space– 没有Ctrl+ Space

我找到了几个答案,但似乎都不起作用。

第一个是安装 xfce4-xkb-plugin(我已经安装了),然后在键盘设置窗格中设置“使用系统默认值”标志,然后使用插件属性来设置语言和快捷方式。它不起作用 - 属性窗格只有有关窗格项目外观的选项......仅此而已。

第二行是这一行:

-option grp:ctrl_space_toggle,grp_led:scroll en,ru

它也不起作用。如果我将其放入我的.Xmodmap文件中,则会出现错误并且不再解析该文件。

我放弃了搜索,但我真的需要这个,因为这是一个很长时间的反射。请帮我将Ctrl+设置Space 为更改布局的快捷方式。 (我使用 Arch Linux。)

答案1

这里有一个非常详细解答这对我有帮助。

我做了什么来激活Ctrl + Space键盘布局选择器→

  1. 添加新的选择器grp:lctrl_space_toggle/usr/share/X11/xkb/rules/evdev.lst
! option
  grp                  Switching to another layout
  grp:switch           Right Alt (while pressed)
  grp:lswitch          Left Alt (while pressed)
  ...
  grp:lctrl_space_toggle Ctrl+Space (Custom layout selector)
  ...
  1. 添加新的选择器grp:lctrl_space_toggle行到/usr/share/X11/xkb/rules/evdev
! option        =       symbols
  grp:shift_toggle      =       +group(shifts_toggle)
  altwin:menu           =       +altwin(menu)
  altwin:menu_win       =       +altwin(menu_win)
  ...
  grp:lctrl_space_toggle =      +group(lctrl_space_toggle)
  ...
  1. 将组块添加到/usr/share/X11/xkb/symbols/group
partial modifier_keys
xkb_symbols "lctrl_space_toggle" {
    key <SPCE> {
        type[Group1]="PC_CONTROL_LEVEL2",
        symbols[Group1] = [ space, ISO_Next_Group ]
    };
};

grp:* 我在其他组之间添加了这个块

  1. 获取当前键盘选项:
setxkbmap -print -verbose 10 | grep options:

输出(就我而言):

options:    ctrl:nocaps,grp:win_space_toggle
  1. 这里默认grp:win_space_toggle会覆盖我们的参数,所以我们应该首先清除所有选项:
setxkbmap -option
  1. 添加新的布局选择器选项+之前设置的其他选项(除了grp:...一个):
setxkbmap -option grp:lctrl_space_toggle,ctrl:nocaps
  1. 利润

PS,某些 GUI 工具可能会在重新启动时覆盖此行为(在我的情况下,KDE 中的SystemKeyboardAdvanced功能做了此操作),因此我们必须关闭任何快捷方式调整以避免它。将我们的自定义参数添加到以下位置也可能很有用/etc/default/keyboard

...
XKBOPTIONS="grp:lctrl_space_toggle,ctrl:nocaps"
...

相关内容