0

我在 CentOS 6.1 上使用塞尔维亚拉丁语键盘。当我按Alt Gr+时N,我得到 }。无处不在,除了在 NetBeans 中。

此外,我无法输入任何括号 []{} 或 \|。有没有人遇到过这个问题的解决方案?

不能为每个大括号或其他符号更改键盘。

4

2 回答 2

1

解决方案是安装 Sun/Oracle Java,然后重新安装 NetBEans。

于 2012-05-28T07:29:36.610 回答
1

实际上它是一个 X11/distro 错误。

KDE 或 GTK 应用程序使用它们自己的键盘机制,因此它们不会显示该问题;但是java(以及netbeans)使用X11键盘机制进行输入。

问题在于 X11 如何处理您的语言环境。如果设置正确,它可以工作;如果不是,它不会。X11 没有任何“默认”规则;如果 X11 不知道您的语言环境,那么您将一无所有。此外,X11 语言环境支持也没有太多更新。

X11,为了允许正确的 altgr/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

(again, duplicate with and without colon)

To solve your problem, you can either set LC_ALL=en_US.UTF-8 before launching java programs; or edit (you need to be root, and do it at each X11 update) the compose.dir (and locale.dir and/or locale.alias) files, copy the en_US.UTF-8 lines and adapt to your locale. You can also report to your distro so they patch those .dir/.alias files to work properly for all locales provided by the distro.

于 2013-02-20T10:32:11.060 回答