AndroidのFramework調査 第4回 InputManager

 アプリ開発者にはなじみ深いキーやタッチイベントですが、いったいどこから飛んでくるのでしょうか。
今回はキーイベントや、タッチイベントをフレームワーク側で取得するまでの部分を記載します。

確認バージョン

Android 2.3.5

イベントの取得に関することは、InputManagerにて行われています。
Key、Touch、Trackball、Switch(スライドキーボードのオープン・クローズ)など、さまざまなデバイス
イベントを取得し、正しい配信先に配信するのが仕事です。

InputManagerの実体はNative層に存在し、InputReaderThreadとInputDispatcherThreadの二つのThreadを持っています。
それぞれ、イベントの読み込み、イベントの配信を行うThreadです。

記載するのはInputReaderThread側の処理です。

クラス図