Java Platform, Standard Editionトラブルシューティング・ガイド
目次      

10.3 キー・イベント

このセクションでは、キー・イベントの処理に関連する問題について説明します。

現在解決されていないキーボードの問題は、次のとおりです。

  • 一部の非英語キーボードではキートップに特定のアクセント・キーが刻印されており、したがってそれらはプライマリ・レイヤーの文字です。ところが、それらに対応するJavaキー・コードがないため、ニーモニックとして使用できません。

  • 実行時にデフォルトのロケールを変更しても、メニューのアクセラレータ・キーとして表示されるテキストが変更されません。

  • 標準109キー日本語キーボードでは、円記号キーとバックスラッシュ・キーのどちらの場合もバックスラッシュが生成されますが、これは両者のWM_CHARメッセージの文字コードが同じであるためです。AWTはそれらを区別すべきです。これは将来のリリースで修正される予定です。

Oracle Solaris 10およびLinux x86システムに関係するキーボードの問題を次に示します。

  • これらのシステムでのキーボード入力は通常、X Window SystemのXキーボード拡張(XKB)に基づいています。ユーザーは、1つのキーボード・レイアウト(例: デンマーク語のdk)のみを構成することも、いくつかのレイアウト(例: usdk)を構成して切り替えることもできます。

  • skhuczなどの一部のキーボード・レイアウトでは、数値入力キーパッドの小数点を押したときに、小数点の入力だけでなく1つ前の文字の削除も行われます。その原因はネイティブのバグにあります。回避方法は、usskなど、2つのレイアウトを使用することです。この場合、どちらのレイアウトでも数値入力キーパッドは正しく動作します。

  • キーボードの動的変更をサポートするUNIXシステム上で、実行中のJavaアプリケーションはそのような変更を認識しません。たとえば、キーボードをUSからドイツ語に変更しても、キーボード・マッピングは変更されません。Xサーバーはその変更を検出して対象クライアントにMappingNotifyイベントを送出しますが、AWTはキー・コード - キーシム・マッピングの情報をリフレッシュしません。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.