0

CentOS6.1でセルビア語のラテン語キーボードを使用しています。Alt Gr+を押すNと}が表示されます。NetBeansを除いて、どこでも。

また、角かっこ[]{}または\|を入力できません。誰かがこれに対する解決策に出くわしましたか?

中括弧やその他の記号ごとにキーボードを変更することはできません。

4

2 に答える 2

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

など(はい、コロンの有無にかかわらず、ロケールごとに2行。1つは古いプログラムで使用され、もう1つは新しいプログラムで使用されます。しかし、どれがどれであるかは覚えていません)

使用するロケールの行が必要です (「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 を設定します。または、compose.dir (および locale.dir および/または locale.alias) ファイルを編集 (root になる必要があり、X11 の更新ごとに行う必要があります) し、en_US.UTF-8 行をコピーして、ロケールに適応させます。ディストリビューションに報告して、ディストリビューションが提供するすべてのロケールで適切に機能するように、.dir/ .alias ファイルにパッチを適用することもできます。

于 2013-02-20T10:32:11.060 に答える
1

解決策は、Sun/Oracle Java をインストールし、NetBEans を再インストールすることでした。

于 2012-05-28T07:29:36.610 に答える