2012-02-06 6 views
0

アンドロイドアプリケーションでマウスイベント(ポインタのクリックや移動など)を生成したいと考えています。この種の実装について多くの研究を行い、最終的には、これをアームアセンブリレベルから行う唯一の方法であることがわかりました。 jniを使用してCルーチンを呼び出すと、これらのCルーチンにはインラインのアセンブリコードがあります。しかし、マウスのイベントを生成するアーム・プロセッサーに割り込みを使用することについては問題があります。私は、intelチップセットでは、 "int 33h"割り込みがマウスイベントを処理することを知っています。アームプロセッサのマウス機能の中断や使用方法を教えてもらえますか?アンドロイドアプリケーションのCでのアームアセンブリでのマウスイベントの実装方法

ありがとうございました。

+0

'monkey'アプリケーション(http://developer.android.com/guide/developing/tools/monkey.html)がマウスイベントをどのように注入するのか調べましたか?私はそれが/ devデバイスを使用していると信じています。 –

答えて

0

私はこれを実装しましたが、ちょっと難しいです。普遍的な方法で動作させるにはあまりにも多くの "if"があるので、私はこのアプリを公開しないことに決めました。適切なデータを正しい/ dev/deviceに送信する必要があります。デバイス名/番号は製造元によって異なりますので、デバイスを列挙してその名前に基づいて一致するものを検索する必要があります。また、root特権を持つネイティブのLinuxアプリ(JavaやNDKではなく)として実行する必要があります。まず、Linuxがどのようにタッチ入力とマウス入力で動作するかを見てみましょう。

+0

/dev/mouseに送信される正しいデータは何ですか?私はこのマウスの問題にどう対処しなければならないかを少なくとも理解し始めたと思います。ありがとう –

関連する問題