CentOS6.1でセルビア語のラテン語キーボードを使用しています。Alt Gr+を押すNと}が表示されます。NetBeansを除いて、どこでも。
また、角かっこ[]{}または\|を入力できません。誰かがこれに対する解決策に出くわしましたか?
中括弧やその他の記号ごとにキーボードを変更することはできません。
実際には、これは 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 ファイルにパッチを適用することもできます。
解決策は、Sun/Oracle Java をインストールし、NetBEans を再インストールすることでした。