![使用 Win(Super)键切换键盘布局](https://linux22.com/image/979876/%E4%BD%BF%E7%94%A8%20Win%EF%BC%88Super%EF%BC%89%E9%94%AE%E5%88%87%E6%8D%A2%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80.png)
我需要提一下,我知道这个错误。
问题是在 Ubuntu 14.04(我使用 Gnome classic 作为 DE)中我仍然无法使用❖( Super) 切换键盘布局。
在文本输入设置对话框中设置此键没有问题。
它只是不切换布局。
有人可以建议一些解决方法来让它发挥作用吗?
答案1
我使用了一种解决方法,它本身并不依赖于 Dash,但正因为如此,它可以与 Dash 或任何启动器一起使用 - 例如 Synapse,也可以与特定于每个桌面的启动器一起使用,例如 Xfce、KDE 等。
这个想法是创建特定于布局的桌面文件并将它们放入/usr/share/applications
,以便它们可以像任何其他应用程序一样启动。
实际操作:
启动器将它们视为应用程序,每个应用程序都选择一个特定的键盘布局。
每个这样的启动器执行的命令应该是一条setxkbmap
命令,其形式如下:
setxkbmap <keyboard-layout>
例如,对于法语,它应该是setxkbmap fr
。对于带有死键的美国国际英语setxkbmap us intl
,其中us
是美国英语,intl
是变体。
要查看布局和变体的正确形式,请查看/usr/share/X11/xkb/rules/xorg.lst
。
每个桌面文件都应通过打开文本编辑器来创建,在里面放入类似于下面的行,并使用类似于keyboard_FR.desktop
、keyboard_US
、keyboard_US-deadkeys.desktop
等的名称保存文件。(文件的名称.desktop
可能与行中设置的名称不同Name=
。后者是启动器看到的名称。)
[Desktop Entry]
Name=US - Keyboard US International dead Keys
Exec=setxkbmap us intl
Icon=path/to/some/icon/file
Terminal=false
Type=Application
Categories=Application;Utility;
因此,为您需要的每个键盘布局创建一个桌面文件,并相应地更改名称、命令变量和图标。
注意行首字母,Name=
因为 Dash 和任何启动器都会根据名称的开头进行查找。您可以选择以布局的简称开头(FR 代表法语,US 代表美式英语等)或以常见形式开头,例如 Keyboard,以便将它们放在一起查看。
Icon=
也是一行有用的文字,可以更好地显示所有内容。您可以在互联网上通过搜索“图标旗帜”或“图标字母”找到现成的国家国旗或字母图标。(或者使用 Shutter 创建自己的 png 图标,方法是选择一个单色字段并在其上写上布局的简称等。)
在 Synapse 上 -这里。
答案2
最后我找到了这个问题的解决方案。我从 Gnome 经典版(回退、闪回)切换到 Mate 桌面环境。在那里它运行良好。