2011年5月27日金曜日

AndroidStudyMemo (Resource)=Android hack wiki

http://www.android-hack.org/wiki/index.php/Frameworks/base/libs/ui

 

Frameworks/base/libs/ui

提供:Android hack wiki

移動: 案内, 検索

frameworks/base/libs/ui ディレクトリには UI 関連の native コードが含まれる。

このディレクトリにあるファイルは、libui というライブラリとして生成される。

TODO: このライブラリを使っているのは誰か?

EventHub : Input デバイス処理

Inputデバイスの処理

Android の Input デバイスの処理は、EventHub で行っている。ヘッダは include/ui/EventHub.h、実装コードは EventHub.cpp

参考: http://kobayuta.blog47.fc2.com/blog-entry-182.html

初期化処理

イベントの取得は EventHub::getEvent() で行うが、これが最初に呼ばれたときに初期化処理が行われる。初期化処理本体は EventHub::openPlatformInput() にある。

openPlatformInput() は、/dev/input ディレクトリをスキャンしてデバイスを見つける。

device_path (=/dev/input) を scan_dir() を使ってスキャンする。

デバイスが見つかると、open_device() を呼び出してデバイスをオープンする。

EventHub を使用している人

  • frameworks/base/services/jni/com_android_server_KeyInputQueue.cpp
  • external/quake/standalone/main.cpp

 

0 件のコメント:

コメントを投稿