2012-04-06 7 views
6

アンドロイドに接続されたUSBマウスを右クリックすると、いつも「戻る」ボタンとして指定されていますか?私は1つのタブレットを持っています。Android USBマウスの右クリックで正しい動作(ICS)

ステータスバーを削除しても、そのままUSBマウスでタブレットを使用できます。

誰もがアンドロイドで動作を設定する場所と方法を知っていますか?

+0

タブレットのモデル/メイクを指定してください。 –

+0

これは中国の工場からの無名ブランドでした。彼らは間違いを犯したと思われ、当時、私は標準的な振る舞いが何を意味するのか分からなかった。彼らはバットから間違いとしてそれを認めなかったので。ありがとう。 –

答えて

9

遅くとも答えは「はい」です。このタイプのインターネット上ではトピックであるので、このトピックに関するいくつかの詳細を提供します。

デフォルト動作: Androidはこれをバックボタンとして扱い、目に見える例外はありません。

これはの電話機と通常のアプリでは非常に便利な機能です。しかし、2つのタイプの人々は、この機能を別々に実装したいと考えています。モデダー、アプリ開発者

改造マニア修正:根付いデバイス(およびロック解除ADBとかなりの数の弱者デバイスのための潜在的に無根)で、/system/usr/keylayoutGeneric.klを観察します。フラグKEY_BACKを検索すると、複数のキーコードがリンクされている可能性があります。私のためにはフラグを持つkey 158でした。一般的な「右クリック」機能では、バックキーとメニューキーの番号コードを交換したいので、マウスがバックキーコマンドを送信すると、システムは実際にメニューキーコマンドを起動し、デバイスのハードウェアキー(ラベル付きメニューキー)を使用して戻ります。はい、これは携帯電話のハードウェアキーを元に戻しますが、ROM全体を再構築するのが一番簡単な方法です。これが企業や専門職のためのものであれば、Overriding Mouse Events Kernel-Levelの記事をご覧ください。実際には、参照されたプロシージャをオーバーライドするXposedモジュールを作成することをお勧めします。それ以外の場合は、キーコードを再マップする方法を調べてください。申し訳ありませんが、ここでは簡単な記事は見つかりませんでした。

アプリケーション開発者の修正:非ルート:アプリケーション内のバックキーを上書きしてtrueを返します。 onBackPressed()オーバーライドでは、必要な右クリック機能を実行します。シンプル!あなたはPCのようなコンテクストメニュー機能を望んでいる可能性が高いので、ルートビューに適用されたMotionEventリスナーをevent.getRawX()で、マウスをどこにあるかを追跡する必要があります。変数。次に、上下の余白を設定してコンテキストメニュー(ListViewまたはVerticalLinearLayoutのサイズ)をカーソルの下に置き、表示するように設定できます。マウスの右ボタンをクリックして、オブジェクトを削除したり、コピーしたりするなど、レイアウト内のオブジェクトに二次的な機能を実行させたい場合は、保存されているマウスがどのオブジェクトをホバリングしているかを手動で把握する必要があります。影響を受けるすべてのオブジェクトにリスナーをMotionEvent.ACTION_HOVER_ENTER追加し、onBackPressed()関数が呼び出されたときに使用するオブジェクトIDをグローバル変数に格納する必要があります。 (私は時間があるときにコードを提供します!)

これは、このような特定のトピックを探索するのに役立ちます。 :)

+0

あなたのアクティビティクラスで 'boolean onKeyDown(int keyCode、finalKeyEvent event)'と 'onKeyUp'をオーバーライドし、' if(keyCode == KeyEvent.KEYCODE_BACK && event.GetSource()== InputDevice.SOURCE_MOUSE)をチェックすることもできます。 ..'USBマウスによって生成されたキー押下をフィルタリングするが、あなたの電話のBackキーを通常通り処理する。 – pelya

+0

それはそれについてもっと具体的な方法です。共有ありがとう! –

関連する問題