当我在我的 Linux Mint 机器上使用英语、美国国际语的任何变体(带有死键、altGr 死键或替代)时,我总是遇到这种行为。
当我按下这些键之一时:' "然后在它们后面加上一个“非重音”字符,例如 a[或 ab根本不会输出。
而在 Windows US-International 中,它会打印[或b。如果我想输入这个,我必须用空格而不是任何“不可重音”字符来转义每个死键。这在编程时很烦人(其实并不烦人,但我在 typing.io 上使用 Windows“Qwerty International”进行训练,在系统之间来回切换很烦人)。
有什么方法可以改变它以使其像在 Windows 中一样工作吗?
答案1
我找到了一种在 OpenSUSE 中实现此功能的方法,我希望它在 Mint 中不会有太大不同。也许您的文件位于略有不同的位置,但找到正确的文件应该不会太难。
OpenSUSEibus
默认使用(或者至少 Gnome 版本),但我摆脱了它并使用了xim
.我不知道 Mint 是否也使用ibus
,但无论如何,我都会发布完整的说明。根据需要跳过/调整这些步骤。
卸载
ibus
。在 OpenSUSE 中,那就是sudo zypper rm ibus
.注销并再次登录以杀死僵尸守护进程。安装
gtk3-immodule-xim
。在 OpenSUSE 中,它是sudo zypper in gtk3-immodule-xim
.编辑
/etc/X11/xim.d/none
。设置。XMODIFIERS
@im=none
设置GTK_IM_MODULE
和QT_IM_MODULE
到xim
。cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose
。如果.XCompose
您的主目录中有文件,X11 将使用它。现在我们可以编辑这个文件来自定义死键。现在,无聊的部分。编辑
.XCompose
文件并为每个死键组合创建规则,输出所需的字符串。例如:<dead_acute> <b> : "'b" <dead_acute> <r> : "'r" ...
请记住也为大写字母创建规则(以及标点符号,以及您需要的任何内容)。
如果您像我一样,在使用 时也想使用变音符号 (
ç
) 而不是带重音符号的 c (ć
)<dead_acute> <c>
,只需查找并编辑这些行即可。
现在你就得到了它。注销并再次登录,所有应用程序都应该正确处理输入!
编辑:我知道这xim
是旧的和有缺陷的(它在配置文件中这么说),但上面是我能让一切正常工作的唯一方法。也许uim
也能完成这项工作。
答案2
在 Ubuntu 14.04 上我执行了以下操作:
1)uim
使用软件管理器安装,其他软件包如uim-xim
、uim-gtk2
、uim-gtk3
和uim-qt
会自动安装。看https://launchpad.net/ubuntu/+source/uim。
2) 通过添加以下行来定义环境变量~/.profile
,这样自定义组合键序列仅适用于当前用户:
# Restart the X-server after making alterations using:
# $ sudo restart lightdm
# It seems only GTK_IM_MODULE or QT_IM_MODULE needs to be defined.
export GTK_IM_MODULE="uim"
export QT_IM_MODULE="uim"
3)为了模仿Window US International
键盘,我将以下文件之一保存在~/.XCompose
:
- https://gist.githubusercontent.com/guiambros/b773ee85746e06454596/raw/0ea6d7f7cf9a6ff38b4cafde24dd43852e46d5e3/.XCompose或者
- http://pastebin.com/vJg6G0th
在1)重新启动Ubuntu或2)通过在终端中输入以下命令仅X服务器后,这对我有用:
$ sudo restart lightdm
注意:只有在更改文件后才需要重新启动~/.profile
,更改将~/.XCompose
在下次应用程序(终端、Gedit 等)启动时生效。
要检查环境变量是否设置正确,请在终端中输入以下命令:
$ printenv | grep IM_MODULE
非常感谢:
关于自定义撰写键序列:
- http://manpages.ubuntu.com/manpages/trusty/man5/XCompose.5.html
- https://help.ubuntu.com/community/ComposeKey
关于自定义键盘映射:
答案3
答案4
我还不能让它全部工作(无法弄清楚如何做一些事情,比如 . ^ 和 & [可能是八进制值]),但现在对我来说已经足够了。当我最终完成第一/第二级时,我将为 xim 重新上传正确修改的 .XCompose。再次感谢 cksk 的帮助。