我在CentOS 6.1上使用塞尔维亚拉丁语键盘。当我按 Alt Gr + N 时,我得到}。无处不在,除了NetBeans。
另外,我无法输入任何括号[] {}或\ |。有人遇到过解决方案吗?
不能选择更换每个大括号或其他符号的键盘。
答案 0 :(得分:1)
解决方案是安装Sun / Oracle Java,然后重新安装NetBEans。
答案 1 :(得分:1)
实际上它是一个X11 /发行版错误。
KDE或GTK应用程序使用自己的键盘机制,因此它们不会显示该问题; 但是java(以及netbeans)使用X11键盘机制进行输入。
问题在于X11如何处理您的语言环境;如果设置得当它起作用;如果不是,它不会。 X11没有任何“默认”规则;如果你的语言环境不知道X11,你什么都没有。 此外,X11语言环境支持也没有太多更新。
X11,为了允许正确的altgr / compose规则必须加载正确的“Compose”文件。 它根据区域设置加载(或不加载):在/usr/share/X11/locale/compose.dir文件中(您的路径可能不同)有以下行:
en_US.UTF-8/Compose en_US.UTF-8
en_US.UTF-8/Compose sr_CS.UTF-8
en_US.UTF-8/Compose: en_US.UTF-8
en_US.UTF-8/Compose: sr_CS.UTF-8
等。 (是的,每个语言环境有两行,有和没有冒号;一个用于旧程序,另一个用于新程序;但我不记得哪个是哪个)
您使用的语言环境必须有一行(使用“locale”命令显示)。 请注意,如果系统使用“en_US.utf8”之类的区域设置,则必须有别名 (在locales.alias文件中);类似的东西:
sr_CS.utf8 sr_CS.UTF-8
...
sr_CS.utf8: sr_CS.UTF-8
(同样,有或没有结肠复制)
要解决您的问题,您可以在启动java程序之前设置LC_ALL = en_US.UTF-8;或编辑(您需要是root,并在每次X11更新时执行)compose.dir(和locale.dir和/或locale.alias)文件,复制en_US.UTF-8行并适应您的语言环境。 您还可以向发行版报告,以便他们修补这些 .dir / .alias文件,以便为发行版提供的所有语言环境正常工作。