2016-07-04 21 views
1

私はAndroidデバイスを操作するためにBluetoothマウスを使用しています。マウスの移動量を取得したいと思います。 カーソルが画面外に出ると、Android-OSカーソル座標が画面の内部に自動的に変更されます。だから私は問題がある。AndroidアプリケーションでBluetoothマウス(Androidに接続する)の動きをどのように取得するのですか?

PCを使用しているときに、カーソル座標をPC画面の中央に移動し、マウスを(手で)移動させます。(After x - Before x)は移動量です。それはすべてのフレームで繰り返されます。 しかし、ルーピングされていないAndroid(セキュリティ上の問題)では、ムービングカーソルの方法は使用できません。

ここでは、この方法で移動量を取得します。マウス(接続PC) - >(ブルートゥース) - > PC - >(UDP) - >スマートフォン。しかし、これは高速ではありません(最大約3000msの待ち時間)... そして、ブルートゥースマウスははんだ(ハック)には小さすぎます... NDKを使用すると、AMOTION_getRawX()は画面上の座標を返します...

私はAndroidアプリケーションでマウスの動きの量を取得したいと思います。 私を助けてください。

答えて

1

私はそれを解決しました!

「Android端末エミュレータ」アプリ(ADBを起動する)とADBコマンドadb shell getevent -lt /dev/input/event5を使用しました。
event5多分あなたのデバイスに変更するので、あなたはそれがすべてのイベントログがREL_XREL_Yが含ま伝えadb shell getevent -i

を使用して確認してください。(リアルタイム)
をマウスの移動量があります。
カーソルがエッジの場合は問題ありません。

この16進文字列値をintに変換しました。
int d = (int)Long.parseLong(hexValue, 16);

関連する問題