8

Android(ics)に接続されているUSBマウスを右クリックすると、常に「戻る」ボタンとして指定されますか?私はそうではないところに1つのタブレットを持っています。

ステータスバーを削除しても、USBマウスでタブレットを使用できるようにしたい。

誰かがAndroidで動作を設定する場所/方法を知っていますか?

4

1 に答える 1

15

遅い答えですが、答えはイエスです。このタイプのインターネット上の唯一のトピックであるため、このトピックについてもう少し詳しく説明します。

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

これは、電話や通常のアプリにとっては非常に優れた機能です。ただし、2つのタイプの人々は、この機能を異なる方法で実装することを望んでいます。Modder、およびアプリ開発者。

Moddersの修正:ルート化されたデバイス(およびロックされていないadbを持つかなりの数のアンダードッグデバイスではルート化されていない可能性があります)で、Generic.klの下を観察し/system/usr/keylayoutます。フラグを検索します。フラグKEY_BACKにリンクされている複数の行に複数のキーコードがある可能性があります。私にとって、それは旗をkey 158持っていました。WAKE_DROPPED一般的な「右クリック」機能の場合、戻るキーとメニューキーの番号コードを入れ替える必要があるため、マウスが戻るキーコマンドを送信すると、システムは実際にメニューキーコマンドを実行します。戻るためのデバイスのハードウェアキー(ラベル付きメニューキー)。はい、これにより携帯電話のハードウェアキーが逆になりますが、ROM全体を再構築することなく最も簡単な解決策です。これが企業または専門家の目的である場合は、次の記事を参照してください。マウスイベントのオーバーライドカーネルレベル。実際には、参照したプロシージャをオーバーライドするXposedモジュールを作成することをお勧めします。それ以外の場合は、キーコードを再マップする方法を調べてください。申し訳ありませんが、ここで簡単な記事を見つけることができませんでした。

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

これがそのような特定のトピックを探求する人に役立つことを願っています!:)

于 2015-03-27T22:18:40.427 に答える