1

ハードウェア キーボードを利用するように ConnectBot を変更していて、すべての Ctrl-? 押します。アルファベットのメニュー ショートカット (コピー用の Ctrl-C など) をすべて無効にしましたが、キーの押下はまだ onKey イベントによって受信されていないようです。

私はAndroid開発にかなり慣れていません(文字通り今日ConnectBotを修正してハードウェアキーボードを処理するために始めました)、Googleのクイック検索ではCtrl-のキャプチャについて何も出てこないようです? キーを押します。

これらを直接 onKey ハンドラに渡すように Android に指示するにはどうすればよいですか?

4

1 に答える 1

1

keyCode が正しい文字値 (「C」など) に設定されていることがわかります。ただし、CTRL が保持されていたため、getUnicodeChar() の結果は 0 でした。

必要なのは、押されているメタキーに関係なく、Unicode 文字を取得するための処理を追加することだけでした。

if (event.isCtrlPressed())
    event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);

その後、送信されるキー データに「CTRL が押されている」という情報をエンコードする必要がありましたが、これは ConnectBot コードによって既に提供されている機能でした。

于 2012-09-09T07:05:57.593 に答える