如何在.XCompose文件中配置连字符及其他特殊字符的组合键?
解决.XCompose长音字母配置及符号键名问题
为什么y+连字符会输出¥?
系统默认的Compose规则里已经定义了<Multi_key> <y> <hyphen>对应¥,如果你的自定义规则写在include "%L"之前,会被默认规则覆盖——必须把自定义规则放在默认规则引入之后。
正确配置长音字母的方法
在你的.XCompose文件中,添加以下规则(注意顺序,自定义规则要在include "%L"之后):
include "%L" # 已有的对勾输入规则 <Multi_key> <v> <v> : "✓" U2713 # 长音字母:字母+连字符组合 <Multi_key> <a> <hyphen> : "ā" U0101 <Multi_key> <e> <hyphen> : "ē" U0113 <Multi_key> <i> <hyphen> : "ī" U012B <Multi_key> <o> <hyphen> : "ō" U014D <Multi_key> <u> <hyphen> : "ū" U016B <Multi_key> <y> <hyphen> : "ȳ" U0233
配置后,按下Multi键(通常是右Alt键,部分系统为Menu键)+对应字母+连字符,就能输出目标长音字母。
符号的键名使用说明
- 不能直接把符号放在
<>里,比如连字符必须用专用键名<hyphen>,而非<->。 - 常见符号的专用键名示例:
- 连字符:
<hyphen> - 下划线:
<underscore> - 感叹号:
<exclam> - 问号:
<question> - 逗号:
<comma> - 句号:
<period>
- 连字符:
如何查询完整的键名列表?
直接查看本地系统的默认Compose配置文件即可,无需跳转外部网站:
- 典型路径:
/usr/share/X11/locale/en_US.UTF-8/Compose(如果是其他语言环境,替换en_US.UTF-8为对应的locale名称) - 用文本编辑器打开该文件,里面包含了所有系统支持的专用键名和默认映射规则,是最权威的参考资料。
生效方式
修改完.XCompose后,重新登录当前用户会话即可生效,无需重启系统。
内容的提问来源于stack exchange,提问作者monstro1
相关产品推荐
相关产品推荐

