3

私はいくつかの BlackBerry アプリを作成しましたが、現在、低レベルの方法でハードウェア (キーボード) にアクセスする必要があるアプリを作成しようとしています。 「公式」ボードで。

問題は、Blackberry キーボードで「$」キーがいつ押されたかをいつでも知る必要があるため、アプリ (または常駐サービス) がそれをキャッチして、「$」文字の表示を停止し、ユーザーは次に母音を押し、その母音にアクセントを追加します...そして別のキーを押すと、「$」文字+他の文字を送り返すだけです。

つまり、'$' + 'a' = á

つまり、一般的な非 US PC キーボードが機能するのと同じように、「$」キーをアクセント キーに変換するアプリまたはサービスを作成する必要があります。

ここで問題があります。Blackberry OS 全体が Java 仮想マシンの下で動作します (JVM を実際の OS にするようなものです)。ご想像のとおり、このアプリ用に作成されたすべてのアプリは Java で作成されています。

開発者が特定の Blackberry 機能と機能にアクセスできるように、Java 実装に特別な Blackberry API ライブラリのセットがあることは明らかですが、特定のタスクを達成するために使用できるものはないようです。

しかし、私はまだ Blackberry プログラミングに慣れていないので、まだ見つかっていません。

そのため、そのメモでは、どんな助けやコメントも大歓迎です。

――ガブリエル・アロンソ。

4

3 に答える 3

1

キー イベントを取得するには、画面にフォーカスが必要です。

RIM は、セキュリティ上の理由から、ハードウェアへの低レベル アクセスを許可していません。

文字キーを押したままサムホイールを回すと、国際/アクセント文字、方程式記号、およびその他の記号がスクロールされます。

ソースはこちら

于 2010-02-16T01:21:46.680 に答える
0

大変遅いお返事ですが…

keyChar (画面のメンバー、および KeyListenerInterface のメンバー) を使用して任意のキーをインターセプトできます。最初の文字については、押されたキーをキャプチャします。それが「$」の場合は、それを保持し、super.keyChar を呼び出さないでください。$ が以前に押された場合は、次の keyChar (または入力なしの遅延の後) でマッピングを実行し、設計された文字コードを super.keyChar 呼び出しに送信します。keyChar に実装上の問題がある場合は、keyDown と keyUp を同様に使用できます。

于 2010-10-21T20:27:03.170 に答える
0

Blackberry は、特定の API を使用する場合、アプリケーションの実行を許可しません。低レベルのプログラミングは言うまでもありません。

アプリケーションでキーパッド処理に使用できるのは、Java の可能性だけです。KeyListener インターフェイスや Keypad クラスと同様です。

于 2010-02-15T23:40:07.027 に答える