Ubuntu 17.10 及更高版本:无法将输入切换快捷方式更改为 alt+shift

pap*_*ajo 155 keyboard-layout shortcut-keys settings gnome-shell 17.10

当我尝试设置默认的组合从我的键盘切换到不同的语言布局Shift+ Super+SpaceAlt+Shift我不能。

从 Ubuntu 14 开始,甚至在我使用 Windows 之前,我就使用过这个组合。现在由于一些愚蠢的原因它不允许(实际上没有任何事情发生,不像我收到错误或组合在其他地方使用)。我怎么能绕过这个错误?

pom*_*sky 243

您可以使用(GNOME) Tweaks来实现您的目标。首先通过运行安装它

sudo apt install gnome-tweaks
Run Code Online (Sandbox Code Playgroud)

(在 Ubuntu 18.04 及更高版本上)或

sudo apt install gnome-tweak-tool
Run Code Online (Sandbox Code Playgroud)

启动 Tweaks 并转到键盘和鼠标部分。单击“其他布局选项”。

在此处输入图片说明

应该会弹出一个新窗口。寻找“切换到另一个布局”并展开它。然后选中“ Alt+Shift ”选项。

在此处输入图片说明

  • 真是一团糟……我很幸运,因为只有硬编码选项,而我想要的选项就在那里……:PI 已经错过了统一……谢谢 m8!还有这么可爱的小狗!^^ (13认同)
  • 也是众所周知的 [bug 1218322](https://bugs.launchpad.net/bugs/1218322)。只有 gnome-tweak-tool 解决了这个问题。 (5认同)
  • 我想要的恰恰相反 - 释放这个组合键,因为它会干扰我的 PHPStorm IDE 的快捷方式,而 gnome 调整工具是唯一的方法(至少对我来说)。此快捷方式是在更新后强制执行的,该更新询问我是否要启用此组合键...我记不清更新的类型。尽管我希望使用 alt + shift 进行语言切换,但它的行为与 Windows 版本并不完全相同,并且会干扰其他使用 alt + shift 的快捷键,例如 PHPStorm 中的“alt + shift + up”。 (3认同)
  • @user502144你没有做错任何事,这是一个GNOME问题,它触发按下而不是发布。请参阅此以获得不太优雅的解决方法:https://askubuntu.com/a/973906/480481 (2认同)

小智 80

您可以使用gsettings(命令行配置工具)来实现这一点。

  1. 将转发开关设置为Shift+Alt(left)

    gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Shift>Alt_L']"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将向后开关设置为Alt+Shift(left)

    gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Alt>Shift_L']"
    
    Run Code Online (Sandbox Code Playgroud)

要查看当前设置值,请使用get命令:

gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.wm.keybindings switch-input-source-backward
Run Code Online (Sandbox Code Playgroud)

其他键绑定的示例:

<Primary>space, Alt_R, <Shift>Control_R, <Shift><Super>space
Run Code Online (Sandbox Code Playgroud)

更改将立即生效。

  • 这是实现所需更改的好方法,但这些说明会创建一个对 Windows 用户来说不自然的映射:您必须先按 shift,然后按 Alt。要使用自然的 Windows 序列,请将 `"['&lt;Shift&gt;Alt_L']"` 更改为 `"['&lt;Alt&gt;Shift_L']"` 以及类似的反向操作。正常工作。 (12认同)
  • 仍然无法用我的低信用回答,但它是: gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['&lt;Alt&gt;Shift_L', '&lt;Alt&gt;Shift_R', '&lt;Shift&gt;Alt_L', ' &lt;Shift&gt;Alt_R']” (3认同)
  • @rubmz:谢谢!我正在运行 Ubuntu 22.04.1 LTS,并且此解决方案是唯一有效的解决方案。其他人都失败了。 (3认同)
  • 在 **ubuntu 19.10** 上,这具有所需的效果,与 **gnome-tweaks** 相反,后者似乎不适用于 `alt+shift` (2认同)
  • 适用于 Ubuntu 20.04 LTS。当 Shift+Shift 更改键盘以及 https://gitlab.gnome.org/GNOME/gnome-tweaks/-/issues/145 时,Gnome Tweaks 的公认答案有一个错误 (2认同)

小智 11

Ubuntu 20.04、gnome 闪回、gsettings 选项对我不起作用。这解决了问题(从我的另一台机器复制):

gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle', 'grp_led:scroll', 'lv3:switch']"
Run Code Online (Sandbox Code Playgroud)

键盘快捷键仍然显示 Super+Space 组合,并且仍然有效,但 Alt+Shift 也有效。


Hel*_*man 5

我运行的是 Ubuntu 22.04;问题也存在于此;除了上面@ rubmz评论之外,所有答案和建议都失败了:

gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L', '<Alt>Shift_R', '<Shift>Alt_L', '<Shift>Alt_R']"