某些东西阻碍了 Ctrl+Alt+左/右箭头键盘组合

某些东西阻碍了 Ctrl+Alt+左/右箭头键盘组合

在 Ubuntu 18.04 中,我无法将Ctrl+ Alt+Ctrl+ Alt+分配给任何东西。准确地说,我可能将它绑定到某个东西,但在使用键盘组合时它不起作用,但向上/向下箭头可以工作。

请参阅此处的屏幕截图

奇怪的是,系统在分配按键时会检测键盘组合,但在尝试使用它们时却检测不到。因此,键盘组合在任何其他程序中都不起作用。

答案1

Ctrl+ Alt+Ctrl+ Alt+分别是“切换到工作区左侧”和“切换到工作区右侧”的默认快捷键。您可以通过运行来验证

gsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-left

(并right代替left)。

由于默认情况下 GNOME shell 具有单列工作区,因此这些快捷方式根本没有任何效果(除非您尝试类似)。

要解除这些键盘组合的绑定,请运行

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"

(与 类似right)。然后,您就可以将这些组合用作自定义快捷方式。

答案2

问题是 Ubuntu 18.04 设置 GUI 没有显示所有键盘快捷键。

  • 它没有列出“向左/向右移动(切换)到工作区”(即使已分配快捷方式)。
  • 如果某个命令有多个快捷键,它只会显示第一个键盘快捷键,例如“移动(切换)到上方/下方的工作区”,它实际上有第二个键绑定Ctrl+ Alt+ up/ down

在此处输入图片描述

要查看所有窗口管理器键绑定:

gsettings list-recursively | grep org.gnome.desktop.wm.keybindings | sort

org.gnome.desktop.wm.keybindings switch-to-workspace-down ['<Super>Page_Down', '<Control><Alt>Down']
org.gnome.desktop.wm.keybindings switch-to-workspace-left ['<Control><Alt>Left']
org.gnome.desktop.wm.keybindings switch-to-workspace-right ['<Control><Alt>Right']
org.gnome.desktop.wm.keybindings switch-to-workspace-up ['<Super>Page_Up', '<Control><Alt>Up']

现在,您可以看到有一堆Ctrl++ Alt/ up/ down/键left绑定right未在“设置”屏幕中显示。

要删除不需要的键绑定:

gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-down "['<Super>Page_Down']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-up "['<Super>Page_Up']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"

现在您可以在其他地方使用键绑定。

答案3

看起来上述答案没有帮助。

对于我在 Ubuntu 20.04 中修改了/usr/share/X11/xkb/symbols/group文件(通过sudo)并注释了这些行(标记为大胆的):

// CTRL-SHIFT toggle section
//
//partial modifier_keys
//xkb_symbols "lctrl_lshift_toggle" {
//    key <LFSH> {
//        type[Group1]="PC_CONTROL_LEVEL2",
//        symbols[Group1] = [ Shift_L, ISO_Next_Group ]
//    };
//    key <LCTL> { [ Control_L, ISO_Next_Group ] };
//};
//partial modifier_keys
//xkb_symbols "lctrl_lshift_toggle_rev" {
//    key <LFSH> {
//        type[Group1]="PC_CONTROL_LEVEL2",
//        symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
//    };
//    key <LCTL> { [ Control_L, ISO_Prev_Group ] };
//};
partial modifier_keys
xkb_symbols "rctrl_rshift_toggle" {
    key <RTSH> {
        type[Group1]="PC_CONTROL_LEVEL2",
        symbols[Group1] = [ Shift_R, ISO_Next_Group ]
    };
    key <RCTL> { [ Control_R, ISO_Next_Group ] };
};
partial modifier_keys
xkb_symbols "ctrl_shift_toggle" {
//    include "group(lctrl_lshift_toggle)"
    include "group(rctrl_rshift_toggle)"
};
partial modifier_keys
xkb_symbols "ctrl_shift_toggle_bidir" {
//    include "group(lctrl_lshift_toggle_rev)"
    include "group(rctrl_rshift_toggle)"

然后注销并再次登录。这很有帮助。

相关内容