Soc*_*owi 5 input-method compose-key
我正在努力在~/.XCompose
. 随着我添加越来越多的序列,有时我会打错字或对不同的符号使用相同的序列。
错别字/不存在的代码
<Multi_key> <non-existent-keysym> : other-non-existent-keysym
Run Code Online (Sandbox Code Playgroud)
完全碰撞
<Multi_key> <a> <b> : x # overrule by 2nd rule
<Multi_key> <a> <b> : y
Run Code Online (Sandbox Code Playgroud)
前缀冲突
<Multi_key> <a> <b> <c> : y
<Multi_key> <a> <b> : x # overruled by 1st rule
Run Code Online (Sandbox Code Playgroud)
是否有验证我的~/.XCompose
文件的命令。最低要求是二进制答案:要么 »您的 XCompose 没有错误« 或 »您的 XCompose 包含错误«。如果出现错误,欢迎提供有用的错误消息,例如 »规则序列前缀的冲突 «。
我创建了~/.XCompose
包含上面的所有错误并打开了一个文本编辑器。文本编辑器没有显示错误(在控制台上)。正确且未被推翻的序列有效,所有其他序列都将被忽略。
我读了man 5 XCompose
。在文档本身中,我发现没有任何帮助。我查看了man 5 XCompose
. 只有mkcomposecache(1)
看起来很有希望(从判断一派手册页),但似乎缺少我的系统(Linux Mint的18.3)上。既没有man -k mkcomposecache
也没有apt search mkcomposecache
找到任何东西。
编辑:正如@quixotic 所建议的,我mkcomposecache
从源代码编译并运行它,但它的退出状态是1
,无论我选择什么撰写文件(有或没有错误)。没有错误信息。不生成缓存。我如何调用程序的示例:
$ mkcomposecache en_US.UTF-8 /usr/share/X11/locale/en_US.UTF-8/Compose /tmp/
* XOpenDisplay: Success
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
该文件/usr/share/X11/locale/en_US.UTF-8/Compose
是 Ubuntu 的原始撰写文件,应该没有错误。我想它没有打包在 Ubuntu 和 Arch Linux 存储库中是有原因的。
我怀疑这mkcomposecache
就是我所需要的,即使它会起作用。