18.04 Ctrl + Shift更改语言


82

我可以使用Ctrl+ Shift更改语言吗?我无法设置此热键来更改键盘语言。

此刻Alt+ Shift切换了语言,但在键盘热键列表或键盘上看不到该热键

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

输出。


Answers:


147

您可以如下设置键盘快捷键:

  • 在Ubuntu 18.04 LTS,带有GNOME Tweaks GNOME桌面的19.04和19.10上。

    1. 安装它

      sudo apt-get install gnome-tweaks
      
    2. 然后打开GNOME Tweaks(gnome-tweaks)。

    3. 选择键盘和鼠标选项卡
    4. 单击其他布局选项按钮
    5. 展开切换到其他布局
    6. 在这里选择Ctrl+Shift

    请参见下面的屏幕截图:

    GNOME调整-设置<Ctrl + Shift>

    或者简单地:

    gsettings set org.gnome.desktop.input-sources xkb-options \
    "['grp:ctrl_shift_toggle']"
    

    如果您不喜欢Super+ SpaceShift+ Super+ Space,可以通过以下方式禁用它们

    gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['']"
    gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward  "['']"
    gsettings set org.freedesktop.ibus.general.hotkey triggers "['']"
    

    注意:您将遇到干扰问题,因为GNOME终端中的Ctrl+ Shift+ T会在打开新标签时立即切换语言。这是已知的错误1683383

  • 在Ubuntu MATE 18.04 LTS和Ubuntu MATE 19.04上,可以从以下位置进行mate-keyboard-properties

    1. 打开MATE控制中心
    2. 点击键盘
    3. 转到布局标签
    4. 点击选项
    5. 展开切换到其他布局
    6. 在这里选择Ctrl+Shift

      请参见下面的屏幕截图:

      MATE Con​​trol Center键盘

      或者简单地:

      gsettings set org.mate.peripherals-keyboard-xkb.kbd options \
      "['grp\tgrp:ctrl_shift_toggle']"
      

      注意:这里的错误1683383是由我的PPA软件包修复的:

      sudo add-apt-repository ppa:nrbrtx/xorg-hotkeys
      sudo apt-get update
      sudo apt-get dist-upgrade
      

      因此,在应用来自ArchLinux AUR的补丁“针对freedesktop bug 865(需要在发布时踢出热键,而不是按下)” 之后,Ctrl+ Shift键盘布局切换器将在MATE DE上正常工作。

      保修免责声明:套件已在

      • 具有HWE的16.04 LTS(Unity,MATE,Xfce)
      • 18.04 LTS(肉桂,KDE,MATE,Xfce)
      • 18.10(肉桂,KDE,伴侣,Xfce)
      • 19.04(Cinnamon,KDE,MATE,Unity,Xfce)。
      • 19.10(Cinnamon,KDE,MATE,Unity,Xfce)

      但是,即使在应用补丁程序之后,其他台式机也可能会出现问题。
      这些软件包不能解决GNOME Shell(18.04 LTS,18.10、19.04和19.10)和Unity(18.04 LTS和18.10)的问题。


如果您有兴趣,可以在community.ubuntu.com上参与民意测验和讨论


5
gnome-tweaks通过ctrl + shift + arrow破坏了文本选择:(另一个解决方案允许这种文本选择吗?
Hayate

您已经对此有所警告。可能的解决方案是切换到常规DE,例如MATE,Xfce,Cinnamon,KDE。查看我答案中的链接。
N0rbert '18

好的,我明白了。
Hayate

2
在Ubuntu 18.04.1 LTS上运行良好。
HEMA维达尔

2
谢谢,它可以正常工作:)非常遗憾,如果没有安装程序,糟糕的UX,您将无法做到这一点。
gdaras

12

我发现了基于其他答案的部分解决方法,该答案是在Ubuntu 18.04中使用Ctrl + Shift和GNOME快捷方式的:

  1. 按照N0rbert的anwser中的建议安装GNOME Tweaks :

    sudo apt install gnome-tweaks
    

    然后:

    • 运行;
    • 打开“键盘和鼠标”标签;
    • 单击“其他布局选项”按钮;
    • 无需Ctrl+Shift在“其他布局选项”窗口的“切换到另一种布局” 中选择组合键,只需取消选中所有复选框即可:

    其他布局选项

  2. 从左下角的“显示应用程序”菜单中打开“设置”应用程序。或者在终端中运行命令:

    gnome-control-center
    

    然后

    • 转到“设备”>“键盘”标签;
    • 滚动到“打字”组;
    • 设置“切换到下一个输入源”和“切换到上一个输入源”的快捷方式(按键顺序DOES MATTER !!!):

    键盘设定

    如果使用此对话框无法进行设置Ctrl+ShiftShift+Ctrl快捷方式(在我的情况下是这样),则可以通过其他方式更改这些参数:

    • 安装dconf-editor

      sudo apt install dconf-editor
      
    • 从终端运行它:

      dconf-editor
      
    • org> gnome> desktop> wm> keybindings;

    • 选择switch-input-sourceswitch-input-source-backward;
    • 关闭“使用默认值”并输入“自定义值”:<Control>Shift_L使用Ctrl+Shift或更改布局,使用<Shift>Control_L-更改布局Shift+Ctrl

    dconf编辑器

    另一种方法是使用此处建议的gsettings set控制台命令:

    gsettings set org.gnome.desktop.wm.keybindings \
    switch-input-source "['<Control>Shift_L']"
    

该解决方案的局限性在于按键的顺序很重要。如果您设置Ctrl+Shift为更改键盘布局,则只有CtrlShift按键再按键时,该键才起作用。在这种情况下,Shift先按键再按Ctrl后将不起作用。但是这个事实允许在不同的应用程序中使用包含ShiftCtrl组合键的快捷方式,例如:

  • Shift+Ctrl+T 在终端中打开新标签页;
  • Shift+Ctrl+E 在Gimp中导出图像;
  • Shift+Ctrl+F 在WebStorm / PhpStorm中打开搜索对话框。

感谢您对Shift和Ctrl排序的注意
Reddot
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.