组合键序列导致错误字符

组合键序列导致错误字符

我尝试使用组合键序列输入字母“Ć”和“ć”,但它们似乎不起作用:

  • Compose,,,结果C是“ç”,没问题
  • Compose, ,, Shift+C结果是“Ç”,这也很好
  • Compose, ', C(即小写的“c”)结果是“ç”,即不是很好,不应该
  • Compose, ', Shift+C什么都不做,这也不好,它应该是“Ć”

结果如下grep "LATIN .* LETTER C WITH CEDILLA$" /usr/share/X11/locale/en_US.UTF-8/Compose

<dead_cedilla> <C>                      : "Ç"   Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<Multi_key> <comma> <C>                 : "Ç"   Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<Multi_key> <C> <comma>                 : "Ç"   Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<Multi_key> <cedilla> <C>               : "Ç"   Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA
<dead_cedilla> <c>                      : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <comma> <c>                 : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <c> <comma>                 : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA
<Multi_key> <cedilla> <c>               : "ç"   ccedilla # LATIN SMALL LETTER C WITH CEDILLA

结果如下grep "LATIN .* LETTER C WITH ACUTE$" /usr/share/X11/locale/en_US.UTF-8/Compose

<dead_acute> <C>                        : "Ć"   U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<Multi_key> <acute> <C>                 : "Ć"   U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<Multi_key> <apostrophe> <C>            : "Ć"   U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<Multi_key> <C> <apostrophe>            : "Ć"   U0106 # LATIN CAPITAL LETTER C WITH ACUTE
<dead_acute> <c>                        : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <acute> <c>                 : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <apostrophe> <c>            : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE
<Multi_key> <c> <apostrophe>            : "ć"   U0107 # LATIN SMALL LETTER C WITH ACUTE

这是我的键盘布局:

setxkbmap -layout us \
    -variant dvp \
    -option compose:ralt \
    -option keypad:atm \
    -option numpad:shift3 \
    -option altwin:meta_win \
    -option kpdl:semi

这是我的内容.Xmodmap

clear Lock
keycode 0x42 = Escape

我该如何修复映射以便能够按照正确的顺序输入 ć 和 Ć?

答案1

这可能是由 GTK+ 引起的,即错误 705168。GTK+ 覆盖了 X11 编写规则,因此您输入的任何内容都/usr/share/X11/locale将被默认忽略。

您可以耐心等待错误修复,但我建议您改用 X 输入法。这将确保 GTK+ 应用程序使用与所有其他应用程序相同的输入法,并正确解析您的语言环境规则。这就像在您的文件中Compose添加行一样简单。export GTK_IM_MODULE='xim'~/.xprofile

相关内容