如果无法识别死键组合,则插入两个字符(例如“a → á、”b → “b”)

如果无法识别死键组合,则插入两个字符(例如“a → á、”b → “b”)

当我在我的 Linux Mint 机器上使用英语、美国国际语的任何变体(带有死键、altGr 死键或替代)时,我总是遇到这种行为。
当我按下这些键之一时:' "然后在它们后面加上一个“非重音”字符,例如 a[或 ab根本不会输出。

而在 Windows US-International 中,它会打印[b。如果我想输入这个,我必须用空格而不是任何“不可重音”字符来转义每个死键。这在编程时很烦人(其实并不烦人,但我在 typing.io 上使用 Windows“Qwerty International”进行训练,在系统之间来回切换很烦人)。

有什么方法可以改变它以使其像在 Windows 中一样工作吗?

答案1

我找到了一种在 OpenSUSE 中实现此功能的方法,我希望它在 Mint 中不会有太大不同。也许您的文件位于略有不同的位置,但找到正确的文件应该不会太难。

OpenSUSEibus默认使用(或者至少 Gnome 版本),但我摆脱了它并使用了xim.我不知道 Mint 是否也使用ibus,但无论如何,我都会发布完整的说明。根据需要跳过/调整这些步骤。

  1. 卸载ibus。在 OpenSUSE 中,那就是sudo zypper rm ibus.注销并再次登录以杀死僵尸守护进程。

  2. 安装gtk3-immodule-xim。在 OpenSUSE 中,它是sudo zypper in gtk3-immodule-xim.

  3. 编辑/etc/X11/xim.d/none。设置。XMODIFIERS@im=none设置GTK_IM_MODULEQT_IM_MODULExim

  4. cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose。如果.XCompose您的主目录中有文件,X11 将使用它。现在我们可以编辑这个文件来自定义死键。

  5. 现在,无聊的部分。编辑.XCompose文件并为每个死键组合创建规则,输出所需的字符串。例如:

    <dead_acute> <b> : "'b"
    <dead_acute> <r> : "'r"
    ...
    

    请记住也为大写字母创建规则(以及标点符号,以及您需要的任何内容)。

  6. 如果您像我一样,在使用 时也想使用变音符号 ( ç) 而不是带重音符号的 c ( ć) <dead_acute> <c>,只需查找并编辑这些行即可。

现在你就得到了它。注销并再次登录,所有应用程序都应该正确处理输入!

编辑:我知道这xim是旧的和有缺陷的(它在配置文件中这么说),但上面是我能让一切正常工作的唯一方法。也许uim也能完成这项工作。

答案2

在 Ubuntu 14.04 上我执行了以下操作:

1)uim使用软件管理器安装,其他软件包如uim-ximuim-gtk2uim-gtk3uim-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

在1)重新启动Ubuntu或2)通过在终端中输入以下命令仅X服务器后,这对我有用:

$ sudo restart lightdm

注意:只有在更改文件后才需要重新启动~/.profile,更改将~/.XCompose在下次应用程序(终端、Gedit 等)启动时生效。

要检查环境变量是否设置正确,请在终端中输入以下命令:

$ printenv | grep IM_MODULE

非常感谢:

关于自定义撰写键序列:

关于自定义键盘映射:

答案3

拥有不同的'a行为'b方式听起来很烦人。我建议您使用不同的方式来输入带有变音符号的字符。不要制作这样的死键,而是'使用撰写键。要输入'a',您可以' a '正常键入。要输入á,请键入Compose ' a

我不熟悉 Mint 的键盘布局配置界面,但它应该有一个选项可以在某处启用 Compose 键。通常的选择是使用位于右键左侧的“菜单”键Ctrl(但这在笔记本电脑上并不总是方便)。

为了保持统一,您可以在 Windows 上启用 Compose 键:文创

答案4

我还不能让它全部工作(无法弄清楚如何做一些事情,比如 . ^ 和 & [可能是八进制值]),但现在对我来说已经足够了。当我最终完成第一/第二级时,我将为 xim 重新上传正确修改的 .XCompose。再次感谢 cksk 的帮助。

http://pastebin.com/vJg6G0th

相关内容