![适用于 QT 应用程序的带 ' 和 c(死键)的下划线符号](https://linux22.com/image/1555922/%E9%80%82%E7%94%A8%E4%BA%8E%20QT%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%B8%A6%20'%20%E5%92%8C%20c%EF%BC%88%E6%AD%BB%E9%94%AE%EF%BC%89%E7%9A%84%E4%B8%8B%E5%88%92%E7%BA%BF%E7%AC%A6%E5%8F%B7.png)
作为巴西人,我希望我的美式键盘使用死键并将变音符 (ç) 映射到' + c。默认映射给我C对于基于 GTK 的应用程序,可以通过设置以下环境变量轻松实现此设置:
GTK_IM_MODULES=cedilla
但是,对于基于 Qt 的应用程序(例如 KWrite),相同的方法不起作用:
QT_IM_MODULES=cedilla #doesn't work!
Qt 应用程序将继续打印ć。如何调试和修复此问题?
注意:请不要建议给出的方法这里. 打字AltGr + c对于巴西人来说感觉很陌生,而 GTK 解决方案效果很好。
答案1
创建一个包含以下内容的文件~/.XCompose
应该可以解决问题:
include "%S/en_US.UTF-8/Compose"
<dead_acute> <C> : "Ç"
<dead_acute> <c> : "ç"
但是,这仅在应用程序读取 XCompose 文件 ( /usr/share/X11/locale/...
) 时才有效。这不是 X 服务器设置,但实际上取决于应用程序,请参阅Gilles 在 UNIX.SE 上回答寻找一种方法来查明应用程序是否正在读取这些文件。